components: schemas: Contents: properties: all_aliases_valid: description: 'Whether a valid SSL certificate exists on the domain''s aliases. * `1` — A valid SSL certificate exists. * `0` — A valid SSL certificate does **not** exist. **Note:** This 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. * `1` — A valid SSL certificate exists or AutoSSL runs. * `0` — A valid SSL certificate does **not** exist and AutoSSL does **not** run. **Note:** This 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. * `1` — Enabled. * `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. * null — The account does **not** use IPv6.' format: ipv6 nullable: true type: string is_https_redirecting: description: 'Whether the domain redirects to `https`. * `1` — The domain redirects to `https`. * `0` — The domain does **not** redirect to `https`. **Note:** This 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. * `1` — The domain is temporary. * `0` — The domain is not temporary.' enum: - 1 - 0 type: integer no_cache_update: description: 'Whether the domain is subject to cache updates. * `1` — The domain updates caches. * `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: * `addon_domain` — The domain is an addon domain. * `sub_domain` — The domain is a subdomain. * `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. * `On` — Use the domain''s CNAME. * `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) setting. * `1` — Enabled. * `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. * `1` - Expired account invitation exists. * `0` - Expired account invitation does **not** exist.' enum: - 0 - 1 example: 0 type: integer has_invite: description: 'Whether an account login invitation exists. * `1` - Account invitation exists. * `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 this 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. * `1` - Can delete. * `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. * `1` - Can change. * `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. A 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. * `1` - Expired account invitation exists. * `0` - Expired account invitation does **not** exist.' enum: - 0 - 1 example: 0 type: integer has_invite: description: 'Whether an account login invitation exists. * `1` - Account invitation exists. * `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. * `1` - Shares. * `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. * `email` * `ftp` * `webdisk`' enum: - email - ftp - webdisk example: email type: string type: description: 'The type of issue. * `error` * `warning` * `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. * `sub` - A subaccount. * `hypothetical` - A hypothetical subaccount that does **not** yet exist, but the user could create as part of a merge. * `null`- **Not** a merge candidate.' example: hypothetical type: string phone_number: description: 'The subaccount user''s phone number. The 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. * A first name, a last name, or a first name and last name. * 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. * `1` - Can access. * `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. * `1` - Can access. * `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. * A positive integer between `1` and `999999` * `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. * `1` - Can access. * `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. * `ro` - Read-only permissions. * `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. * `1` - Private (`0700`). * `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. * `1` - A special account. * `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. * `sub` - A subaccount. * `hypothetical` - A hypothetical subaccount that does **not** exist, but that the user could create as part of a merge. * `service` - A service account. * `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. * `1` - Can delete. * `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. * `1` - Can change. * `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. A 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. * `1` - Expired account invitation exists. * `0` - Expired account invitation does **not** exist.' enum: - 0 - 1 example: 0 type: integer has_invite: description: 'Whether an account login invitation exists. * `1` - Account invitation exists. * `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. * `1` - Shares. * `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. * `email` * `ftp` * `webdisk`' enum: - email - ftp - webdisk example: email type: string type: description: 'The type of issue. * `error` * `warning` * `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. * `sub` - A subaccount. * `hypothetical` - A hypothetical subaccount that does **not** yet exist, but the user could create as part of a merge. * `null`- **Not** a merge candidate.' example: hypothetical type: string phone_number: description: 'The subaccount user''s phone number. The 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. * A first name, a last name, or a first name and last name. * 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. * `1` - Can access. * `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. * `1` - Can access. * `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. * A positive integer between `1` and `999999` * `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. * `1` - Can access. * `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. * `ro` - Read-only permissions. * `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. * `1` - Private (`0700`). * `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. * `1` - A special account. * `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. * `sub` - A subaccount. * `hypothetical` - A hypothetical subaccount that does **not** exist, but that the user could create as part of a merge. * `service` - A service account. * `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. * `1` — A valid SSL certificate exists. * `0` — A valid SSL certificate does **not** exist. **Note:** This 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. * `1` — A valid SSL certificate exists or AutoSSL runs. * `0` — A valid SSL certificate does **not** exist and AutoSSL does **not** run. **Note:** This 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) information.' properties: format: description: 'The [log file](https://httpd.apache.org/docs/2.2/mod/mod_log_config.html#logformat)''s format.' 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. * `1` — Enabled. * `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. * null — The account does **not** use IPv6.' format: ipv6 nullable: true type: string is_https_redirecting: description: 'Whether the domain redirects to `https`. * `1` — The domain redirects to `https`. * `0` — The domain does **not** redirect to `https`. **Note:** This 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. * `1` — The domain updates caches. * `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. * `main_domain` is the only possible value.' enum: - main_domain type: string usecanonicalname: description: 'The domain''s Canonical Name (CNAME) setting. * `On` — Use the domain''s CNAME. * `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) setting. * `1` — Enabled. * `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. * `1` - Enabled. * `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. **Note:** The `_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. * `1` — We recommend the product. * `0` — We do not recommend the product.' enum: - 0 - 1 example: 1 type: integer requires_ip: description: 'Whether the product requires an IP address. * `1` — Requires an IP. * `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: * `record` - A resource record. * `control` - A control statement. * `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. * `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. **Note:** We have not implemented this return.' items: properties: id: description: 'The restore process''s unique ID. * `null` is the only possible value. * 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. * `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. * `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. * The error message from the restoration log database. * `null` - No occur occurred.' nullable: true type: string have_outcome: description: 'Whether the restoration log shows a successful attempt previously occurred, successfully or unsuccessfully. * `1` - Restoration attempt occurred. * `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. * `success` - Successful restoration. * `error` - The attempted restoration resulted in an error. * `terminated` - The system stopped the restoration process. * `timeout` - The restoration process exceeded the allowed time limit. * `low-disk` - The server''s disk space was insufficient to complete the restoration. * `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. **Note:** * This function returns an empty array when there is **not** an active backup restoration. This is the only possible value. * 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. * `checkout` — Collect payment and finalize immediately after checkout. Any failures to issue the certificate must prompt a separate refund. * `issuance` — Collect payment when the provider issues the certificate to the user. **Note:** For 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. * `1` — Uses per-domain pricing. * `0` — Does **not** use per-domain pricing.' enum: - 0 - 1 type: integer x_supports_dns_dcv: description: 'Whether this product supports DNS-based DCV. * `1` — Supports DNS DCV. * `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. * `1` — The domain does include its parent domain. * `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. ** Note: ** A 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. ** Note: ** We 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. ** Note: ** A 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. * `1` - Can delete. * `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. * `1` - Can change. * `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. * `1` - Shares. * `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. * `sub` - A subaccount. * `hypothetical` - A hypothetical subaccount that does not yet exist, but the user could create as part of a merge. * `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. * A first name, a last name, or a first name and last name. * 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. * `1` - Can access. * `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. * `1` - Can access. * `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. * `1` to `999999` - The maximum disk space that the subaccount may use, in megabytes (MB). * `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. * `1` - A special account. * `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. * `1` - Can access. * `0` - Cannot access.' enum: - 0 - 1 example: 0 type: integer enabledigest: description: 'Whether the subaccount''s Web Disk service has enabled Digest Authentication. * `1` - Digest Authentication is enabled. * `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. * `ro` - Read-only permissions. * `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. * `1` - Private (0700). * `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. * `1` - A special account. * `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. * `cpanel` - The cPanel account. * `hypothetical` - A hypothetical subaccount that does not exist, but that the user could create as part of a merge. * `service` - A service account. * `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. * `1` - Can delete. * `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. * `1` - Can change. * `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. * `1` - Dismissed. * `0` - Did **not** dismiss. **Note:** **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. * `1` - Shares. * `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. * `email` * `ftp` * `webdisk`' enum: - email - ftp - webdisk example: email type: string type: description: 'The type of issue. * `error` * `warning` * `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. * `sub` - A subaccount. * `hypothetical` - A hypothetical subaccount that does **not** yet exist, but the user could create as part of a merge. * `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 [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, 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. * `1` - Can access. * `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. * `1` - Can access. * `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). * A string containing a non-negative float. * `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. * `1` - Can access. * `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. * `ro` - Read-only permissions. * `rw` - Read and write permissions.' example: rw type: string private: description: 'Whether the subaccount''s Web Disk directory permissions are public or private. * `1` - Private (`0700`). * `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. * `1` - A special account. * `0` - **Not** a special account.' enum: - 0 - 1 example: 1 type: integer sub_account_exists: description: 'Whether a subaccount exists with the same username. * `1` - Exists. * `0` - Does not exist. **Note:** The 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. * `1` - Synchronized. * `0` - **Not** synchronized. **Note:** The 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. * `sub` - A subaccount. * `hypothetical` - A hypothetical subaccount that does not exist, but that the user could create as part of a merge. * `service` - A service account. * `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. * `standard` - The directory uses directory indexing with standard formatting. * `disabled` - The directory doesn''t use directory indexing. * `inherit` - The directory uses the system''s default settings. * `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. * `bounce` - The system rejected the email''s delivery. * `command` - The system will run a command when it receives an email. * `defer` - The system deferred the email. * `discard` - The system discarded the email. * `error` - The system encountered an error. * `local_delivery` - The system sent the email to a local mailbox. * `remote_delivery` - The system sent the email via Simple Mail Transfer Protocol (SMTP). * `routed` - The system routed the email elsewhere. **Note:** * The structure of the `destinations` return changes depending on the `type` return value. * The `routed` type can return any other type''s data structure as part of the `destinations` return value. For 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. **Note:** The 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. * `bounce` - The system rejected the email''s delivery. * `command` - The system will run a command when it receives an email. * `defer` - The system deferred the email. * `discard` - The system discarded the email. * `error` - The system encountered an error. * `local_delivery` - The system sent the email to a local mailbox. * `remote_delivery` - The system sent the email via Simple Mail Transfer Protocol (SMTP). * `routed` - The system routed the email elsewhere. **Note:** * The structure of the `destinations` return changes depending on the `type` return value. * 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 x-api-evangelist-provenance: 'Harvested verbatim from cPanel''s developer portal on 2026-09-05 via the MCP tool get-full-api-description at https://api.docs.cpanel.net/mcp. ONE mechanical change was made before storage: example values containing PEM private-key or certificate blocks, and AWS-access-key-shaped example strings, were replaced with REDACTED_* placeholders so the file can be stored in a public git repository without tripping secret scanning. No path, operation, parameter, schema or description was altered, added or removed.' 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. **Note:** To 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. * `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. * `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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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}\n\ else {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. * `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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# \ \ to .../frontend//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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($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//--------------------------------------------------------------------------------------\n\ function 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),\n\ the 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. This 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. * `1` - Remove dots from the subdomain label. * `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. The system still refuses to create a domain that another account owns. * `1` - Skip the checks and overwrite an existing zone. * `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. * `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# is the theme\ \ assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n// to .../frontend//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//--------------------------------------------------------------------------------------\n\ function 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. * `1` - Remove dots from the subdomain label. * `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. * `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# is the theme\ \ assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n// to .../frontend//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//--------------------------------------------------------------------------------------\n\ function 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 are parked on a subdomain of the account''s primary domain, rather than on the primary domain itself. **Note:** Use the `Park::listparkeddomains` function for the domains parked on the primary 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. * `1` - Include the HTTPS redirect status. * `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. * `1` - The system can redirect the addon domain. * `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. * `1` - The system redirects the addon domain. * `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. * `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# is the theme\ \ assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n// to .../frontend//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//--------------------------------------------------------------------------------------\n\ function 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. **Note:** * This value defaults to the remote server account''s default login directory. * 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. * `include` — Include the home directory in the backup. * `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 the remote server. For more information about FTP variants, read our How to [Enable FTP Passive Mode](https://go.cpanel.net/HowtoEnableFTPPassiveMode) documentation. * `active` — The FTP server responds to the connection attempt and returns a connection request from a different port to the FTP client. * `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. * `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# \ \ to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Note:** 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. * `include` — Include the home directory in the backup. * `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. * `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. **Notes:** * To generate a private SSH key, use the UAPI `SSL::generate_key` function. * To import an existing SSH key, use the cPanel API 2 `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. **Note:** This 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. **Note:** 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. * `include` — Include the home directory in the backup. * `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. * `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Note:** This 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. **Note:** 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. * `include` — Include the home directory in the backup. * `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. * `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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\n\ if ($response->{cpanelresult}{result}{status}) {\n my $data = $response->{cpanelresult}{result}{data};\n #\ \ Do something with the $data\n # So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to\ \ .../frontend//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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n//\ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When the [MySQL Client role](https://go.cpanel.net/howtouseserverprofiles#roles) is disabled, the system also **disables** this function. **Note:** You **must** pass either the `file` **or** `backup` parameter.' operationId: Backup-restore_databases parameters: - description: 'The database backup file to restore. **Important:** **Only** pass this parameter to restore files already on the server. **Note:** To 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. * `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. * `1` - Return additional information. * `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. **Important:** * **Only** pass this parameter to upload files that don''t already exist on the server. * You can **not** pass this parameter on the command line. **Note:** * To upload multiple database backup files, increment the parameter name. For example: `file-1`, `file-2`, and `file-3`. * Pass this file in a multipart/form-data structure. * 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 * `0` - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 Host: example.com:2083 Cookie: ################################### Content-Type: application/json Content-Length: 0 ' 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. **Important:** When the [Receive Mail role](https://go.cpanel.net/howtouseserverprofiles#roles) is disabled, the system also **disables** this function. **Note:** You **must** use the `backup` parameter when you call this function in one of the following formats: * As part of a `multipart/form-data` request body to upload and restore a backup file to the server. * 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. **Important:** **Only** pass this parameter to restore email filter files that already exist on the server. **Note:** To 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. * `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. * `1` - Return additional information. * `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. **Important:** * **Only** pass this parameter to upload files that don''t already exist on the server. * You can''t pass this parameter on the command line. **Note:** * To upload multiple email filter files, increment the parameter name. For example: `backup-1`, `backup-2`, and `backup-3`. * Pass this file in a multipart/form-data structure. * 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 * `0` - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 Host: example.com:2083 Cookie: ################################### Content-Type: application/json Content-Length: 0 ' 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. **Important:** When the [Receive Mail role](https://go.cpanel.net/howtouseserverprofiles#roles) is disabled, the system also **disables** this function. **Note:** You **must** use the `backup` parameter when you call this function in one of the following formats: * 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. * 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. **Important:** **Only** pass this parameter to restore email forwarder files that already exist on the server. **Note:** To 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. * `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. * `1` - Return additional information. * `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. **Important:** * **Only** pass this parameter to upload files that don''t already exist on the server. * You can''t pass this parameter on the command line. **Note:** To 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 * `0` - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 Host: example.com:2083 Cookie: ################################### Content-Type: application/json Content-Length: 0 ' 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. **Important:** When the [File Storage role](https://go.cpanel.net/howtouseserverprofiles#roles) is disabled, the system also **disables** this function. **Note:** You **must** use the `backup` parameter when you call this function in one of the following formats: * 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. * As a query parameter to restore an existing file on the server.' operationId: Backup-restore_files parameters: - description: 'The backup file to restore. **Important:** **Only** pass this parameter to restore backup files that already exist on the server. **Note:** To 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. * `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. * `1` - Return additional information. * `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. **Important:** * **Only** pass this parameter to upload files that don''t already exist on the server. * You can''t pass this parameter on the command line. **Note:** To 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 * `0` - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 Host: example.com:2083 Cookie: ################################### Content-Type: application/json Content-Length: 0 ' 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. * `ftp` * `imap` * `pop3` * `smtp` * `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. * `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($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//--------------------------------------------------------------------------------------\n\ function 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. - `daily` - `hourly` - `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. - `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($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//--------------------------------------------------------------------------------------\n\ function 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. **Note:** This 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: A pipe-separated list that contains one or both of the following parameters: * `domain` * `protocol` This parameter can also include only **one** of the following start time interval types: * `year` * `year_month` * `year_month_day` * `year_month_day_hour` * `year_month_day_mour_minute` **Note:** * This parameter accepts a maximum of three values. * 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. **Note:** * If you do not include this parameter, the function will return data for all domains on the cPanel account. * The `UNKNOWN` "pseudo-domain" refers to data recorded without a specific domain. All traffic except HTTP traffic is 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. * `daily` * `hourly` * `5min` **Note:** The interval''s retention period determines availability of the interval''s data. Use 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. * `http` * `imap` * `smtp` * `pop3` * `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. For example: * `domain` - Returns data by domain. * `domain|protocol` - Returns data by protocol and nests it within the object for each domain. * `domain|year` - Returns data by year and nests it within the object for each domain. * `year|domain` - Returns data by domain and nests it within object for each year. * `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. The deepest child object contains the bandwidth data in bytes. ' 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to .../frontend//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\n\ if ($response->{cpanelresult}{result}{status}) {\n my $data = $response->{cpanelresult}{result}{data};\n #\ \ Do something with the $data\n # So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n// \ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Note:** * If a function call in the list fails, the `Batch::strict` function does not run further function calls in the list. * 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: * The UAPI module. * The UAPI function. * 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. To submit multiple commands, duplicate the parameter name, or index all parameter names and increment the index for each one. * 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`. * 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`. * 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. For 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to .../frontend//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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n// to .../frontend//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\n\ if ($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//--------------------------------------------------------------------------------------\n\ function 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. **Important** When 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to .../frontend//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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n// to .../frontend//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\n\ if ($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//--------------------------------------------------------------------------------------\n\ function 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. **Important** When 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to .../frontend//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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n// \ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Warning:** If 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. - 0 - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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}\n\ else {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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. **Warning:** If 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. * `1` - Delete all messages resembling the `queuefile` parameter. * `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. **Note:** The 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. **Note:** The 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. **Note:** The 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. * `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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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}\n\ else {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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-deliver_messages parameters: - description: 'The sender''s cPanel account email address for which to deliver email messages. **Warning:** If 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 messages to deliver. **Note:** To 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. * `1` - Deliver all similar messages. * `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. * `deliver` * `deliverall`' enum: - deliver - deliverall example: deliverall type: string reason: description: 'A message about the failure or the warning. **Note:** 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 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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}\n\ else {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When you disable the [*Receive Mail* role](https://go.cpanel.net/serverroles), the system **disables** this function.' operationId: BoxTrapper-get_allowlist parameters: - description: 'A valid email address on the cPanel account. **Warning:** If you call this function in Webmail, the system overrides this parameter. This 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# \ \ to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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}\n\ else {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When you disable the [*Receive Mail* role](https://go.cpanel.net/serverroles), the system **disables** this function.' operationId: BoxTrapper-get_blocklist parameters: - description: 'A valid email address on the cPanel account. **Warning:** If you call this function in Webmail, the system overrides this parameter. This 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# \ \ to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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}\n\ else {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. **Warning:** If 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. * 1 - Enabled. * 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Warning:** If you call this function in Webmail, the system overrides this parameter. This 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. * `blacklist` * `returnverify` * `verifyreleased` * `verify` **Note:** For more information on each template, read our [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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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. **Important:** If 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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}\n\ else {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When you disable the [*Receive Mail* role](https://go.cpanel.net/serverroles), the system **disables** this function.' operationId: BoxTrapper-get_ignorelist parameters: - description: 'A valid email address on the cPanel account. **Warning:** If you call this function in Webmail, the system overrides this parameter. This 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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}\n\ else {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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. **Important:** If 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. **Note:** This 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. * 0 — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n//\ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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 )\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: \n\ Date: 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# \ \ to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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. **Important:** If 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. * `1` — Enabled. * `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. * 0 — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to\ \ .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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. * `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. - `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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}\n\ else {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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. * `blacklist` - BoxTrapper responds with this message when a blacklisted address sends an email. * `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. * `verifyreleased` - BoxTrapper responds with this message when a person responds to the verify message with an email or a click on the verification link. * `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 * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** If 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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}\n\ else {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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. * `deliver` — Deliver a specific message. * `deliverall` — Deliver all messages from a sender. * `delete` — Delete a message. * `deleteall` — Delete all messages from a sender. * `blacklist` — Blacklist the sender of an email message. * `whitelist` — Whitelist the sender of an email message. * `ignore` — Ignore email messages from a sender. **Note:** The 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. **Warning:** * The `email` parameter is required when this function is called **outside** of Webmail. * If you call this function in Webmail, the `email` parameter is **not** required, and the 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 processed an email message.' format: email nullable: true type: string failed: description: 'Whether the system failed to process the message. * `1` - The function failed to process the message. This is the only possible value. **Note:** The 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. * `deliver` - Delivered a specific message. * `deliverall` - Delivered all messages from a sender. * `delete` - Deleted a message. * `deleteall` - Deleted all messages from a sender. * `blacklist` - Blacklisted the sender of an email message. * `whitelist` - Whitelisted the sender of an email message. * `ignore` - Ignored email messages from a sender. **Note:** The 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. **Note:** The 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 * `0` - Failed. Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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}\n\ else {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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: * `blacklist` - BoxTrapper responds with this message when a blacklisted address sends an email. * `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. * `verifyreleased` - BoxTrapper responds with this message when a person responds to the verify message with an email or a click on the verification link. * `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. **Warning:** The `email` parameter is required when this function is called outside of webmail. If you call this function in Webmail, the `email` parameter is not required, and the 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 * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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. **Warning:** If 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. * `1` - Enable. * `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. * `1` - Whitelist. * `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. **Note:** This 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. - `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When you disable the [_Receive Mail_ role](https://go.cpanel.net/howtouseserverprofiles#roles), the system **disables** this function.' operationId: BoxTrapper-save_email_template parameters: - description: 'The template file''s contents. You can use [variables](https://go.cpanel.net/cpaneldocsBoxTrapper) in the template to include details about the original message. **Important:** * You **must** include `To: %email%` in this parameter''s value. * If you use the `verify` template, you **must** include `Subject: verify#%msgid%` in this parameter''s value. * This value cannot exceed four kilobytes (KB). * You **must** URI-encode this parameter''s value when using the CLI.' in: query name: contents required: true schema: example: 'To: %email% Subject: Re: %subject% The user %acct% does not accept mail from your address. The headers of the message sent from your address are shown below: %headers%' type: string - description: 'The account''s email address. **Warning:** If you call this function in Webmail, the system overrides this parameter. **Note:** This 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. * `blacklist` * `returnverify` * `verifyreleased` * `verify` **Important:** If you use the `verify` template, you **must** include `Subject: verify#%msgid%` in this parameter''s value. **Note:** For 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When you disable the [*Receive Mail* role](https://go.cpanel.net/serverroles), the system **disables** this function.' operationId: BoxTrapper-set_allowlist parameters: - description: 'A valid email address on the cPanel account. **Warning:** If you call this function in Webmail, the system overrides this parameter. This 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. **Note:** You can set multiple allowlist rules, duplicate or increment the parameter name. For example, `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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# \ \ to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When you disable the [*Receive Mail* role](https://go.cpanel.net/serverroles), the system **disables** this function.' operationId: BoxTrapper-set_blocklist parameters: - description: 'A valid email address on the cPanel account. **Warning:** If you call this function in Webmail, the system overrides this parameter. This 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. **Note:** You can set multiple block rules, duplicate or increment the parameter name. For example, `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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# \ \ to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. **Warning:** If you call this function in Webmail, the system ignores this parameter and uses the currently-authenticated email 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When you disable the [*Receive Mail* role](https://go.cpanel.net/serverroles), the system **disables** this function.' operationId: BoxTrapper-set_ignorelist parameters: - description: 'A valid email address on the cPanel account. **Warning:** If you call this function in Webmail, the system overrides this parameter. This 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. **Note:** You can set multiple ignore rules, duplicate or increment the parameter name. For example, `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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. **Warning:** If 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. * `1` - Enable BoxTrapper. * `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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to\ \ .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When you disable the [Receive Mail](https://go.cpanel.net/serverroles) role, the system **disables** this function. **Note:** To 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. **Note:** To get a list of filenames in an account''s BoxTrapper queue, use the UAPI `BoxTrapper::list_queued_messages` function. **Note:** To 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. **Warning** If 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. * `1` — The function failed to whitelist the message. This is the only possible value. **Note:** The 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. **Note:** The 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. * `1` — There was an issue whitelisting the message. This is the only possible value. **Note:** The 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 * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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}\n\ else {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. - 0 - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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, the output will include all of the applications that the `dynamicui.conf` file contains. **Note:** * This value must match an application''s `feature` value in the `dynamicui.conf` file. * 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 application feature. **Note:*** The property name corresponds to the name(s) specified in 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. For example, `$isreseller` indicates that the item **only** displays for reseller accounts. For more information, read our [Guide to cPanel Variables](https://go.cpanel.net/guidetovariables) documentation.' example: $is_reseller type: string imgtype: description: 'The item''s image type. * `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` 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: 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. * `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. * `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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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 groups. If you do not supply a value, the function does not sort the groups. **Note:** `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. **Note:** The 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 to display the item. The function **only** returns this value if any variables exist. For example, `$isreseller` indicates that the item **only** displays for reseller accounts. For more information, read our [Guide to cPanel Variables documentation](https://go.cpanel.net/guidetovariables).' example: $isreseller type: string imgtype: description: 'The item''s image type. `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. `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. `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. **Note:** This 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. For example, use this mapping to determine that the `implements` value `SSL_TLS_Status` maps to the Appkey value `tls_status`. **Note:** * The Appkey for an application can be found in the `key` attribute elsewhere in the API response. * The `implements` for an application can be found in the `implements` attribute elsewhere in the API response. * 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: * The first integer represents the group in which the application appears, starting at `0`. * The second integer represents the order in which the application appears in the group, starting at `0`. **Note:** The 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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 theme''s `sitemap.json` file.' operationId: Branding-get_information_for_applications parameters: - description: 'The absolute path to the directory containing the `sitemap.json` file. This 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** specify this parameter, the output will include all of the applications that the `sitemap.json` file contains. **Note:** This value **must** match an application''s `key` value in the `sitemap.json` file. 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: 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. **Note:** The 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 item, if any exist. For example, `$isreseller` indicates that the item **only** displays for reseller accounts. For more information, read our [Guide to cPanel Variables](https://go.cpanel.net/guidetovariables) documentation.' 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. `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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. The file may be a Template Toolkit (`.tt`) file or a standard HTML/image file. When the file is a Template Toolkit file, the system processes it and returns the rendered output. Otherwise, the system returns the file''s raw 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 Template Toolkit template when rendering a `.tt` file. This parameter is 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. * `1` — Return the raw file content. * `0` — Return HTML-encoded content. This is the default behavior. This 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. For Template Toolkit files, this is the processed template output. For other files, this is the raw or HTML-encoded file content.' example:
Welcome
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. - 0 - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n// \ \ to .../frontend//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\n\ header('Content-Type: text/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. **Note:** You **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. * `1` - Read-only access. * `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. - `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n// \ \ to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. **Note:** You **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. * `1` - Read-only access. * `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. - `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n//\ \ to .../frontend//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\n\ header('Content-Type: text/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}\n\ else {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. **Note:** You **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. - `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n// to .../frontend//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//--------------------------------------------------------------------------------------\n\ function 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. **Note:** You **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. - `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to\ \ .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n//\ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Note:** You **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. * `1` - Read-only access. * `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. - `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to\ \ .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n//\ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `1` — Shared. * `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. - `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 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# is the theme\ \ assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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\n\ if ($response->{cpanelresult}{result}{status}) {\n my $data = $response->{cpanelresult}{result}{data};\n #\ \ Do something with the $data\n # So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. - `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 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# is the theme\ \ assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($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//--------------------------------------------------------------------------------------\n\ function 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. - `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 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# is the theme\ \ assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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}\n\ else {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. * `1` — Operation succeeded. * `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. - `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 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# is the theme\ \ assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `1` — Removed. * `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. - `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 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# is the theme\ \ assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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\n\ if ($response->{cpanelresult}{result}{status}) {\n my $data = $response->{cpanelresult}{result}{data};\n #\ \ Do something with the $data\n # So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `1` — Shared. * `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. - `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 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# is the theme\ \ assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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\n\ if ($response->{cpanelresult}{result}{status}) {\n my $data = $response->{cpanelresult}{result}{data};\n #\ \ Do something with the $data\n # So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `email` — A regular email account. * `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. * `1` — Success. * `0` — Failed.' enum: - 0 - 1 type: integer type: description: 'The type of email address. * `email` — A regular email account. * `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 * `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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n//\ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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?`\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. * `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n// \ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n//\ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# \ \ to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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 - `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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: ' ' type: string header: description: The pages' header. 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 * `0` - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n// to .../frontend//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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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 of infected files. **Note:** You must run the APIs in this order: 1. Run [`ClamScanner::start_scan`](https://go.cpanel.net/ClamScanner-start-scan) to start the virus scan. 2. Run [`ClamScanner::get_scan_status`](https://go.cpanel.net/ClamScanner-get-scan-status) in a loop until the scan is finished. 3. Run [`ClamScanner::list_infected_files`](https://go.cpanel.net/ClamScanner-list-infected-files) to get a report of the complete list of infected files. 4. Decide how you want to handle each infected file. 5. Run [`ClamScanner::disinfect_files`](https://go.cpanel.net/ClamScanner-disinfect-files) to queue the disinfection of the files. 6. Run [`ClamScanner::check_disinfection_status`](https://go.cpanel.net/ClamScanner-check-disinfection-status) in a loop until you get a done status. If you want to display the progress, you can render the `ClamScanner::check_disinfection_status` returned ''result{data}{details}'' array where the `type` is `step`. Each `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. The API will return only the records after the specified `last_id`. If this parameter is not provided, the entire log is returned. **Note:** For improved performance, we recommend applications include the last record ID (last_id) from 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: * `deleted` - The file was deleted. * `error` - An error occurred while processing the file. * `mailbox-cleansed` - The mailbox was clear of viruses. * `no-action` - No action was taken on the file. * `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: * `error` - An error occurred while starting or finishing the disinfection. * `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: * `error` - An error occurred while processing the file. * `info` - The message is information only. * `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. * `none` - There is no disinfection scheduled. * `queued` - The disinfection is queued. * `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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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 for each infected file. **Note:** You must run the APIs in this order: 1. Run [`ClamScanner::start_scan`](https://go.cpanel.net/ClamScanner-start-scan) to start the virus scan. 2. Run [`ClamScanner::get_scan_status`](https://go.cpanel.net/ClamScanner-get-scan-status) in a loop until the scan is finished. 3. Run [`ClamScanner::list_infected_files`](https://go.cpanel.net/ClamScanner-list-infected-files) to get a report of the complete list of infected files. 4. Decide how you want to handle each infected file. 5. Run [`ClamScanner::disinfect_files`](https://go.cpanel.net/ClamScanner-disinfect-files) to queue the disinfection of the files. 6. 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. The value of the property is on of the following: * `cleanse_mailbox` — Cleanse the specified mailbox. * `delete` — Delete the file. * `quarantine` — Move the file to the quarantine directory. * `ignore` - Ignore the file. **Note** Only 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. If the last line is: `{ "status": "done" }` the requested files with viruses have be handled as requested. Use the /ClamScanner/check_disinfection_status API 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 Host: example.com:2083 Cookie: ################################### Content-Type: application/json Content-Length: 74 {"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. **Note**: The 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. **Note**: You must run the APIs in this order: 1. Run [`ClamScanner::start_scan`](https://go.cpanel.net/ClamScanner-start-scan) to start the virus scan. 2. Run [`ClamScanner::get_scan_status`](https://go.cpanel.net/ClamScanner-get-scan-status) in a loop until the scan is finished. 3. Run [`ClamScanner::list_infected_files`](https://go.cpanel.net/ClamScanner-list-infected-files) to get a report of the complete list of infected files. 4. Decide how you want to handle each infected file. 5. Run [`ClamScanner::disinfect_files`](https://go.cpanel.net/ClamScanner-disinfect-files) to queue the disinfection of the files. 6. 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 * `home` — The cPanel account''s entire home directory. * `mail` — The cPanel account''s email directory. * `public_html` — The cPanel account''s web directory. * `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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. **Note**: You must run the APIs in this order: 1. Run [`ClamScanner::start_scan`](https://go.cpanel.net/ClamScanner-start-scan) to start the virus scan. 2. Run [`ClamScanner::get_scan_status`](https://go.cpanel.net/ClamScanner-get-scan-status) in a loop until the scan is finished. 3. Run [`ClamScanner::list_infected_files`](https://go.cpanel.net/ClamScanner-list-infected-files) to get a report of the complete list of infected files. 4. Decide how you want to handle each infected file. 5. Run [`ClamScanner::disinfect_files`](https://go.cpanel.net/ClamScanner-disinfect-files) to queue the disinfection of the files. 6. 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. * `1` - scan has completed. * `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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. **Note**: You must run the APIs in this order: 1. Run [`ClamScanner::start_scan`](https://go.cpanel.net/ClamScanner-start-scan) to start the virus scan. 2. Run [`ClamScanner::get_scan_status`](https://go.cpanel.net/ClamScanner-get-scan-status) in a loop until the scan is finished. 3. Run [`ClamScanner::list_infected_files`](https://go.cpanel.net/ClamScanner-list-infected-files) to get a report of the complete list of infected files. 4. Decide how you want to handle each infected file. 5. Run [`ClamScanner::disinfect_files`](https://go.cpanel.net/ClamScanner-disinfect-files) to queue the disinfection of the files. 6. 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($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//--------------------------------------------------------------------------------------\n\ function 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. **Note**: You must run the APIs in this order: 1. Run [`ClamScanner::start_scan`](https://go.cpanel.net/ClamScanner-start-scan) to start the virus scan. 2. Run [`ClamScanner::get_scan_status`](https://go.cpanel.net/ClamScanner-get-scan-status) in a loop until the scan is finished. 3. Run [`ClamScanner::list_infected_files`](https://go.cpanel.net/ClamScanner-list-infected-files) to get a report of the complete list of infected files. 4. Decide how you want to handle each infected file. 5. Run [`ClamScanner::disinfect_files`](https://go.cpanel.net/ClamScanner-disinfect-files) to queue the disinfection of the files. 6. 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. * `home` — User''s entire home directory * `mail` — User''s email directory * `public_html` — User''s web directory * `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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# \ \ to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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 - 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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\n\ if ($response->{cpanelresult}{result}{status}) {\n my $data = $response->{cpanelresult}{result}{data};\n #\ \ Do something with the $data\n # So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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). To 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. If this list does not match the account’s current current email address(es), then the request will fail. This control is here to prevent race 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 is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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{cpanelresult}{result}{status}) {\n my $data = $response->{cpanelresult}{result}{data};\n\ \ # Do something with the $data\n # So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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%D9end();\n\n//--------------------------------------------------------------------------------------\n//\ \ Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. **Note:** To set a cPanel account''s notification email address, call `set_email_addresses`. To return the list of account notification preferences 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 - 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. To set contact email address(es), call `set_email_addresses`.' operationId: ContactInformation-unset_email_addresses parameters: - description: 'The account’s existing contact email addresses. If this list does not match the account’s current current email address(es), then the request will fail. This control is here to prevent race 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 is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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{cpanelresult}{result}{status})\ \ {\n my $data = $response->{cpanelresult}{result}{data};\n # Do something with the $data\n # So you can\ \ see the data shape we print it here.\n print to_json($data);\n}\nelse {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n\ }\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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%D9end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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 from the cPanel interface. * `1` — The cPanel account can contact their hosting provider from the cPanel interface. * `0` — The cPanel account **cannot** contact their hosting provider 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to\ \ .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n//\ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `1` — Shared. * `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. - `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * 1 — Shared. * 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. * 0 — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. If you do **not** include this parameter, the function defaults to the current authenticated 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. * `1` — Enabled. * `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 whom the returned connection information pertains. If you do **not** specify the `user` parameter, this 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 CalDAV `free-busy-query` connection. **Note:** This 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 and CardDAV connection information. **Note:** This 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 `free-busy-query` connection. **Note:** This 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 CardDAV connection information. **Note:** This information is useful for clients that do **not** support Autodiscovery.' example: http://example.com:2080/rpc/principal/example format: url type: string is_self_signed: description: 'Whether the server uses a self-signed certificate. * `1` — Self-signed. * `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 domain name and a port that uses the HTTPS protocol. **Note:** This 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 whom the returned connection information pertains. If you do **not** specify the `user` parameter, this 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. * `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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `1` — Enabled. * `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. * `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `1` — Enabled. * `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. - `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. * `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. - `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to\ \ .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n//\ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. - `1` - At least one of the `query_results` values equals the `dcv_string` value. - `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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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}\n\ else {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. **Note:** To check more than one domain, repeat or increment the parameter name. For example, `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. It 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. **Note:** * If you pass a `0` value, this function does **not** limit the number of redirect returns. * 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. **Important:** The 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. * `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: \n\n301 Moved Permanently\n \n

Moved Permanently

\n

The document has moved here.

\n\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). * `1` — The server returns a 2XX status code. * `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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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}\n\ else {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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 Validation (DCV) check. **Warning:** We 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. * `null` — The domain passes the DCV check. **Note:** The function returns the results from the domains in the same order in 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. * `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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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}\n\ else {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. **Note:** To check multiple domains, duplicate or increment the parameter name. For example, to exclude three domains, you could: * Use the `domain` parameter multiple times. * 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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}\n\ else {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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 generates for a given domain. These include proxy subdomains such as `webmail`, `mail`, and `cpanel`, as well as other system-generated domain 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 domain 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. * `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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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}\n\ else {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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 DNS records. **Note:** To check multiple domains, increment or duplicate 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=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 authoritative check failed. **Note:** The 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 records. * `1` — The local server is authoritative for the domain''s DNS records. * `0` — The local server is **not** authoritative for the domain''s DNS 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. * `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. * `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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# \ \ to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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}\n\ else {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. For 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. * `1` - Available. * `0` - Not available. When `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. * `1` - Available. * `0` - Not available. **NOTE:** The `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. * `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 ' - 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# \ \ to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. HTTPS records are defined in RFC 9460 and provide service parameters for HTTPS endpoints. For 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. * `1` - Supported. * `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. * `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 ' - 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# \ \ to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. SVCB records are defined in RFC 9460 and provide service binding and aliasing for arbitrary services. For 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. * `1` - Supported. * `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. * `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 ' - 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to\ \ .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to .../frontend//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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n// to .../frontend//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\n\ if ($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//--------------------------------------------------------------------------------------\n\ function 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. **NOTE:** You 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) record. If this value does not match the zone’s current state, the request 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. You can use this to submit later edits if you track 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. * `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n//\ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** Most DNS zones contain only 7-bit ASCII. However, it is possible for DNS zones to contain any binary sequence. An application that decodes this function''s base64 output **must** be able to handle cases where the decoded octets do not match any specific character encoding.' 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. * `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n// to .../frontend//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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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 file 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. **Note:** To update multiple domains, increment or duplicate the parameter name. For example, `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. If 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: * 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. * 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. * If no A records exist in the zone **or** all A records have loopback addresses, then the system will **not** update the zone file. If 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to\ \ .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n//\ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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. **Note:** The 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. * `1` - Activated. * `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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# \ \ to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Note:** * After you enable DNSSEC on the domain, you **must** add the DS records to your registrar. * You **cannot** modify the DNSSEC security key. To make any changes, you **must** disable (and delete) and re-create the DNSSEC security key. **Important:** When 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. * `5` — RSA/SHA-1 * `6` — DSA-NSEC3-SHA1 * `7` — RSASHA1-NSEC3-SHA1 * `8` — RSA/SHA-256 * `10` — RSA/SHA-512 * `13` — ECDSA Curve P-256 with SHA-256 * `14` — ECDSA Curve P-384 with SHA-384 **Note:** We 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. * `ksk` * `zsk`' in: query name: key_type required: true schema: enum: - ksk - zsk example: ksk type: string - description: 'Whether to activate the newly-created key. * `1` — Activate the key. * `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. **Note:** For the following `algo_num` and `key_type` parameters, the `key_size` defaults to the following values: * `5` — ksk `2048` zsk `1024` * `6` — ksk `2048` zsk `1024` * `7` — ksk `2048` zsk `1024` * `8` — ksk `2048` zsk `1024` * `10` — ksk `2048` zsk `1024` * `13` — ksk `256` zsk `256` * `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. **Note:** The 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. * `1` — The system added the security key. * `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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to\ \ .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n//\ \ to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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 deactivate the security key. **Note** The 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. * `1` - Deactivated. * `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 * `0` - Failed. Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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 disabled DNSSEC. * `1` — Disabled. * `0` — The system failed to disable DNSSEC. **Note:** This 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to\ \ .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `1` — Activate the key. * `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. * `simple` — Use a single key for both KSK and ZSK. Use this value when the `algo_nom` parameter is greater than `8`. * `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. A positive integer less than `501`. **Note:** In 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. 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. * `1` — Narrow mode. * `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. **NOTE:** * 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. * 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 enabled DNSSEC. **Note:** This return''s name is the `domain` parameter''s value.' properties: enabled: description: 'Whether the system enabled DNSSEC. * `1` — The system enabled DNSSEC. * `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. * `NSEC3` * `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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to\ \ .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n//\ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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. * `1` - The system exported the record successfully. * `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 * `0` - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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 Algorithm: 8 (RSASHA256) Modulus: 9i8AlGZkwKJj6HYZX+9OcOyCMQ0L9eHBaTg2Y83cVBSaIyiIWo54QpuiJykiuFYYHihOi+LW8vfU9A9jXLBs7DaeDkXO49OqYxfgD1vwmztJeXCQlmgxqUeD181gtSTNO43uUMkCisZft+OsJ96bdUof1UeJ1+IuSENBr1TZgYjmzBgIkmjdv8T5muPaaDfeOISLJKGOG2gI0xlyQ39ppd3CeB90cpIvFpCGjNC8nGvIqN4oyny6NftcEhaRFudbEhB6t2gI362wS5ohERK1F1rBTt+mqUwszCv46Y6p3Za3PsebWK7fR6ITnsW7KGyn3r8BxpJTHlHMwOtBPosaXw== PublicExponent: AQAB PrivateExponent: MZO5nCkatSh+0jumVImO1HLsrRAhjnzORHBLk8HLUytq9xWckBAM6+0HtLc2BMVhygD4AHfILdn3CsdmjS4CYXeGUP2B8qOXtqkCOFWdmMVRwKEInSGSjrKWPIlhplko84tbqO0yE9xrPk8dRlIwIGizDHKBsfYct/TDb5m4y7rvEHcBSm2DZz7AQL1qqC/WYI54qxHFXTId+nKsYMx/alRUV3AOSL20VSgL56VcM1luFS76ylDIWEOrQVyTFCtEcHvw3FLIOEVCM/CAErLFNlFdXHnYcRYnG/oXcsPW0DjpPNrqx8iaAOuhYFd/pu9CvKQnxYLLqXByOkSUIO3ggQ== Prime1: /mtiBD3gJ5Yu5ARsLew4eohRAobl4c3Bt9Gw62wmHiOJfgjbnY91H/bxc/ilnQh92yZUfxfm5z6FXEqluh0ZN3BOQTwzUEuTT9Pn00FhRfemL0UMpHn0BkoXCLwjs1XRyI0hXTOhGhH7XVczuYw/S7kWT5Cmfo4MODZ6cooR8SE= Prime2: 97aFfZxJcTYTKkZTc7yeUQVWTtKF25L780TRuCiG83hTSNKlmuWE2bAU/Cl2CX2NdW5sBmO5z9fEI5rA8LhuWHlKF82cXg1h50CsXkaAhFKrThMmb6SRSjIksxlz7rtK777z4En/V9v3l1yKcQ5eSQYQRHg1cCkn6NNlZPZ2G38= Exponent1: LoHarQPSken2MGBOliZ0PJHmnRujsh82pi+Cs8ZVQXUlkRB1dNvggTNW9+gf/hCrUQA0ufbYkrTvE+vhV6AyF9xDsdEbYDYwe4s0+X0eFvgqPMHWicpxPSUWCNa7f/DUJGEIFE13yZg35twl7GkiuOjglzLN/Jxix3PN9loe5YE= Exponent2: Mya4iAimzb7p1DfzcZnIY1ijyuEEDSRb7I8Qc2PDAjGdmRMOaV7twPnwS2XQXwNTG6Wyntsm+nlGokeJgevDtXdOSn4FxRIkXllnfow2a5yajSO9Mx6bdePG2kjuPKTmQ3195JnDJYRhqxrL566c351l7I2aE1AcUqKcdG3EU8c= Coefficient: T4dFDz5pQhVUQSjV0hhKHHZ1wBxiXdZeCFIfbyypWEdxGXdX2lIN264u9cGQhI+iExTEjZCaYASMBzOqnIhkHhj0M1DGYrhRCdTpgxmDwdcHniRl/XMxPGqpmsP4WFCBxmIbr3SdnqoiPMXix0SjWkHTisq5i09DBMNGIGQyqS8= ' 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. * `CSK` - Combined Signing Key. * `KSK` - Key Signing Key. * `ZSK` - Zone Signing Key.' enum: - CSK - KSK - ZSK example: KSK type: string success: description: 'Whether the function succeeded. * `1` - The function succeeded. * `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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# \ \ to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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 Algorithm: 8 (RSASHA256) Modulus: wcZl882v587qKmt3M7+y6u+kzSgCvfgyiSGQHE2EulDcAnfEmz/ryanXMveHGBsO4L/GynYYUUsGvD2jHK1ITh8CeISiqmbUmPolf9HLQgwcT5pVcvwJ0Wmzpw5Ukmx67N7TTX+yieI5OyflP23GnJYQ5EQUzBu/DhdxhL90hYU= PublicExponent: AQAB PrivateExponent: EnoBdKrTMA5Jw7u1hQitXbt2Al3jTQvifbLmk9xMYJufLtkOtSL2L6dzLpftmL3TwFho8xspnG7D+KUD7ZMURrwxnLlqTttaL2PeaYJdQ184ezuflExppkDkdTEOqcIUuSylfAbyIdeGkVFuWr0cdjM9OFKMAkoYaVeAUP0SYU0= Prime1: 4eslxBBwyvXzmFqKx5TTiHfU7EHIAxUru3ykOMqD2tVMHbRAq5AMKZL6ZhuTXk8mnGppEfC6qqNKnf3VT5jLxw== Prime2: 25OUAsWWAJrQ4uLytsXoSbjHsVyh61DgZ4S4n2Mv7RsSHt0Q/VcuyvHXuAKb8Y0XCYczZBtEW+ZoPte/HHnsUw== Exponent1: Xkb4AqLtvvT2i8y0/2avA9MmCtXEtuydzGbOTVjNv4OlePvgxPee67aHQhcd34xeS4XohPEVpOHx4I6t9sKHvw== Exponent2: ulZDBRcodNrs6Z4u22yX8/gbfyhdQJUh2reG9bv2sAB/wEJaaKPT0eXqav3L2PKfCjbyJcH+AP9G+A2e4UuWgQ== Coefficient: 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. **Note:** The 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. **Note:** The return''s name is the `key_tag` return''s integer value.' properties: active: description: 'Whether the DS key is active. * `1` - Active. * `0` - Inactive.' enum: - 0 - 1 example: 1 type: integer algo_desc: description: 'A description of the algorithm that the DS key uses.' example: RSA/SHA-256 type: string algo_num: description: 'The algorithm the system generated for the security key. * `5` - RSA/SHA-1 * `6` - DSA-NSEC3-SHA1 * `7` - RSASHA1-NSEC3-SHA1 * `8` - RSA/SHA-256 * `10` - RSA/SHA-512 * `13` - ECDSA Curve P-256 with SHA-256 * `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. * `256` - A Zone Signing Key (ZSK). * `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. * `CSK` - Combined Signing Key. * `KSK` - Key Signing Key. * `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 Algorithm: 8 (RSASHA256) Modulus: wcZl882v587qKmt3M7+y6u+kzSgCvfgyiSGQHE2EulDcAnfEmz/ryanXMveHGBsO4L/GynYYUUsGvD2jHK1ITh8CeISiqmbUmPolf9HLQgwcT5pVcvwJ0Wmzpw5Ukmx67N7TTX+yieI5OyflP23GnJYQ5EQUzBu/DhdxhL90hYU= PublicExponent: AQAB PrivateExponent: EnoBdKrTMA5Jw7u1hQitXbt2Al3jTQvifbLmk9xMYJufLtkOtSL2L6dzLpftmL3TwFho8xspnG7D+KUD7ZMURrwxnLlqTttaL2PeaYJdQ184ezuflExppkDkdTEOqcIUuSylfAbyIdeGkVFuWr0cdjM9OFKMAkoYaVeAUP0SYU0= Prime1: 4eslxBBwyvXzmFqKx5TTiHfU7EHIAxUru3ykOMqD2tVMHbRAq5AMKZL6ZhuTXk8mnGppEfC6qqNKnf3VT5jLxw== Prime2: 25OUAsWWAJrQ4uLytsXoSbjHsVyh61DgZ4S4n2Mv7RsSHt0Q/VcuyvHXuAKb8Y0XCYczZBtEW+ZoPte/HHnsUw== Exponent1: Xkb4AqLtvvT2i8y0/2avA9MmCtXEtuydzGbOTVjNv4OlePvgxPee67aHQhcd34xeS4XohPEVpOHx4I6t9sKHvw== Exponent2: ulZDBRcodNrs6Z4u22yX8/gbfyhdQJUh2reG9bv2sAB/wEJaaKPT0eXqav3L2PKfCjbyJcH+AP9G+A2e4UuWgQ== Coefficient: 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. * `1` - Create records for all delegations. * `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. * `NSEC` * `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 * `0` - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# \ \ to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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) utility''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. * `ksk` * `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. **Note:** The 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. * `1` - The system imported the security key. * `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 * `0` - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# \ \ to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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. **Note:** The 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. * `1` — The system removed the security key. * `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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# \ \ to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `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. **Note:** This 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n// \ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `1` — Disabled. * `0` — The system failed to disable NSEC3. **Note:** This 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n//\ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. - standard The directory uses directory indexing with standard formatting. - disabled The directory doesn''t use directory indexing. - inherit The directory uses the system''s default settings. - 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Note:** The 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 * `0` - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `standard` — The directory uses directory indexing with standard formatting. * `disabled` — The directory doesn''t use directory indexing. * `inherit` — The directory uses the system''s default settings. * `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. * `standard` — The directory uses directory indexing with standard formatting. * `disabled` — The directory doesn''t use directory indexing. * `inherit` — The directory uses the system''s default settings. * `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. * 0 — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Note:** **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. * `1` - Enable. * `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. * `Basic` * `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. * `1` - Protected. * `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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `Basic` * `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. * `1` - Protected. * `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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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 information. **Note:** The 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. * `Basic` * `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. * `1` — Protected. * `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. * `Basic` * `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. * `1` — Protected. * `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. * `Basic` * `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. * `1` — Protected. * `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. * `Basic` * `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. * `1` — Protected. * `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. * `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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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}\n\ else {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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 [leech protection](https://go.cpanel.net/cpaneldocsLeechProtection) settings 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. **Note:** The 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. * `1` — Leech protection is enabled. * `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. * `1` — Leech protection is enabled. * `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. * `1` — Leech protection is enabled. * `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. * `1` — Leech protection is enabled. * `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. * `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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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 to the new document root location. **Note:** * For more information about temporary domains, read our [Temporary Domains](https://go.cpanel.net/cp-temporary-domain) documentation. * 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 value, this parameter defaults to the domain''s name. **Note:** The function will create a symlink in place of the previous temporary domain''s document root directory. The symlink will point to the registered domain''s document 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. - 0 - 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®istered=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. **Note:** For 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. * `1` - The domain is a temporary domain. * `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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 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 cPanel account. The system updates all relevant configuration files, document root paths, and DNS entries automatically. **Note:** * You cannot rename a domain while another rename operation is in progress. * You cannot rename the server hostname. * 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 value, 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. - 0 - 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 disabled by server configuration. **Note:** For 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 temporary domains feature.' properties: is_disabled: description: 'Whether temporary domains are disabled by server configuration. * `1` - Temporary domains are disabled. * `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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 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. **Note:** 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-domains_data parameters: - description: 'The function''s return format. * `hash` — Use a hash format. The function will return objects based on the domain type. * `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. * `1` — Hide temporary domains from `addon_domains`, `sub_domains`, and `parked_domains` arrays. * `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. * `1` — Return the status. * `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. * `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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# \ \ to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. **Note:** For 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. * `1` — Hide temporary domains from the `addon_domains`, `sub_domains`, and `parked_domains` arrays, and from the `main_domain` field. * `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. * `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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# \ \ to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. * `1` — Return empty array if the main domain is a temporary domain. * `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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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\n\ if ($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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `1` — Return `null` if the main domain is a temporary domain. * `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. ** Note: ** This 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** Do **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. * `1` — Return an error if the requested domain is a temporary domain. * `0` — Return all domains, including the temporary domains. **Note:** If you set this parameter''s value to `1` and the requested domain is temporary, the function will return an error similar to the following example: `Domain [example.com] is a temporary domain 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. * `1` - Return status. * `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. * `1` - A valid SSL certificate exists on the aliases. * `0` - A valid SSL certificate does **not** exist on the aliases. **Important:** This 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. * `1` - A valid SSL certificate exists or AutoSSL runs. * `0` - A valid SSL certificate does **not** exist, and AutoSSL does not run. **Important:** This 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. * `1` - Enabled. * `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. * `1` - Redirects. * `0` - Does **not** redirect. **Important:** This 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. * `1` — The domain is temporary. * `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. * `1` - Enabled. * `0` - Disabled. **Note:** In EasyApache 4, change this directive in the *Editor Mode* section of WHM''s [*MultiPHP INI Editor*](https://go.cpanel.net/whmdocsMultiPHPINIEditor) interface (*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. * `addon_domain` - The domain is an addon domain. * `sub_domain` - The domain is a subdomain. * `main_domain` - The domain is the account''s main domain. * `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. * `On` - Use the CNAME. * `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. * `1` - Enabled. * `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. - 0 - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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 domain, its addon domains and its parked domains. **Note:** The count excludes temporary domains, and matches the number of entries that 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. * `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# is the theme\ \ assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n// to .../frontend//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//--------------------------------------------------------------------------------------\n\ function 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 domain, its addon domains and its parked domains. **Note:** Subdomains are **not** base domains and this function does not return them. Use the `SubDomain::listsubdomains` function for those.' operationId: DomainLookup-getbasedomains parameters: - description: 'Whether to include the account''s temporary domains in the result. * `1` - Include temporary domains. * `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. * `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# is the theme\ \ assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n// to .../frontend//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//--------------------------------------------------------------------------------------\n\ function 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 cPanel account. **Note:** If the domain does not exist on the account, the system returns the account''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. Omit 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. * `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# is the theme\ \ assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. * `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# is the theme\ \ assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. The 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. **Note:** This function requires the `domain_recommendation` feature.' operationId: DomainRecommendations-domain_availability parameters: - description: 'The fully-qualified domain name (FQDN) to check for availability. **Note:** This 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. * `1` — Use the cache (default). The system caches the results for up to two minutes. * `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 from 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 registration. * `true` — Available. * `false` — Not available.' example: true type: boolean is_premium: description: 'Whether the domain is a premium domain with special pricing. * `true` — The domain is a premium domain. * `false` — The domain is not a premium domain.' example: false type: boolean is_tld_available: description: 'Whether the TLD is available for registration through the configured store. * `true` — The TLD is available. * `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 registration 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. * `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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. The 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. **Note:** This 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. **Note:** Use 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). If 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. If 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. * `1` — Use the cache (default). The function caches the results for up to two minutes. * `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. * `1` — Premium domain. * `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. Each key is a fully-qualified domain name (for example, `mybusiness.com`). Each value is an object containing a `pricing` array of `PricingPeriod` objects, an `is_premium` flag, and optional `premium_cost_pricing` details. The function returns an empty object (`{}`) when no suggestions 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. * `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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. **Important:** This function returns only explicitly allowlisted fields. Any key not on the allowlist — including credentials, URLs, and future additions — is excluded by default. **Note:** This 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. Returns an empty object (`{}`) if no store is configured.' properties: store_type: description: 'The type of the configured domain store. * `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. * `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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. **Note:** This 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. * `1` — Enabled. * `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. * `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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. **Note:** This function requires the `domain_recommendation` feature.' operationId: DomainRecommendations-purchase_domain parameters: - description: 'The fully-qualified domain name (FQDN) to purchase. **Note:** This 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®period=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. * `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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. The system caches the results for up to two minutes. Use the `use_cache=0` option to bypass the cache and force a live request. **Note:** This function requires the `domain_recommendation` feature.' operationId: DomainRecommendations-supported_tlds parameters: - description: 'Whether to use the local response cache. * `1` — Use the cache (default). The system caches the results for up to two minutes. * `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 configured store supports for registration. Each entry is a TLD string without a leading dot (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. * `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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. **Important:** When 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n// \ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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. * `0` - No DDNS domain with the given ID existed. * `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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to .../frontend//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\n\ if ($response->{cpanelresult}{result}{status}) {\n my $data = $response->{cpanelresult}{result}{data};\n #\ \ Do something with the $data\n # So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n// \ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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. **Note:** This ID goes into the URL that the client uses to [update the domain’s IP address resolution](https://go.cpanel.net/cpaneldocsdynamicdns).' example: gziugyxxjwnamqtwysgmvrurplmafxpj type: string last_run_times: description: 'The most recent times when the web call ran. **Note:** This list changes every time the web call runs, even if the domain’s IP address resolution does **not** change.' items: format: unix_timestamp type: integer type: array last_update_time: description: 'The most recent update time for the DDNS domain. **Note:** This value changes **only** when the 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n// \ \ to .../frontend//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\n\ header('Content-Type: text/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}\n\ else {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to\ \ .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n//\ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. * `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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($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//--------------------------------------------------------------------------------------\n\ function 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. **Note:** The function uses the name of the referenced package as the return name.' items: properties: desc: description: 'The recommendation''s description. **Note:** The 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). * `primary` * `success` * `info` * `warning` * `danger` **Note:** * The function **only** returns this value if one exists. * 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. * `add` * `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. **Note:** The 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). * `primary` * `success` * `info` * `warning` * `danger` **Note:** * The function **only** returns this value if one exists. * 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. * `true` - Recommended. * `false` - Not recommended. **Note:** * The function **only** returns this value if one exists. * 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. **Note:** The function **only** returns this value if one exists.' format: url type: string type: object type: array url: description: 'A URL to provide more information. **Note:** The 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. * `0` – Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# \ \ to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. * A valid string. * `All Mail On The Account` * 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n//\ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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). * `1` — Include an HTML content type declaration. * `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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# \ \ to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. * A message of success that lists the updated `vdomainaliases` file. * 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. - An email address The system forwards mail to this address. - :fail: The system bounces mail back to the sender and sends a failure message. - :blackhole: The system deletes mail without a failure message. - The path to an application The system pipes mail to this application. - 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to\ \ .../frontend//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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n//\ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `1` — Private. * `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. * `1` — Rebuild the mailing list. * `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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n// to .../frontend//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//--------------------------------------------------------------------------------------\n\ function 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `1` — The mail exchanger always accepts mail. * `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. * `1` - Change occurred. * `0` - **No** change.' enum: - 0 - 1 example: 1 type: integer detected: description: 'The mail exchanger type. * `auto` * `local` * `secondary` * `remote`' enum: - auto - local - secondary - remote example: auto type: string isprimary: description: 'Whether the mail exchanger is the primary mail exchanger. * `1` - Primary. * `0` - **Not** primary.' enum: - 0 - 1 example: 0 type: integer issecondary: description: 'Whether the mail exchanger is a secondary exchanger. * `1` - Secondary. * `0` - **Not** secondary.' enum: - 0 - 1 example: 0 type: integer local: description: 'Whether the mail exchanger is a local exchanger. * `1` - Local. * `0` - **Not** local.' enum: - 0 - 1 example: 0 type: integer mxcheck: description: 'The mail exchanger type. * `auto` * `local` * `secondary` * `remote`' enum: - auto - local - secondary - remote example: auto type: string remote: description: 'Whether the mail exchanger is a remote exchanger. * `1` - Remote. * `0` - **Not** remote.' enum: - 0 - 1 example: 0 type: integer secondary: description: 'Whether the mail exchanger is a secondary exchanger. * `1` - Secondary. * `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. * A message of success that begins with `Added entry:`. * An error message.' example: 'Added entry:\nBind reloading on example using rndc zone: [example.com]\n' type: string status: description: 'Whether the function succeeded. * `1` - Success. * `0` - Failure.' enum: - 0 - 1 example: 1 type: integer statusmsg: description: 'A message of success, or an error message. * A message of success that begins with `Added entry:`. * 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n// to .../frontend//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//--------------------------------------------------------------------------------------\n\ function 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. * `1` — Send the instructions. * `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. * `1` — Skip the update. * `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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n// to .../frontend//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//--------------------------------------------------------------------------------------\n\ function 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to\ \ .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. * `1` — Include hidden items. * `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. * `1` - File. * `0` - Directory.' enum: - 0 - 1 example: 0 type: integer ismailbox: description: 'Whether the item is a mailbox. * `1` - Mailbox. * `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. * `dir` - The item is a directory. * `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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to\ \ .../frontend//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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n//\ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `1` — The mail exchanger always accepts mail. * `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. * `1` - Change occurred. * `0` - **No** change.' enum: - 0 - 1 example: 1 type: integer detected: description: 'The mail exchanger type. * `auto` * `local` * `secondary` * `remote`' enum: - auto - local - secondary - remote example: auto type: string isprimary: description: 'Whether the mail exchanger is the primary mail exchanger. * `1` - Primary. * `0` - **Not** primary.' enum: - 0 - 1 example: 0 type: integer issecondary: description: 'Whether the mail exchanger is a secondary exchanger. * `1` - Secondary. * `0` - **Not** secondary.' enum: - 0 - 1 example: 0 type: integer local: description: 'Whether the mail exchanger is a local exchanger. * `1` - Local. * `0` - **Not** local.' enum: - 0 - 1 example: 0 type: integer mxcheck: description: 'The mail exchanger type. * `auto` * `local` * `secondary` * `remote`' enum: - auto - local - secondary - remote example: auto type: string remote: description: 'Whether the mail exchanger is a remote exchanger. * `1` - Remote. * `0` - **Not** remote.' enum: - 0 - 1 example: 0 type: integer secondary: description: 'Whether the mail exchanger is a secondary exchanger. * `1` - Secondary. * `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. * A message of success that begins with `Added entry:`. * 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. * `1` - Success. * `0` - Failure.' enum: - 0 - 1 example: 1 type: integer statusmsg: description: 'A message of success, or an error message. * A message of success that begins with `Added entry:`. * 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n// \ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * A positive value that represents a BlackBerry FastMail version number if it is enabled on the server. * 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to\ \ .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n//\ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `0` * 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. * `0` * 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to\ \ .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n//\ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `0` * 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# \ \ to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. * `0` * 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n// \ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `0` * 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n// \ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to\ \ .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n//\ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * A valid email address. * A script location. * 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# \ \ to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n// \ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `1` - Change occurred. * `0` - **No** change.' enum: - 0 - 1 example: 1 type: integer detected: description: 'The mail exchanger type. * `auto` * `local` * `secondary` * `remote`' enum: - auto - local - secondary - remote example: auto type: string isprimary: description: 'Whether the mail exchanger is the primary mail exchanger. * `1` - Primary. * `0` - **Not** primary.' enum: - 0 - 1 example: 0 type: integer issecondary: description: 'Whether the mail exchanger is a secondary exchanger. * `1` - Secondary. * `0` - **Not** secondary.' enum: - 0 - 1 example: 0 type: integer local: description: 'Whether the mail exchanger is a local exchanger. * `1` - Local. * `0` - **Not** local.' enum: - 0 - 1 example: 0 type: integer mxcheck: description: 'The mail exchanger type. * `auto` * `local` * `secondary` * `remote`' enum: - auto - local - secondary - remote example: auto type: string remote: description: 'Whether the mail exchanger is a remote exchanger. * `1` - Remote. * `0` - **Not** remote.' enum: - 0 - 1 example: 0 type: integer secondary: description: 'Whether the mail exchanger is a secondary exchanger. * `1` - Secondary. * `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. * A message of success that begins with `Removed entry:`. * An error message.' example: 'Removed entry: example.com. IN MX 15 mail.example.com Bind reloading on example using rndc zone: [example.com]' type: string status: description: 'Whether the function succeeded. * `1` - Success. * `0` - Failure.' enum: - 0 - 1 example: 1 type: integer statusmsg: description: 'A message of success, or an error message. * A message of success that begins with Added entry. * An error message.' example: 'Removed entry: example.com. IN MX 15 mail.example.com Bind 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n// \ \ to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. * A valid email account username. For example, `user` if the email address is `user@example.com`. * 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. * `passwd` — Preserve the mail account''s home directory. * 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. * `1` — Do **not** modify. * `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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n// \ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `1` - Updated, * `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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to\ \ .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n//\ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `1` - Mailbox autocreation disabled. * `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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# \ \ to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * A positive integer that represents the maximum amount of disk space, in megabytes (MB). **Note:** You **cannot** enter a value that exceeds the maximum email quota. * `0` or `unlimited` — The account possesses unlimited disk space. If the email account''s quota value is set higher (or unlimited) than the account''s max quota, the account''s max quota will be applied instead of the value entered. **Note:** This 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 * `0` - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to\ \ .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n//\ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `1` - Updated. * `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 * `0` - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to\ \ .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n//\ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. - 1 Mailbox autocreation enabled. - 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. **Notes:** * This function **requires** that your hosting provider enables Apache SpamAssassin on the server. * To **disable** spam box filtering, use the UAPI `Email::disable_spam_box` function. * For more information, read our [Spam Filters](https://go.cpanel.net/cpaneldocsSpamFilters) documentation. **Important:** When 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to\ \ .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. This 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 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# is the theme\ \ assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to\ \ .../frontend//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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n//\ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Note:** To 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. **Important:** When 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. **Note:** If 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. * `1` - Success. * `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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# \ \ to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Note:** The generated password expires after one use. **Important:** When 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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. **Note:** A 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). - `1` - Includes an HTML content type declaration. - `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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# \ \ to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n//\ \ to .../frontend//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\n\ header('Content-Type: text/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}\n\ else {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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. **Note:** This 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. * `1` — Supported. * `0` — **Not** supported.' enum: - 1 - 0 example: 1 type: integer activesync_host: description: 'The account''s ActiveSync hostname. This 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. This return **only** appears if `activesync_available` is `1`.' example: 2091 maximum: 65535 minimum: 1 type: integer activesync_username: description: 'The account''s ActiveSync username. This 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. * `1` — The account is a mail archive. * `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. * `1` — Supported. * `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. * `imap` * `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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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. The value will either be: * The system''s default quota value (32 gigabytes). * 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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). **Important:** When 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). The value will either be: * The system''s default quota value (32 gigabytes). * 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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. * A positive floating-point value that represents the disk space, used in megabytes (MB). * `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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to\ \ .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n//\ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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. * `deliver` - The filter sends mail to the destination address. * `fail` - The filter forces a delivery failure. * `finish` - The filter stops message processing. * `save` - The filter saves mail to the destination file. * `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. A destination can be one of the following. * A file path. * An application path. * 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. * `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`' 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. * `and` - Match both conditions. * `or` - Match either condition. * `null` - There is only one condition.' enum: - and - or - 'null' example: or type: string part: description: 'The queried email section. * `$header_from:` - Matches against the From: section. * `$header_subject:` - Matches against the Subject: section. * `$header_to:` - Matches against the To: section. * `$reply_address:` - Matches against the Reply To: section. * `$message_body` - Matches against the message''s body. * `$message_headers` - Matches against the message''s headers. * `foranyaddress $h_to:,$h_cc:,$h_bcc:` - Matches against all message recipients. * `not delivered` - Matches if the message is not queued for delivery. * `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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n// \ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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). **Note:** To 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. * `1` — The cPanel account can automatically create mailboxes. * `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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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 * `0` - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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 return one of the following values: * The system''s default maximum quota (4 [Pebibytes](https://en.wikipedia.org/wiki/Pebibyte)). * The account''s quota value, if it is **less** than the default system 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. * `0` - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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 [Mebibytes (MiB)](https://en.wikipedia.org/wiki/Mebibyte) format. **Important:** When you disable the [Receive Mail role](https://go.cpanel.net/howtouseserverprofiles#roles), the 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. * `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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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. * `1` — Return the quota as bytes. * `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. **Note:** This 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 * `0` - Failed: Check the `errors` field for more details.' enum: - 0 - 1 example: 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to\ \ .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n//\ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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. **Note:** If 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 * `1` - Enabled. * `0` - Not enabled. **NOTE:** This 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`. **NOTE:** This 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. * `1` - Rewrite. * `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. **NOTE:** The value of this parameter is **always** `1` * `1` - SpamAssassin is an ACL.' enum: - 1 example: 1 type: integer spam_auto_delete: description: 'Whether the user''s autodelete function is enabled. * `1` - Enabled. * `0` - Not enabled. **NOTE::** This 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`. **Note:** This 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. * `1` - Enabled. * `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. * `1` - Allowed. * `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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# \ \ to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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. **Note:** If 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. * `1` — Enabled. It 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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. * `1` — The email address has administrative privileges. * `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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `1` - Enabled. * `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 * `0` - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Notes:** * To send all mail from the queue, use the UAPI `Email::release_outgoing` function. * To reject outgoing mail and not place mail in a queue, use the UAPI `Email::suspend_outgoing` function. * 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to\ \ .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n//\ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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}\n\ else {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. * An email account username - The system forwards unroutable mail to this address. * `:fail:` - The system bounces unroutable mail back to the sender, and sends a failure message. * `:blackhole:` - The system deletes unroutable mail without a failure message. * 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($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//--------------------------------------------------------------------------------------\n\ function 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. Some common ones include: * `deliver` — The filter sends mail to the dest address. * `fail` — The filter forces a delivery failure. * `finish` — The filter stops message processing. * `save` — The filter saves mail to the dest file. * `pipe` — The filter sends mail to the dest application. For 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. * A file path. * An application path. * 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. Some common ones include: * `$header_from:` — Matches against the `From:` section. * `$header_subject:` — Matches against the `Subject:` section. * `$header_to:` — Matches against the `To:` section. * `$reply_address:` — Matches against the `Reply To:` section. * `$message_body` — Matches against the message’s body. * `$message_headers` — Matches against the message’s headers. * `foranyaddress $h_to:,$h_cc:,$h_bcc:` — Matches against all message recipients. * `not delivered` — Matches if the system has not queued the message for delivery. * `error_message` — Matches if the incoming message bounced. For 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. * `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n//\ \ to .../frontend//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\n\ header('Content-Type: text/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}\n\ else {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($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//--------------------------------------------------------------------------------------\n\ function 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to\ \ .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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}\n\ else {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($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//--------------------------------------------------------------------------------------\n\ function 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. * `1` - The Mailman directory page displays the list. * `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`. * `1` - The mailing list archive is `private`. * `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. * `1` - Anyone can subscribe. The system sends a confirmation email. * `2` - The administrator **must** approve subscriptions. The system does **not** send a confirmation email. * `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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n// \ \ to .../frontend//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\n\ header('Content-Type: text/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}\n\ else {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. * `1` — List `www.` addresses. * `0` — Do **not** list `www.` addresses. For 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. * `1` — List wildcard addresses. * `0` — Do **not** list wildcard addresses. For 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. By 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# \ \ to .../frontend//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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($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//--------------------------------------------------------------------------------------\n\ function 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. * `1` - Accept local mail. * `0` - Does **not** accept local mail.' enum: - 0 - 1 example: 1 type: integer detected: description: 'The domain''s highest-priority mail exchanger''s type. * `auto` * `local` * `remote` * `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. * `even` * `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. * `1` - Local. * `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. * `auto` * `local` * `remote` * `secondary`' enum: - auto - local - remote - secondary example: auto type: string remote: description: 'Whether the domain''s highest-priority mail exchanger is remote. * `1` - Remote. * `0` - **Not** remote.' enum: - 0 - 1 example: 0 type: integer secondary: description: 'Whether the domain''s highest-priority mail exchanger is secondary. * `1` - Secondary. * `0` - **Not** secondary.' enum: - 0 - 1 example: 0 type: integer status: description: 'Whether the function succeeded. * `1` - Success. * `0` - Failure.' enum: - 0 - 1 example: 1 type: integer statusmsg: description: 'A success or error message message. * A success message. * 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n// to .../frontend//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}\n\ else {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. * `1` — Skip the validation check. * `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. * `1` — Exclude the main account. * `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. * A valid email address on the cPanel account. * 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. * A valid email address on the cPanel account. * `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. * `1` - Suspended. * `0` - Not suspended.' enum: - 0 - 1 example: 0 type: integer suspended_login: description: 'Whether logins for the email account are suspended. * `1` - Suspended. * `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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n// \ \ to .../frontend//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\n\ header('Content-Type: text/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}\n\ else {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. * `1` — Display. * `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. * `1` — Do **not** collect. * `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. * `1` — Skip validation. * `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. * A positive value that represents the disk quota, in bytes. * `0` - The account possesses an unlimited disk quota.' example: 0 minimum: 0 type: integer _diskused: description: 'The disk space that the email account uses. * A positive value that represents the used disk space, in bytes. * `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. * A positive floating-point value that represents the used disk space, in megabytes (MB). * `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. * A positive value. * `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. * A positive value. * `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`. * A valid email address. * `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. * The disk quota and the unit of measure. * `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. * The disk space that the email account uses, a non-breaking space (`\u00a0`), and the unit of measure. * `None` - The account possesses an unlimited disk quota.' example: 483 bytes type: string login: description: 'The email address, or the main account username. * A valid email address. * 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. * `1` - Suspended. * `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. * `1` - Suspended. * `0` - **Not** suspended.' enum: - 0 - 1 example: 0 type: integer suspended_outgoing: description: 'Whether the email account''s outgoing email is suspended. * `1` - Suspended. * `0` - **Not** suspended.' enum: - 0 - 1 example: 0 type: integer txtdiskquota: description: 'The email account''s disk quota. * A positive value that represents the email address''s quota, in megabytes (MB). * `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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($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//--------------------------------------------------------------------------------------\n\ function 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n// \ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n// \ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Note:** To 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# \ \ to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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). **Important:** When 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. For each mail filter to reorder, supply a `filter*` parameter, where `*` is a number that represents the filter''s order. For 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to\ \ .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `auto` — Allow cPanel to determine the appropriate role. * `local` — Always accept the domain''s mail. * `secondary` — Accept mail until a higher priority mail server is available. * `remote` — Do **not** accept mail. **Note:** This parameter is redundant with the `mxcheck` parameter. Do **not** enter the `mxcheck` and `alwaysaccept` parameters at the same time. [Undefined behavior](https://en.wikipedia.org/wiki/Undefined_behavior) may occur if this happens.' in: query name: alwaysaccept required: false schema: default: auto enum: - auto - local - secondary - remote example: auto type: string - description: 'The mail exchanger type. * `auto` — Allow cPanel to determine the appropriate role. * `local` — Always accept the domain''s mail. * `secondary` — Accept mail until a higher priority mail server is available. * `remote` — Do **not** accept mail. **Note:** This parameter is redundant with the `alwaysaccept` parameter. Do **not** enter the `mxcheck` and `alwaysaccept` parameters at the same time. [Undefined behavior](https://en.wikipedia.org/wiki/Undefined_behavior) may occur if this happens.' 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. * `1` — Change occurred. * `0` — **No** change.' enum: - 0 - 1 example: 1 type: integer detected: description: 'The mail exchanger type. * `auto` — Allow cPanel to determine the appropriate role. * `local` — Always accept the domain''s mail. * `secondary` — Accept mail until a higher priority mail server is available. * `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. * `1` — Primary. * `0` — **Not** primary.' enum: - 0 - 1 example: 0 type: integer issecondary: description: 'Whether the mail exchanger is a secondary exchanger. * `1` — Secondary. * `0` — **Not** secondary.' enum: - 0 - 1 example: 0 type: integer local: description: 'Whether the mail exchanger is a local exchanger. * `1` — Local. * `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. * `1` — Remote. * `0` — **Not** remote.' enum: - 0 - 1 example: 0 type: integer secondary: description: 'Whether the mail exchanger is a secondary exchanger. * `1` — Secondary. * `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. * `1` — Local. * `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. * `1` — Remote. * `0` — **Not** remote.' enum: - 0 - 1 example: 0 type: integer results: description: 'A message of success or a reason for failure. * A message of success that includes the new type. * 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. * `1` — Secondary. * `0` — **Not** secondary.' enum: - 0 - 1 example: 0 type: integer status: description: 'Whether the function succeeded. * `1` — Success. * `0` — Failure.' enum: - 0 - 1 example: 1 type: integer statusmsg: description: 'A message of success or a reason for failure. * A message of success that includes the new type. * 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. * `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# \ \ to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `fwd` — Forward messages to the `fwdemail` parameter’s address. * `fail` — Bounce messages back to the sender, and include the `failmsgs` parameter’s failure message. * `blackhole` — Send messages to the `/dev/null/` directory. This method does **not** generate a failure notice. * `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. - An email address The system forwards mail to this address. - :fail: The system bounces mail back to the sender, and sends a failure message. - :blackhole: The system deletes mail without a failure message. - 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. - `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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. * `1` - Display. * `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. * `1` - Private. * `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. * `1` - Anyone can subscribe. The system sends a confirmation email. * `2` - The administrator **must** approve subscriptions. The system does **not** send a confirmation email. * `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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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\n\ if ($response->{cpanelresult}{result}{status}) {\n my $data = $response->{cpanelresult}{result}{data};\n #\ \ Do something with the $data\n # So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Note:** * To add multiple domain entries, increment the parameter. For example, use the `domain`, `domain-1`, and `domain-2` parameters. * 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. * null — The domain did not have an existing manual MX redirect entry. **Note:** This 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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. * `active` - The database is available and up-to-date. * `importing` - The database is available, but a data import is currently in progress. * `upcp` - The database is unavailable because cPanel & WHM is updating. **Note:** If 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to\ \ .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. * `deliver` - Deliver the message to the `dest*` address. * `fail` - Force a delivery failure. * `finish` - Stop processing the message. * `save` - Save the message to the `dest*` file. * `pipe` - Pipe the message to the `dest*` application. **Important:** * You **must** increment each action. For example, pass the first action as `action1` and the second action as `action2`. * 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. **Important:** You **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. **Important:** You **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 * `0` - Failed. Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to .../frontend//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\n\ if ($response->{cpanelresult}{result}{status}) {\n my $data = $response->{cpanelresult}{result}{data};\n #\ \ Do something with the $data\n # So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n//\ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Notes:** * 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. * Use the UAPI `Email::unsuspend_incoming` function to allow the account to receive email. **Important:** When 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# \ \ to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. **Notes:** * When you suspend an account, the user''s account still receives email. * To suspend incoming email for an account, use the UAPI `Email::suspend_incoming` function. * To remove the login suspension for an account, use the UAPI `Email::unsuspend_login` function. **Important:** When 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to\ \ .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n//\ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Notes:** * To suspend a user''s login credentials and prevent authenticated connections to the email account, use the UAPI `Email::suspend_login` function. * To allow an email account to send mail, use the UAPI `Email::unsuspend_outgoing` function. * To hold outgoing mail in Exim''s queue, use the UAPI `Email::hold_outgoing` function. **Important:** When 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. * `1` — The function succeeded. * `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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# \ \ to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Note:** This 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. * `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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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 * `0` - Failed: 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to\ \ .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n//\ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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). **Note:** If the domain or account does not contain a filter file, this function will fail. **Important:** When 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. **Note:** This 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 "/etc/vfilters/example.com"\n\nFiltering did not set up a significant delivery.\nNormal delivery will occur.\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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n//\ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Note:** * To add multiple domain entries, increment the parameter. For example, use the `domain`, `domain-1`, and `domain-2` parameters. * 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. * null — The domain did not have a manual MX redirect entry. **Note:** This 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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. * `1` — The function succeeded. * `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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# \ \ to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. **Note:** * To suspend a user''s ability to log in, use the UAPI `Email::suspend_login` function. * To suspend incoming email for an account, use the UAPI `Email::suspend_incoming` function. **Important:** When 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. * `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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to\ \ .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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` function for outgoing mail for an email account. **Note:** To 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. * `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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# \ \ to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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. * `1` - The password is valid. * `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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to\ \ .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Note:** Visit 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. **Note:** To 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: * Use the `domain` parameter three times. * Use the `domain`, `domain-1`, and `domain-2` parameters. If you do not include this argument, the system applies the DMARC record to all the user''s domains. You 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. * `1` - Applied. * `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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# \ \ to .../frontend//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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html-printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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}\n\ else {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. **Note:** To 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. * `1` - The system removed the domain''s DKIM record. * `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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# \ \ to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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}\n\ else {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. **Note:** If 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. **Note:** To enable multiple domain DKIM records, duplicate or increment the parameter. For example, to perform this for three domains, you could: * Use the `domain` parameter multiple times. * 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. * `1` - Enabled. * `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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to\ \ .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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}\n\ else {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. **Notes:** * If an existing DKIM key does **not** meet the server''s security requirements, the system replaces the existing DKIM key. * 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. * `1` - The system verified the existence of the domain''s DKIM key. * `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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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}\n\ else {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. **Warning:** We **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. **Note:** To 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: REDACTED_PRIVATE_KEY_EXAMPLE 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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}\n\ else {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. **Note:** To 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. **Note:** You **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. * `1` - The system installed the DKIM private key. * `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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Note:** To 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. **Note:** You **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. - `1` - The system installed the SPF record on the DNS server. - `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. - 0 - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Note:** If you do not include this argument, the system will remove **all** DMARC records from **all** domains owned by the user. To remove multiple domain DMARC records, duplicate the parameter name. For example, use the `domain=example.com`, `domain=example2.com`, and `domain=example3.com` parameters. You **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. * `1` - The system removed the domain''s DMARC record. * `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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n#\ \ to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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}\n\ else {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html-printable json\n//--------------------------------------------------------------------------------------\n\ function 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 (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 domain=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 domain''s DKIM records. ' items: properties: domain: description: 'The domain that the function used to check the DKIM record. This will be the value of the 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. **Note:** The function only returns this value when the `state` returned is the `ERROR` value.' example: '(XID 4krw35) DNS returned SERVFAIL (code 2) in response to the systems query for default._domainkey.example2.coms TXT 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. **Important:** This 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. **Note:** This 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: * `VALID` - The DKIM TXT record matches the local server''s public key. * `MISMATCH` - The DKIM TXT record does not match the local server''s public key. * `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. Possible values: * `VALID` The DKIM record is valid. * `MALFORMED` A single DKIM record exists, but the record does not match the expected DKIM specifications. * `MISMATCH` A DKIM record exists, but it does not match the expected public key. * `MISSING` No DKIM record exists for the domain. * `MULTIPLE` Multiple DKIM records exist. * `NOPUB` No key exists on the local server for the domain. * `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: * `set` The domain is invalid but passed its validity check. The validity check now passes the domain as valid. * `unset` The domain is invalid and did not pass its validity check. The validity check does not pass the domain as valid. * `valid` The domain is valid and passed its validity check. There are no changes required. * `invalid` The domain is invalid and failed its validity check. There are no changes required. * `none` The domain is invalid, but the system will not take further action. * `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. - `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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}\n\ else {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. **Note:** If 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 domain''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. **Note:** This 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) in response to the system''s query for _dmarc.example.com TXT 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. Possible values: * `VALID` - A DMARC policy is set for the domain, along with valid SPF and DKIM records for the domain and IP address. * `MALFORMED` - A DMARC record is set, but it did not pass a syntax check. * `DKIM_SPF_ERROR` - A DMARC record exists; however, both the DKIM and SPF records for this domain did not pass validation. * `DKIM_ERROR` - A DMARC record exists; however, the DKIM record for this domain did not pass validation. * `SPF_ERROR` - A DMARC record exists; however, the SPF record for this domain did not pass validation. * `MISSING` - No DMARC record exists for the domain at the DMARC subdomain location. * `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 the DMARC record. This will be the value of the `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. - `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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}\n\ else {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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 IPv6 addresses that the account''s domains send mail from. It retrieves the PTR records for each IP address and determines which of the domain''s IP addresses send mail. It then validates the PTR records for each IP address and validates the A or AAAA records pointing to each domain. This function also ensures that at least one of that domain''s A or AAAA records points back to the IP address.' 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 `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. For more information about rDNS, read our [How to Configure Reverse DNS for BIND in WHM](https://go.cpanel.net/HowtoConfigureReverseDNSforBINDinWHM) documentation. A valid reversed IP address appended with one of the following: * in-addr.arpa - An IPv4 address. * ip6.arpa - An IPv6 address. For information about .arpa domains, read Wikipedia''s [Reverse DNS lookup](https://en.wikipedia.org/wiki/Reverse_DNS_lookup) article. **Note:** The 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. **Note:** The function only returns this value when the `state` returned is the `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 itself to remote SMTP servers. A valid hostname.' example: example.com format: domain type: string ip_address: description: 'The IP address. **Note:** The 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. * 4 * 6 **Note:** The 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. **Note:** The function does **not** return this for a domain with an invalid IP address.' items: properties: domain: description: 'The fully-qualified domain name (FQDN) that a PTR record points to.' example: example.com format: domain type: string forward_records: description: 'A list of IP addresses that the domain resolves 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. * `VALID` - The PTR record is valid. * `MISSING_FWD` - The PTR points to a domain without an A or AAAA record. * `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. * `ERROR` - The domain''s IP address is invalid. The function returns the reason in the error return. * `IP_IS_PRIVATE` - The IP address exists within a range of private IP addresses. * `VALID` - The PTR record is valid. * `MISSING_PTR` - No PTR records exist for the IP address. * `PTR_MISMATCH` - One or more PTR records point to a domain that does not point back to the correct IP address. **Note:** * DNS does not define PTR records for private IP addresses. * 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. - `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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}\n\ else {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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 for 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 `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) in response to the systems query for example2.coms TXT 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. * `4` * `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. **Note:** If no errors exist, the function does **not** return this value.' example: '''example.com: Sender is not authorized by default to use ''''example.com'''' in ''''helo'''' identity, however domain is not currently prepared for false failures (mechanism ''''~all'''' matched)''' type: string state: description: 'The SPF record''s status: * `PASS` - The `SPF` record confirms that the `ip_address` value is a valid sender. * `NEUTRAL` - The current `SPF` record configuration does not determine the `ip_address` value''s validity. * `FAIL` - The `SPF` record states that the `ip_address` value is **not** a valid sender. * `SOFTFAIL` - The `SPF` record states that the `ip_address` value is **not** a valid sender, but does not `FAIL` state it. * `TEMPERROR` - The `SPF` record check resulted in a failure. For example, a network failure. * `PERMERROR` - The domain''s `SPF` records are **incorrect** and require manual correction. **Note:** These 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: * `VALID` - A single `SPF TXT` record exists in the domain''s DNS with the correct `ip_address` value or redirect mechanism. * `MISMATCHED` - An `SPF TXT` record exists for the domain that does **not** match the `ip_address` value. * `MULTIPLE` - Multiple `SPF TXT` records exist in the domain''s DNS. * `MISSING` - No `SPF TXT` record exists for the domain''s DNS. * `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. - `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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}\n\ else {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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 - `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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 - `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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 * 0 — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `1` - Enabled. * `0` - **Not** enabled. **Note:** For 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n// to .../frontend//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//--------------------------------------------------------------------------------------\n\ function 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. * `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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). * `1` — Plugin. * `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. * `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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n\ # to .../frontend//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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($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//--------------------------------------------------------------------------------------\n\ function 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 a [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. **Note:** The function only returns a message when the feature exists but it is **not** enabled.' example: null items: type: string nullable: true type: array metadata: properties: {} status: description: 'Whether the feature exists on the system. * `1` — The feature exists on the system and it is enabled. * `0` — The feature exists on the system, but the user does **not** have it. * `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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# to\ \ .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n//\ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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 are enabled.' operationId: Features-has_features_like parameters: - description: 'The feature''s name that you wish to search. **Note:** To 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. * `1` - The `pattern` parameter''s value is a regular expression. * `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. * `1` - At least one matching feature is enabled. * `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. Common 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. * `1` - Success. Features were searched and results returned. * `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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `1` - Installed. * `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 is whether the feature is installed. **Note:** This 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# \ \ to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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 in the returned payload.' operationId: Features-list_features_like parameters: - description: 'The feature''s name that you wish to search. **Note:** To 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. * `1` - The `pattern` parameter''s value is a regular expression. * `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. **Note:** The function only returns enabled features.' example: - webmail - emailauth items: type: string nullable: true type: array errors: description: 'List of errors if the API failed. Common 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. * `1` - Success. Features were searched and results returned. * `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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `1` — **Only** include directories. * `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. * `1` — Return HTML-encoded output. * `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 directory. If you set this parameter''s value to `1`, you **must** set the `path` parameter''s value to a full directory path. * `1` — Return **all** files and directories inside the specified directory. * `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. - `0` — Failed. Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# \ \ to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n// \ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# to\ \ .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n//\ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Note:** A 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. * 0 — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# to\ \ .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n//\ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When you disable the [File Storage](https://go.cpanel.net/serverroles) role, the system **disables** this function. **Note:** JSON strings **must** be valid UTF-8. To retrieve a non-UTF-8 file via JSON, we recommend that you give `ISO-8859-1` as `from_charset` and `UTF-8` as `to_charset`, then decode the return payload’s `content` as 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. **Important:** Contexts that serialize the API response as JSON **require** this value to be `utf-8` or `US-ASCII`. Behavior is **undefined** if 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. * `1` — Update the file''s HTML document encoding. * `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. **Note:** Behavior is **undefined** if the calling context requires an encoding that conflicts with the file contents. For example, if the file contents are ISO-8859-1 but the context requires UTF-8 (as is the case with JSON), the system may apply an extra layer of UTF-8 encoding in order to 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# \ \ to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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. * `1` - Flag directories that contain subdirectories. * `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. * `1` - Return the file''s MIME type. * `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. * `1` - Parse the file owner''s read and write permissions. * `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. * `1` - Include hidden files. * `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. * `1` - Exists. * `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: * `KB` - kilobytes * `MB` - megabytes * `GB` - gigabytes' example: 5 KB type: string isleaf: description: 'Whether the directory contains subdirectories. * `1` - Contains subdirectories. * `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. * `1` - Readable. * `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. * `file` - File. * `dir` - Directory. * `char` - Character special device. * `block` - Block special device. * `fifo` - Named pipe. * `link` - Symbolic link. * `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 . * `1` - Writable. * `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. * `0` - Failed. Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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. * `1` — Return subdirectories. * `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. * `1` — Parse file permissions. * `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. * `1` — Return only files that begin with the `filepath-` prefix. * `0` — Return **all** files. If 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. * If you use this parameter, the function returns the specified MIME types and sets the `include_mime` parameter''s value to `1`. * 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. If 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. * If you use this parameter, the function returns the specified MIME types and sets the `include_mime` parameter''s value to `1`. * 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. * `1` — Include hidden files. * `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. * `file` — A file. * `dir` — A directory. * `char` — A character special device. * `block` — A block special device. * `fifo` — A named pipe (FIFO). * `link` — A symbolic link. * `socket` — A Unix domain socket. If 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. * `1` — Exists. * `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 one of the following symbols: * `KB` — Kilobytes. * `MB` — Megabytes. * `GB` — Gigabytes.' example: 5 KB type: string isleaf: description: 'Whether the directory contains subdirectories. * `1` — Contains subdirectories. * `0` — Does **not** contain subdirectories.' enum: - 0 - 1 example: 1 type: integer isparent: description: 'Whether the directory is a parent record. * `1` — A parent record. * `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. * `1` — Readable. * `0` — **Not** readable. **Note:** The 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. * `file` — A file. * `dir` — A directory. * `char` — A character special device. * `block` — A block special device. * `fifo` - A named pipe (FIFO). * `link` — A symbolic link. * `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. * `1` — Writable. * `0` — **Not** writable. **Note:** The 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. * `1` — Exists. * `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 one of the following symbols: * `KB` — Kilobytes. * `MB` — Megabytes. * `GB` — Gigabytes.' example: 5 KB type: string isleaf: description: 'Whether the directory contains subdirectories. * `1` — Contains subdirectories. * `0` — Does **not** contain subdirectories.' enum: - 0 - 1 example: 1 type: integer isparent: description: 'Whether the file is a parent record. * `1` — A parent record. * `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. * `1` — Readable. * `0` — **Not** readable. **Note:** The 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. * `file` — A file. * `dir` — A directory. * `char` — A character special device. * `block` — A block special device. * `fifo` - A named pipe (FIFO). * `link` — A symbolic link. * `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. * `1` — Writable. * `0` — **Not** writable. **Note:** The 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 * `0` — Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n//\ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n// \ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# to\ \ .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n//\ \ to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. * `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Note:** This 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 character set if it cannot save in the specified character set. * `1` — Save in the default character set. * `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. * `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n// \ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# to .../frontend//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\n\ if ($response->{cpanelresult}{result}{status}) {\n my $data = $response->{cpanelresult}{result}{data};\n #\ \ Do something with the $data\n # So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n//\ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Note:** * A relative path resolves against the account''s home directory. * This parameter defaults to the account''s home directory. * 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. * `1` - Return the `diskinfo` object. * `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. * `1` - Overwrite the existing file. * `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)\n\ documentation.\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 name, formatted for display. For example, `4.5 GB`.' 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. * `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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic 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. **Important:** When 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. * `1` — Strip dots. * `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. **Note:** This 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. **Note:** You 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. **Note:** * 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. * 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). **Note:** A 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n// to .../frontend//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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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. * `1` - Allowed. * `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 * `0` - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# \ \ to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. * `1` - Allowed. * `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 * `0` - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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. * `1` — Delete the home directory. * `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. **Note:** This 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n// to .../frontend//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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. **Note:** This 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. **Note:** This 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n// to .../frontend//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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. * `1` – Enabled. * `0` – Disabled.' enum: - 0 - 1 example: 1 type: integer name: description: 'The FTP server''s name. * `pure-ftpd` * `proftpd` * 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. * `1` – Supported. * `0` – **Not** supported.' enum: - 0 - 1 example: 0 type: integer quota: description: 'Whether the FTP daemon supports disk quotas. * `1` – Supported. * `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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# \ \ to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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 * `0` - Failed. Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n// to .../frontend//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//--------------------------------------------------------------------------------------\n\ function 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. **Note:** This 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. * `unlimited` * 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n// to .../frontend//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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. - `0` — Failed. Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# \ \ to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. * `0` - Failed. Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n// \ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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. * `anonymous` * `logaccess` * `main` * `sub` If you do not specify this parameter, this function returns all FTP account types. **Note:** * Separate multiple types with the pipe character (`|`). * 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 results. * `anonymous` * `logaccess` * `main` * `sub` If you do not specify this parameter, this function does **not** exclude any account types. **Note:** * Separate multiple types with the pipe character (`|`). * 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. * `anonymous` * `logaccess` * `main` * `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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n// to .../frontend//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}\n\ else {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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. If you do not specify this parameter, the function returns all FTP account types. Valid types for this list are: * `anonymous` * `logaccess` * `main` * `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 results. If you do not specify this parameter, the function does **not** exclude any account types. Valid types for this list are: * `anonymous` * `logaccess` * `main` * `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, encoded as a string. `0.00` means that the quota is unlimited. **Note:** This 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, with two digits of fractional precision, encoded as a string. **Note:** This value is the same as the value for `diskused`.' example: '2.34' format: ^\d+\.\d+$ type: string accttype: description: 'The type of FTP account. * `anonymous` * `logaccess` * `main` * `sub`' enum: - anonymous - logaccess - main - sub example: sub type: string deleteable: description: 'Whether the function''s caller can delete the account. * `1` – The caller can delete the account. * `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. * `unlimited` * The disk quota in megabytes, with two digits of fractional precision, encoded as a string. **Note:** This 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, with two digits of fractional precision, encoded as a string. **Note:** This 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. * `None` — The function returns this value if the account has an unlimited quota. * 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 human-readable format. The function formats this value as the quota''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, relative 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# \ \ to .../frontend//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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($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//--------------------------------------------------------------------------------------\n\ function 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. **Note:** The 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. - `IDLE` - The session is connected, but idle. - `DL` - A download is in progress. - `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. - `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n// \ \ to .../frontend//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\n\ header('Content-Type: text/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}\n\ else {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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. **Note:** This 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# to .../frontend//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\n\ if ($response->{cpanelresult}{result}{status}) {\n my $data = $response->{cpanelresult}{result}{data};\n #\ \ Do something with the $data\n # So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n// to .../frontend//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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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. * `pure-ftpd` - The Pure-FTPD server. * `proftpd` - The ProFTPD FTP server. * `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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n// \ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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. * `1` - Enable. * `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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# to\ \ .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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. * `1` - Enable. * `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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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. **Note:** The 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 **Note:** This 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n// \ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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. **Note:** The 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. **Note:** Setting 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n// to .../frontend//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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# \ \ to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n//\ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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----- Version: GnuPG v2.0.22 (GNU/Linux) mQMuBFzwFyMRCADgNf7GHvCgb2/HWBYVAzu408eXEO4ucWGfbD5c5BOHg7WBVOkh j+J0HYaeh9FwOXLJAzesiGtTU/HQ5wNkBbKRYR2oNEUbiefBgQhjllIGJNnFCQbD TcyxXjKUF4aQBw6InqzM9akVChLvGoCfom/y1fcwrQ5OQ46EEjhe9lSnj1E2DIi+ 0PvOsWeehChtn28WkmXPcl+XovfsCl5vh2RnJQeJwkSwBogA1GObj9fnPBbrIUt2 F5JDaJ7/R8aDwV1Pg2mBmRqTBIKvx6gxEQgCL52OWCKVJfqy5oVGDl/2u0BGCaRt 3Tnh9B14Lk8frBaOjYMtMq1Rl3rPDc3KCRnLAQC6dMNJCxIoyfeEFqj0HgwHETYn QNGwUaRrOGKLJbMnewf/Yq0S2R6YvMl8pDQeSExYJaqv/u2Hch6GM0f3CSvMnPSg oB2c/h4MmhmiAbymSO5GBaM4Nx3NTNYU0JpghkTTJpucFZ8hK/aJ8PDQzBnS0zTY F8ZqSMFL84QB1NTd1nlJnilpKCkBC6NHUh76IyLQEsH7jgOG9L28qnLxm8bGHwaJ mhEH2Y859WzN9hUTZEMxdklI8uwdI+msI7md0uNYiWr5svtM+rrpU+LCZMG+nTCy 6q0CNLXM0T0Fa642mYSqV307Ouv5rjGvfohIOo5X8ikBoEIOAQk6LX800OzzYGG4 X75Q4irMuehEK3tId5VIRToy9MRLP6fyOVHwfhzD6Af/R2TJjIdEkEGdspuw9875 N4z9xV2QNVNgURIOutrfeKSbb7gRLgV7TWpKWItMoEO1njzb4YqoHwcAASj4TDaT iCYun6u12Mb97L0S3QDaD3sLk7P5sZvnO//k/YxbGISv+HGl5rSF87kVectLYpAL ehL2EBmyxP4nxhSDOqhc0rbaqOZ+b4F1ns4NsUJjxIqQJZ+ovTqkmKnh3YbBeMAb sPcjyfQNmYE9qFXw17vJMm6ypNsuDIvxKCDq4QpO3/MujYX0Hg7aGOq4aWtndcL0 PfpukTLvTA+AedMj+0QHWiP15bSxCJKqa0O62mKWnrzL0Tju8FKTwVHgRoW57GY/ ZbQmYmVuZGVyIChpcyBncmVhdCkgPGJlbmRlckBleGFtcGxlLmNvbT6IgQQTEQgA KQUCXPAXIwIbIwUJAeEzgAcLCQgHAwIBBhUIAgkKCwQWAgMBAh4BAheAAAoJEEi+ paFvynRuACUA/1/usChuLicDwCbBlJpcYWaAkt4bC4z+wFAONKnwwlHoAQCq3GRM to4CkoB6pK1Zh+s5SitojUFrKEj8CJNkAQOGaLkCDQRc8BcjEAgA4CY3AKnkIvSz fcsFCf1NmZipQGLChs3iIhqa3NPiopYpYMNTdCZkkDMSDM40+d/LthpYnbzYVgPB N9OFMdL/ndf/yu0jPEZE1uEpxvH1X/x2IecMy7wm51usxpBWwSw7BTLfA9ASzDtH 8fnkid2qY2J6fNWZDA5wrNR4auVKDkqKsatMC75GkHcT2NevLdh8SuYH60kQsmvD OkuE4ufIwzlnQ4HFKsYTxn6QIQY18entu563f+RCoUCNv2J0zxXFzvy+eo568+Uh x4Irz9OQRNUh/82a2HF10oUvkPEtCDlMy8gISEqnU1i2Ry8IsbUrvhz+my5yb5Gm Zz+xOKWTiwADBQf/YOYKvHIWw4/vsbLUPMmjDdMfsnT0haDlLerCSHhY+ZLzYQdz /7hC4Qt/5EvaGeXkwAPzr0T4PvVOQUUAiskvDNScYQxS5KxyrHAqoKkF4EDJ9MyK DqEN6dF9IDOxuA1g0cOX7THPm3GjRh3BjOaHnN5jXKwT85Cs7hj7u1q9Cm59RUzJ wRKyxo9eR3pJMR+8E0VW8oRe/7O/Qvh54ShD7NkfgUhIWcriR9MjoGp0gnpCOH52 LrfdczCIzAoUC4Q3Jm80sCeZAqf4CNHZ0TxqxuwG+ZkfbCBViM4TVXDEufA4IENM mEu2bNWDLkRrrNme+S4HEeNRuSg8EOpFUuwPI4hnBBgRCAAPBQJc8BcjAhsMBQkB 4TOAAAoJEEi+paFvynRu0YsA/0rluXh9ij3Np4O/KWuL2L8zcOrJJ7mNFuw0wkpY fZ3NAP9ayHG+70XellsQ/E3lR8fkRwqDDRh43w7ukhJEfkcY9A== =yyST -----END PGP PUBLIC 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# to\ \ .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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----- Version: GnuPG v2.0.22 (GNU/Linux) lQNTBFzwFyMRCADgNf7GHvCgb2/HWBYVAzu408eXEO4ucWGfbD5c5BOHg7WBVOkh j+J0HYaeh9FwOXLJAzesiGtTU/HQ5wNkBbKRYR2oNEUbiefBgQhjllIGJNnFCQbD TcyxXjKUF4aQBw6InqzM9akVChLvGoCfom/y1fcwrQ5OQ46EEjhe9lSnj1E2DIi+ 0PvOsWeehChtn28WkmXPcl+XovfsCl5vh2RnJQeJwkSwBogA1GObj9fnPBbrIUt2 F5JDaJ7/R8aDwV1Pg2mBmRqTBIKvx6gxEQgCL52OWCKVJfqy5oVGDl/2u0BGCaRt 3Tnh9B14Lk8frBaOjYMtMq1Rl3rPDc3KCRnLAQC6dMNJCxIoyfeEFqj0HgwHETYn QNGwUaRrOGKLJbMnewf/Yq0S2R6YvMl8pDQeSExYJaqv/u2Hch6GM0f3CSvMnPSg oB2c/h4MmhmiAbymSO5GBaM4Nx3NTNYU0JpghkTTJpucFZ8hK/aJ8PDQzBnS0zTY F8ZqSMFL84QB1NTd1nlJnilpKCkBC6NHUh76IyLQEsH7jgOG9L28qnLxm8bGHwaJ mhEH2Y859WzN9hUTZEMxdklI8uwdI+msI7md0uNYiWr5svtM+rrpU+LCZMG+nTCy 6q0CNLXM0T0Fa642mYSqV307Ouv5rjGvfohIOo5X8ikBoEIOAQk6LX800OzzYGG4 X75Q4irMuehEK3tId5VIRToy9MRLP6fyOVHwfhzD6Af/R2TJjIdEkEGdspuw9875 N4z9xV2QNVNgURIOutrfeKSbb7gRLgV7TWpKWItMoEO1njzb4YqoHwcAASj4TDaT iCYun6u12Mb97L0S3QDaD3sLk7P5sZvnO//k/YxbGISv+HGl5rSF87kVectLYpAL ehL2EBmyxP4nxhSDOqhc0rbaqOZ+b4F1ns4NsUJjxIqQJZ+ovTqkmKnh3YbBeMAb sPcjyfQNmYE9qFXw17vJMm6ypNsuDIvxKCDq4QpO3/MujYX0Hg7aGOq4aWtndcL0 PfpukTLvTA+AedMj+0QHWiP15bSxCJKqa0O62mKWnrzL0Tju8FKTwVHgRoW57GY/ ZQABALMunDJSN+b/VyFzqifGvopLxJFqA4un4WjGEY9jvJooD7e0JmJlbmRlciAo aXMgZ3JlYXQpIDxiZW5kZXJAZXhhbXBsZS5jb20+iIEEExEIACkFAlzwFyMCGyMF CQHhM4AHCwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRBIvqWhb8p0bgAlAP9f 7rAobi4nA8AmwZSaXGFmgJLeGwuM/sBQDjSp8MJR6AEAqtxkTLaOApKAeqStWYfr OUoraI1BayhI/AiTZAEDhmidAj0EXPAXIxAIAOAmNwCp5CL0s33LBQn9TZmYqUBi wobN4iIamtzT4qKWKWDDU3QmZJAzEgzONPnfy7YaWJ282FYDwTfThTHS/53X/8rt IzxGRNbhKcbx9V/8diHnDMu8JudbrMaQVsEsOwUy3wPQEsw7R/H55IndqmNienzV mQwOcKzUeGrlSg5KirGrTAu+RpB3E9jXry3YfErmB+tJELJrwzpLhOLnyMM5Z0OB xSrGE8Z+kCEGNfHp7buet3/kQqFAjb9idM8Vxc78vnqOevPlIceCK8/TkETVIf/N mthxddKFL5DxLQg5TMvICEhKp1NYtkcvCLG1K74c/psucm+Rpmc/sTilk4sAAwUH /2DmCrxyFsOP77Gy1DzJow3TH7J09IWg5S3qwkh4WPmS82EHc/+4QuELf+RL2hnl 5MAD869E+D71TkFFAIrJLwzUnGEMUuSscqxwKqCpBeBAyfTMig6hDenRfSAzsbgN YNHDl+0xz5txo0YdwYzmh5zeY1ysE/OQrO4Y+7tavQpufUVMycESssaPXkd6STEf vBNFVvKEXv+zv0L4eeEoQ+zZH4FISFnK4kfTI6BqdIJ6Qjh+di633XMwiMwKFAuE NyZvNLAnmQKn+AjR2dE8asbsBvmZH2wgVYjOE1VwxLnwOCBDTJhLtmzVgy5Ea6zZ nvkuBxHjUbkoPBDqRVLsDyMAAVIC+56gmf2bW2mDuoFFUW6KT6jorvvbmXSZHi1L AGhQj/Q83gRejq2g+DYiFlCIZwQYEQgADwUCXPAXIwIbDAUJAeEzgAAKCRBIvqWh b8p0btGLAPsFHEqEg/qrEpjFu/9B8KvBWBgqIJm9XtDgaVaaHjzR4AD/XcrEvMuc PVYssXICwKbDwxWEYqhpI6ms0IOob0PH8hE= =W2NA -----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. - 0 - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# to\ \ .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Note:** This 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 as a timestamp in [Unix time format](http://en.wikipedia.org/wiki/Unix_time). **Note:** This 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. **Note:** Large 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. * `0` - The key will expire. * `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. - `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n// \ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Note:** You 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n// to .../frontend//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//--------------------------------------------------------------------------------------\n\ function 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 currently-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. * RSA * 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, in [Unix time format](http://en.wikipedia.org/wiki/Unix_time).' example: '1559238435' type: string expires: description: 'When the key will expire, in [Unix time format](http://en.wikipedia.org/wiki/Unix_time). **Note:** If the key does not expire, this 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. **Note:** This 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: * The username. * The key''s comment in parentheses. * The key''s email address in angle brackets (<>).' example: bender (is great) 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 - `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# to\ \ .../frontend//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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n//\ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `RSA` * `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. * `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: * The username. * A comment in parentheses. * The key''s email address in angle brackets (`<>`).' example: username (John Doe) 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`. * `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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# to\ \ .../frontend//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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n//\ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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. * 0 — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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``). **Important:** When 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. **NOTE:** This 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. - 0 - Failed. Check the ``errors`` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n\ # to .../frontend//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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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. **Note:** Use 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. * `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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. **Note:** Use 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 image file. **Note:** * If you don''t pass this parameter, the function doesn''t save a copy of the original image. * 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. * `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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: ' This function returns whether the in-product survey banner should display for the current user and the survey link. **Notes:** * The function selects a link template based on whether the authenticated user is a webmail user or a cPanel/Team user. * 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. * `1` — Display the banner. * `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. * `1` — New user experience. * `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. * `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 \ --user=username \ InProductSurvey \ get_in_product_survey_url ' - label: URL lang: HTTP source: 'https://hostname.example.com:2083/cpsess##########/execute/InProductSurvey/get_in_product_survey_url ' - 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();\n\ sub to_json { require JSON; JSON->new->pretty->encode($_[0]) }\n" - label: LiveAPI PHP lang: PHP source: "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. * `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# to\ \ .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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) fingerprint.' 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. * `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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n// \ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n// \ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `0` Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n// \ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `new` — The host does **not** already exist. * `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. * `1` — Exists. * `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. * `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n// \ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `1` - Return domains that inherit the system''s default PHP version. * `0` - Do **not** return domains that inherit the system''s default PHP version. **Note:** If 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. **Note:** This 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. - `ea-php72` - `ea-php73` - `ea-php74` - 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. - `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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 status, versions, virtual hosts, and accounts. Note: 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. **Note:** * `1` - The primary domain * `0` - **Not** the primary domain' enum: - 1 - 0 example: 1 type: integer php_fpm: description: 'Whether FPM is enabled on the virtual host. * `1` - PHP-FPM enabled. * `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. * `ea-php72` * `ea-php73` * `ea-php74` * 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n\ # to .../frontend//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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($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//--------------------------------------------------------------------------------------\n\ function 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). * `PHP_INI_SYSTEM` * `PHP_INI_PERDIR` * `PHP_INI_ALL` * `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. * `string` * `boolean` * `integer` * `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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `home` * `vhost` **Important:** If 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 = ".;/path/to/php/pear"\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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `1` - Primary domain. * `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. * `home` * `vhost`' enum: - home - vhost example: vhost type: string version: description: 'The default PHP version. - `ea-php##`, where `##` represents the major and minor versions of PHP (for example, `ea-php72` represents PHP 7.2). - 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. **Note:** * 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. * You **must** format values as `:` ' 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. * `home` * `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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `0` Failed. Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n\ # to .../frontend//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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `ltr` - left to right. * `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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# to\ \ .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. * `ltr` - Left to right. * `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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# to\ \ .../frontend//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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n//\ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n// \ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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: * Must reside in the user''s `~/logs` directory. * Must end with `.gz`. * Must not contain path traversal characters. ' 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. * `0` - Failed. Check the `errors` field for more details. ' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `1` — Archives the logs. * `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. * `1` — Removes the logs. * `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. A value of `0` means the system retains logs indefinitely. When 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. * `1` — Uses the server default. * `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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# \ \ to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# \ \ to .../frontend//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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($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//--------------------------------------------------------------------------------------\n\ function 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 and 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 return 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 (server local time). * `1` — The file was modified today. * `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 timestamp.' 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. * `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# is the theme\ \ assigned to the cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to the cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Note:** You **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 system processes statistics. * `1` — Archive the logs. * `0` — Do **not** archive the logs. **Note:** * This parameter defaults to the `archive-logs` setting''s value in the user''s `~/.cpanel-logs` file. * 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. * `1` — Remove the logs. * `0` — Do **not** remove the logs. **Note:** * This parameter defaults to the `remove-old-archived-logs` setting''s value in the user''s `~/.cpanel-logs` file. * 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. * `0` — Retain logs indefinitely. * `-1` — Clear the per-user override and revert to the server default. * Any positive integer — Retain logs for that many days. When 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# \ \ to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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 file for a domain owned by the current cPanel user and returns them 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. * `php_fpm_error_log` — The PHP FPM error log. This file is located in the `logs/` directory within the cPanel account''s home directory. * `docroot_error_log` — The PHP error log. This file is located in the domain''s document root directory. * `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. **Note:** Values 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 and its content.' properties: file_id: description: 'The identifier of the log file that was read. Same value as the `file_id` input parameter. * `php_fpm_error_log` — The PHP FPM error log. This file is located in the `logs/` directory within the cPanel account''s home directory. * `docroot_error_log` — The PHP error log. This file is located in the domain''s document root directory. * `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. **Note:** This 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. * `1` — The file was modified today. * `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. **Note:** This 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. * `1` — The file exceeds the `limit` parameter''s value. * `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. **Note:** This 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. * `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# is the theme\ \ assigned to the cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to the cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Note:** * Use the `Mailboxes::get_mailbox_status_list` function to list possible values for the mailbox parameter. * 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. **Note:** The 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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). Use 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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}\n\ else {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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 character-encoded mailbox names. **Note:** This 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. * `1` - Uses UTF-8 character-encoded mailbox names. * `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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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 names. * `1` - Enable UTF-8 encoded mailbox names. * `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. * `1` - Success. * `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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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: REDACTED_CERTIFICATE_EXAMPLE 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. * `1` - Deleted. * `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 provider for the certificate. ' example: 1458061262 format: unix_timestamp type: integer last_status_code: description: 'The last status code of the order. * `CertificateNotFound` - The system cannot locate the specified certificate. * `RequiresApproval` - The specified certificate requires approval. * `OrderCanceled` - The system cancelled the order of the specified certificate. * `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. * `confirmed` - Payment confirmed. * `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 * `0` - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 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: 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n\ # to .../frontend//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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($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//--------------------------------------------------------------------------------------\n\ function 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. * `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# \ \ to .../frontend//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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($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//--------------------------------------------------------------------------------------\n\ function 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. * `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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 actionable URLs for users to expedite the validation process, if applicable. **Important:** Because this function returns data from a dynamic source, the returns in each object 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. * `VALIDATED` - The domain has been validated. * `NOTVALIDATED` - The domain has **not** been validated. * `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. * `not applicable` - This is **not** applicable for the certificate. * `not-completed` - The certificate''s brand validation is **not** complete. * `completed` - The certificate''s brand validation is complete. * `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. * `not applicable` - This is **not** applicable for the certificate. * `not-completed` - The certificate''s issue is **not** completed. * `completed` - The provider has issued the certificate. * `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. * `not applicable` - This is **not** applicable for the certificate. * `not-completed` - The CSR for the certificate is **not** complete. * `completed` - The CSR for the certificate is complete. * `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. * `not applicable` - This is **not** applicable for the certificate. * `not-completed` - The DCV for the certificate is **not** complete. * `completed` - The DCV for the certificate is complete. * `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. * `not applicable` - This is **not** applicable for the certificate. * `not-completed` - The EV certificate''s requirements check is **not** complete. * `completed` - The EV certificate''s requirements check is complete. * `in-progress` - The EV certificate''s requirements check is in progress. For 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. * `not applicable` - This is **not** applicable for the certificate. * `not-completed` - The DV certificate''s requirements check is **not** complete. * `completed` - The DV certificate''s requirements check is complete. * `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. * `not applicable` - This is **not** applicable for the certificate. * `not-completed` - The OV certificate''s requirements check is **not** complete. * `completed` - The OV certificate''s requirements check is complete. * `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. * `not applicable` - This is **not** applicable for the certificate. * `not-completed` - The CA has **not** verified the organization''s validity via phone. * `completed` - The CA has verified the organization''s validity via phone. * `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. * `not applicable` - This is **not** applicable for the certificate. * `not-completed` - The certificate''s validation is **not** complete. * `completed` - The certificate''s validation is complete. * `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. * `0` - Failed. Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. * `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# \ \ to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# to\ \ .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n//\ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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: REDACTED_CERTIFICATE_EXAMPLE 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. * `1` - Deleted. * `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. * `CertificateNotFound` - The system cannot locate the specified certificate. * `RequiresApproval` - The specified certificate requires approval. * `OrderCanceled` - The system canceled the order of the specified certificate. * `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. * `confirmed` - Payment confirmed. * `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. * `0` - Failed. Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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}\n\ else {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. * `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# \ \ to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n\ # to .../frontend//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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($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//--------------------------------------------------------------------------------------\n\ function 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. * `null` - The certificate is not available. * A certificate file in [Base64 PEM](https://en.wikipedia.org/wiki/Privacy-Enhanced_Mail) format.' example: REDACTED_CERTIFICATE_EXAMPLE 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. **Note:** This 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. * An encrypted URL. * `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. * An encrypted URL. * `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. **Note:** If 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 * `0` - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: 'List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. * `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: REDACTED_CERTIFICATE_EXAMPLE format: base64 certificate type: string deleted: description: 'Whether the system has deleted the item from the pending queue. * `0` - Deleted. * `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. * `1` - Deleted. * `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. * `1` - Installed. * `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. * `CertificateNotFound` - The system cannot locate the specified certificate. * `RequiresApproval` - The specified certificate requires approval. * `OrderCanceled` - The system canceled the order of the specified certificate. * `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. For example, why a certificate authority rejected an SSL certificate. **Note:** If 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. * `confirmed` - Payment confirmed. * `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 * `0` - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 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: 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n\ # to .../frontend//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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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: **For HTTP-based DCV only:** Use an array of strings that contains `dNSName` and the domain. For example: `[["dNSName","example.com"],["dNSName","example.org"]]` **DNS-based DCV or HTTP-based DCV:** Use an array of objects that consits of: * `type:dNSName` * `name` — The domain name. * `dcv_method` — Either the `dns` or `http` value for for DNS-based or HTTP-based Domain Control Validation (DCV). For example: `[{type:“dNSName”,name:“text.example.com”,dcv_method:“dns”},{type:“dNSName”,name:“text.example.com”,dcv_method:“http”}]` **Note:** * Custom provider modules that include DNS-based DCV requests **must** use the array of objects format, **not** the array of strings format. * This function does **not** automatically include the corresponding `www.` subdomain for each domain that you declare in this parameter. * If you wish to order the `www.` subdomain for a domain, you **must** explicitly declare it in an additional array or object within the `subject_names` parameter.' validity_period: description: 'The period of time the certificate will remain valid. This 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. **Note:** An 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. **Note:** To request multiple certificates, duplicate or increment the parameter name. For example, to request three certificates, use the `certificate` parameter multiple times or use the `certificate-1`, `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. **Note:** The 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. **Note:** This 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 * `0` - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: 'List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Note:** To 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. * `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. * `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. * `0` - Failed. Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `0` Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n// \ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Note:** To 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. **Note:** To protect multiple URLs, separate each URL with a newline character.' examples: multiple: summary: Add hotlink protection for multiple sites. value: 'http://example.com/ http://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. * `1` - Allows. * `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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n// \ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n// to .../frontend//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//--------------------------------------------------------------------------------------\n\ function 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 filename within the destination directory. * `1` - Redirect all files within the directory. * `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`. * `2` - Redirect with `www`. * `1` - Redirect without `www`. * `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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n// \ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `0` - Failed: Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# to\ \ .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n//\ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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 * `0` - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# to\ \ .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n//\ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n// \ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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. If 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# to\ \ .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n//\ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `1` - Redirects. * `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 * `0` - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n// \ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. - system - 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# to .../frontend//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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n//\ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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. * `1` - Allows hotlinks. * `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. * `enabled` * `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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n//\ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `system` — List the Apache system MIME types. * `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. * `system` * `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 * 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# to .../frontend//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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n// to .../frontend//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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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. ** Note: ** This 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. * `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. * `rewrite` — The request sent a redirect to another path on the server. * `redirect` — The request sent a redirect for the URL. * `redirectmatch` — The request sent a redirect based on a regular expression match of the URL.' enum: - rewrite - redirect - redirectmatch example: rewrite type: string matchwww: description: 'Whether the redirect matches `www.` subdomains. * `1` — Matches. * `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. * `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 the [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. * `permanent` — The redirect is permanent. * `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. * `1` — Matches. * `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. * `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. * `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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# to\ \ .../frontend//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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n//\ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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 **`. **Important:** When 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 **`. * A valid domain. * `** 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. * `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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n//\ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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. * `1` - Enabled. * `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. * `main` - A main domain. * `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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n\ # to .../frontend//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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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. **Important:** The 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. * `1` - Enabled. * `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. * `main` - A main domain. * `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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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. * `1` - Enabled. * `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. * `main` - A main domain. * `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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n\ # to .../frontend//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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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. **Important:** The 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. * `1` - Enabled. * `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. * `main` - A main domain. * `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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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. * `1` - Installed. * `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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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. * `1` - Enabled. * `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. * `main` - A main domain. * `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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# \ \ to .../frontend//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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($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//--------------------------------------------------------------------------------------\n\ function 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\n\ When 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. You may use the following IP address formats: * `192.168.1.6` — IP address. * `192.168.%.%` — Range with the percent (%) symbol as a wildcard. * `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 * `0` - 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n// to .../frontend//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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. **Important:** * If you attempt to add a note to an unauthorized remote MySQL server, the function will fail. * 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. You may use the following IP address formats: * `192.168.1.6` — IP address. * `192.168.%.%` — Range with the percent (%) symbol as a wildcard. * `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 * `0` - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 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: 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¬e=A%20remote%20mysql%20server%20for%20storing%20my%20data - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# to\ \ .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n//\ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** 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-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. * `status` * `error` * `info` * `note` * `warning` **Note:** For 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 * `0` - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: 'List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# to\ \ .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n//\ \ to .../frontend//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\n\ header('Content-Type: text/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}\n\ else {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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 * `0` - Failed: Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# to\ \ .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** 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-create_user parameters: - description: 'A valid database username. Important: ==== To learn more about database username limits, check your database type: MySQL 5.6 ---- MySQL 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. For example: * A `db_` database prefix allows MySQL usernames of up to 13 characters. * An `example_` database prefix allows MySQL usernames of up to eight characters. MySQL 5.7+ ---- MySQL 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. For example: * A `db_` database prefix allows MySQL usernames of up to 29 characters. * An `example_` database prefix allows MySQL usernames of up to 24 characters. MariaDB ---- MariaDB 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. For example: * A `db_` database prefix allows MariaDB usernames of up to 44 characters. * 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 * `0` - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: 'List of warnings generated by the API. Warnings 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n// \ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** when 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-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 * `0` - 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# to\ \ .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** 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-delete_host parameters: - description: 'The remote MySQL server''s hostname, IP Address, or IP address range. **Note:** You may use the following IP address formats: 192.168.1.6 — IP address. 192.168.%.% — Range with the percent (%) symbol as a wildcard. 192.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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n// \ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** 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-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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n// \ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# to\ \ .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n//\ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** 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_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. **Important:** If 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: 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 * `0` - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: 'List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n\ # to .../frontend//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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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}\n\ else {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. * If database prefixing is enabled, a string of up to the first eight characters of the cPanel account username, and an underscore (_). * 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# \ \ to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. * `1` - Remote host. * `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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. **Important:** 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-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. **Note:** If 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. * `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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# to\ \ .../frontend//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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n//\ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# to\ \ .../frontend//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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n//\ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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 database user. **Note:** If no users are assigned to a database, the function returns an 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n// \ \ to .../frontend//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\n\ header('Content-Type: text/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}\n\ else {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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. * `1` - Remote host. * `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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# to\ \ .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n//\ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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.\n\ 2. 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. **Important:** * If database prefixing is enabled, you **must** prefix this value with the account prefix and an underscore (`_`). For example, for the `dbuser` database on the user cPanel account, pass in a value of `user_dbuser`. * The maximum length of the database name is 64 characters. However, due to the method that cPanel & WHM uses to store MySQL database names, each underscore character requires two characters of that limit. Therefore, if you enable database prefixing, the maximum length of the database name is 63 characters, which includes both the database prefix and the underscore character. Each additional underscore requires another two characters of that limit.' 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 * `0` - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: 'List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# to\ \ .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. Important: ==== To learn more about database username limits, check your database type: MySQL 5.6 ---- MySQL 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. For example: * A `db_` database prefix allows MySQL usernames of up to 13 characters. * An `example_` database prefix allows MySQL usernames of up to eight characters. MySQL 5.7+ ---- MySQL 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. For example: * A `db_` database prefix allows MySQL usernames of up to 29 characters. * An `example_` database prefix allows MySQL usernames of up to 24 characters. MariaDB ---- MariaDB 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. For example: * A `db_` database prefix allows MariaDB usernames of up to 44 characters. * 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 * `0` - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n// \ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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-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. * `status` * `error` * `info` * `note` * `warning` **Note:** For 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# to\ \ .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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}\n\ else {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. **Important:** 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-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. **Important:** If 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: 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 * `0` - 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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 * `0` - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: 'List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n//\ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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. **Important:** If 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. **Important:** If 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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]/+ is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n# \ \ to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** 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-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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# \ \ to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# \ \ to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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 account''s primary domain. **Note:** This function lists only the domains parked on the primary domain. Use the `AddonDomain::listaddondomains` function for the domains parked on a subdomain.' 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. * `1` - Include the HTTPS redirect status. * `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. * `1` - The system can redirect the domain. * `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. * `1` - The system redirects the domain. * `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. * `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# is the theme\ \ assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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),\n\ the 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. * `1` - Remove dots from the subdomain label. * `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. * `1` - Overwrite an existing zone. * `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. Omit 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. * `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# is the theme\ \ assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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),\n\ the 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. Omit 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. * `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# is the theme\ \ assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **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. - `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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. * `0` - Failed. Check the errors field for more details.' enum: - 0 - 1 example: 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `gem` — Ensure ruby gems in the application’s `Gemfile` file. * `npm` — Ensure node packages in the application’s `package.json` file. * `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. - `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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**: The top-level keys are the names of the applications. The 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. * `1` — Enabled. * `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. Passenger uses Nodejs to run the application. **Note**: The function only returns this value if you configure this application to use Nodejs.' 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. Passenger uses Python to run the application. **Note**: The function only returns this value if you configure this application to use Python.' example: /usr/bin/python format: path type: string ruby: description: 'The path of the Ruby executable. Passenger uses Ruby to run the application. **Note**: The function only returns this value if you configure this application to use Ruby.' 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. - `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. - `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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 NVData is a per-account configuration storage mechanism that you can use to maintain persistent cPanel & WHM settings across multiple sessions. This includes custom settings for your own themes and plugins. **Note:** NVData 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. **Note:** * You set this return''s name based on the keys that you provide in the `personalization` parameter with the UAPI `Personalization::set` function. * 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 - `0` — Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 Host: example.com:2083 Cookie: ################################### Content-Type: application/json Content-Length: 27 {"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 NVData is a per-account configuration storage mechanism that you can use to maintain persistent cPanel & WHM settings across multiple sessions. This includes custom settings for your own themes and plugins. **Note:** NVData 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. **Note:** You 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 - `0` — Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 Host: example.com:2083 Cookie: ################################### Content-Type: application/json Content-Length: 50 {"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. **Note:** The 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. * `1` — Can show promotions. * `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. * `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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/\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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/\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 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# is the theme\ \ assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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 * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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. **Note:** If 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. * `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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# \ \ to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. *`0` - Failed. Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# \ \ to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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. **Note** If 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. **Note** If 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. * `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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 * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to\ \ .../frontend//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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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. **Note:** If 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. **Note:** If 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 * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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. **Note:** If 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. **Note:** If 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 * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# \ \ to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Warning:** * 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. * We **strongly** recommend that you use the `Postgresql::rename_user function` instead of this one. **Important:** When 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. **Note:** If 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. **Note:** If 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 * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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. **Note** If 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. **Note** If 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 * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. **Note:** If 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# \ \ to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. Some versions of PostgreSQL are ANSI SQL-92 compliant and do not support recursive grants, wildcard grants, or future grants. If you use phpPgAdmin, or manually create new tables, and you want multiple PostgreSQL users to access your PostgreSQL tables, you may either call this API function or click _Synchronize Grants_ in the _PostgreSQL Databases_ interface (_Home >> Databases >> PostgreSQL Databases_) after you add a table. **Important:** When 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. * `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. **Note:** * Your Pushbullet token is available on [Pushbullet''s My Account](https://www.pushbullet.com/account) page under the *Access Token* heading. * 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 [Pushbullet''s API documentation](https://docs.pushbullet.com/). **Warning:** This return may contain values that are Boolean primitives. JSON properly 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) can send a message to you via Pushbullet. This 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. * `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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * A positive integer. * `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. * A positive integer. * `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. * A positive integer. * `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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. * `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. * `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. * `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). * `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). * `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). * `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. * `1` — Under limit. * `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). * `1` — Under limit. * `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. * `1` — Under limit. * `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. * `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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to\ \ .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n//\ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `1` — Logged in. * 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. * `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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# \ \ to .../frontend//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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($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//--------------------------------------------------------------------------------------\n\ function 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. * `format_bytes` * `format_bytes_per_second` * `percent` * `null` — No defined output format. **Note:** Third-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. * `disk_usage` * `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*). * `cachedmysqldiskusage` * `cachedpostgresdiskusage` - This function **only** returns this value if [PostgreSQL® databases](https://go.cpanel.net/cpaneldocsPostgreSQLDatabases) are enabled. * `bandwidth` * `addon_domains` * `subdomains` * `aliases` * `email_accounts` * `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*). * `autoresponders` * `forwarders` * `email_filters` * `ftp_accounts` - This function **only** returns this value if FTP accounts exist on the server. * `mysql_databases` - This function **only** returns this value if MySQL® databases are enabled. * `postgresql_databases` **Note:** Certain `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. - `0` - Failed. Check the errors field for more details.' enum: - 0 - 1 example: 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# \ \ to .../frontend//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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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. **Note:** The 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. * `1` - Conflict exists. * `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. * `1` - File exists in the user''s directory. * `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. * `dir` - A directory. * `file` - A file. * `symlink` - A symlink. * `unknown` - An unknown file type.' enum: - dir - file - symlink - unknown example: file type: string type: description: 'The item type stored in the backup. * `dir` - A directory. * `file` - A file. * `symlink` - A symlink. * `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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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}\n\ else {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. **Note:** When 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n// \ \ to .../frontend//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\n\ header('Content-Type: text/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}\n\ else {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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. **Note:** The 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 local disk or only in the backup. * `1` — Show the `exist` return''s value. * `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. * A date, in `YYYY-MM-DD` format. * `incremental` — An incremental daily backup. * The backup frequency (`weekly` or `monthly`) , a slash character (`/`), and the value `incremental`. * 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. * `compressed` — A compressed tar file. * `incremental` — A full tree of files and directories. * `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. * `1` — The item exists in the local disk. * `0` — The item exists only in the backup. **Note:** This 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. **Note:** The 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. * `dir` — A directory. * `file` — A file. * `symlink` — A symlink. * `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. * `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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# \ \ to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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}\n\ else {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When 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. * `YYYY-MM-DD` — Restore a daily backup from the specified backup date. * `incremental` — Restore a daily incremental backup. * `weekly/YYYY-MM-DD` — Restore a weekly backup from the specified backup date. * `monthly/YYYY-MM-DD` — Restore a monthly backup from the specified backup date. * `weekly/incremental` — Restore a weekly incremental backup. * `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. * `1` — Overwrite the file or directory. * `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. **Important:** * The value of this parameter **must** begin with a forward slash (/). * 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. * `1` — Success. * `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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to\ \ .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n//\ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n// to .../frontend//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//--------------------------------------------------------------------------------------\n\ function 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. * `true` - Account has shell access. * `false` - Account does not have shell access. ' 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. * `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# is wp-squared\ \ for WP Squared accounts.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to .../frontend//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\n\ print \"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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is wp-squared\ \ for WP Squared accounts.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n// \ \ to .../frontend//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\n\ header('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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** 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-add_autossl_excluded_domains parameters: - description: 'A comma-separated list of domains for which to disable AutoSSL. **Note:** For 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `1` - Can redirect. * `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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to\ \ .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n//\ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `1` - Associated. * `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. * `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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to\ \ .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. **Note:** * When you call this function, you **must** include the `id` or the `friendly_name` parameter. * This function **only** deletes certificates from SSL storage. To end SSL coverage for a domain, use the UAPI `SSL::delete_ssl` function instead. **Important:** When you disable the Calendars and Contacts, Receive Mail, Web Disk, Webmail, and Web Server [roles](https://go.cpanel.net/howtouseserverprofiles#roles), the 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. * `prime256v1` * `secp384r1` * `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. * `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. * `1` — Self-signed. * `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 US stateOrProvinceName TX localityName Houston organizationName Organization commonName example.com' type: string key_algorithm: description: 'The certificate''s key''s algorithm. * `rsaEncryption` — RSA. * `id-ecPublicKey` — ECDSA.' enum: - rsaEncryption - id-ecPublicKey example: rsaEncryption type: string modulus: description: 'The certificate''s key''s modulus, in hexadecimal format. * `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. * `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 www.example.com' type: string validation_type: description: 'The certificate''s validation type. * `ev` — Extended Validation. * `ov` — Organization Validation. * `dv` — Domain Validation. * `null` — The system could not parse and determine the certificate''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. * `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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n// \ \ to .../frontend//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\n\ header('Content-Type: text/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}\n\ else {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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). **Note:** * When you call this function, you **must** include the `id` or the `friendly_name` parameter. * To delete a private key, use the UAPI `SSL::delete_key` function instead. **Important:** When you disable the Calendars and Contacts, Receive Mail, Web Disk, Webmail, and Web Server [roles](https://go.cpanel.net/howtouseserverprofiles#roles), the 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. * `prime256v1` * `secp384r1` * `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. * `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. * `rsaEncryption` — RSA. * `id-ecPublicKey` — ECDSA.' enum: - rsaEncryption - id-ecPublicKey example: rsaEncryption type: string modulus: description: 'The CSR''s key''s modulus, in hexadecimal format. * `null` — The CSR''s key is **not** an RSA key.' example: 'a74f7636fa6ac93ee6836a83a995b55deb5019ea36d7ba3dafb00e38d693acd b0c81b2ff777d6b433a420fae523f127f352a68bcc8b8f2d6ee7b70395bafab d8237ada8164fdddf8376b30375c35d4d4cbcce7d33d08069c17b409176a368 9f1ebc97c0b08fe6ae44c19a92ac6d68448e7f1d13f3b360affd4222a51b4f3 5342de99b5a1fb5548e438f2d824664562a448002eed7fce24dedc7dc3e1ed1 79973d1dae959b33716eeb410d172708954e00632cbf60a0e26419860c8c0bc 285d6bfe4b479de0dd189772a5dae676bd2a92acccc1369821be8cffddd8a7e 6ecc061f8a32a9ae0661e4e946ed8e3827b277138d3a76116567cbd129cbd86 9ef9dddf' 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. * `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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n// to .../frontend//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}\n\ else {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. **Note:** * When you call this function, you **must** include the `id` or the `friendly_name` parameter. * To delete a certificate signing request (CSR), use the UAPI `SSL::delete_csr` function instead. **Important:** When you disable the Calendars and Contacts, Receive Mail, Web Disk, Webmail, and Web Server [roles](https://go.cpanel.net/howtouseserverprofiles#roles), the 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. * `prime256v1` * `secp384r1` * `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. * `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. * `rsaEncryption` — RSA. * `id-ecPublicKey` — ECDSA.' enum: - rsaEncryption - id-ecPublicKey example: rsaEncryption type: string modulus: description: 'The key''s modulus, in hexadecimal format. * `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. * `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. * `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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n// to .../frontend//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}\n\ else {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. **Note:** This function removes domains from the current certificate to end SSL coverage for those domains. To delete certificates from SSL storage, use the UAPI function `SSL::delete_cert` instead. **Important:** 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-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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n// to .../frontend//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\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. * `1` - Disabled. * `0` - Not disabled. **Note:** The 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 * `0` - Failed: 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to\ \ .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n//\ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. * `1` - Enabled. * `0` - Not enabled. **Note:** The 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 * `0` - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to\ \ .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n//\ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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 retrieves the certificate''s associated private key and CA bundle, if available. **Important:** 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_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: REDACTED_CERTIFICATE_EXAMPLE format: pem-certificate type: string crt: description: The certificate's contents. example: REDACTED_CERTIFICATE_EXAMPLE 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: REDACTED_PRIVATE_KEY_EXAMPLE 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. * `1` - Active. * `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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** * You **must** call either the `friendly_name` or `id` parameter. * 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: REDACTED_CERTIFICATE_EXAMPLE format: pem-certificate nullable: true type: string certificate: description: The certificate's contents. example: REDACTED_CERTIFICATE_EXAMPLE format: pem-certificate type: string is_self_signed: description: 'Whether the certificate is self-signed. * `1` - Self-signed. * `0` - **Not** self-signed.' enum: - 0 - 1 example: 1 type: integer key: description: The private key. example: REDACTED_PRIVATE_KEY_EXAMPLE 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to\ \ .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n//\ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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: REDACTED_CERTIFICATE_EXAMPLE 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: REDACTED_CERTIFICATE_EXAMPLE format: pem-certificate type: string domain_is_configured: description: 'Whether the certificate is installed on the account. * `1` — Installed. * `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. * `prime256v1` * `secp384r1` * `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. * `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. - `1` — Self-signed. - `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: REDACTED_PRIVATE_KEY_EXAMPLE format: pem-private-key type: string key_algorithm: description: 'The certificate''s key''s algorithm. * `rsaEncryption` — RSA. * `id-ecPublicKey` — ECDSA.' enum: - rsaEncryption - id-ecPublicKey example: rsaEncryption type: string modulus: description: 'The length, in bits, of the certificate''s key''s modulus. * `null` — The certificate''s key is **not** an RSA key.' example: 'ce52db786fd2776f69057ed8ee0d8ab267a2f328a66a3afd8 76017a99d061ec5d24d646f80ec258c696cb742e2bcd2fef920177144d9126a4 779c1a21ca5589ff06e673556116903493100dfba385a62d11aeec57f47e5b20 ad8d1142fbe93f003fb62403cdcc0012ccd407009ac21639623bc52a5d6d3814 ff9c45a7c246799f0229b4854af2aeddfa755ab13814132424f5b1680f2c357e 1476af7422bd5863102cfc5982b3ddad7fecdeae5c1cb73789008be9ce2f24fe 27c9202b3bca6524ba29a30972f14cbf06f0a1b7998c2361ed90221f40829faf 644adc7b8da6f948d8745ffbe8e5b6f0c8e7ea9ef2bc26413f90666ef1200407 eab7c3b71c6e643' nullable: true type: string modulus_length: description: 'The length, in bits, of the certificate''s key''s modulus. * `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. * `ev` — Extended Validation. * `ov` — Organization Validated. * `dv` — Domain Validated. * `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. - `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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}\n\ else {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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. **Note:** Due 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: REDACTED_CERTIFICATE_EXAMPLE 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: REDACTED_CERTIFICATE_EXAMPLE format: pem-certificate type: string crt: description: The certificate's contents. example: REDACTED_CERTIFICATE_EXAMPLE 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: REDACTED_PRIVATE_KEY_EXAMPLE 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. * `1` - Active. * `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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 Host: example.com:2083 Cookie: ################################### Content-Type: application/json Content-Length: 0 ' 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. **Note:** When you call this function, you **must** include either the `id` **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. * `prime256v1` * `secp384r1` * `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. * `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. * `1` — Self-signed. * `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\example.com\nlocalityName\nHouston\norganizationName\n\ cPanel\nstateOrProvinceName\ntx" type: string key_algorithm: description: 'The certificate''s key''s algorithm. * `rsaEncryption` — RSA. * `id-ecPublicKey` — ECDSA.' enum: - rsaEncryption - id-ecPublicKey example: rsaEncryption type: string modulus: description: 'The certificate''s key''s modulus, in hexadecimal format. * `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. * `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\example.com\nlocalityName\nHouston\norganizationName\n\ cPanel\nstateOrProvinceName\ntx" type: string validation_type: description: 'The certificate''s validation type. * `ev` — Extended Validation. * `ov` — Organization Validation. * `dv` — Domain Validation. * `null` — The system could not parse and determine the certificate''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. * `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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n\ # to .../frontend//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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($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//--------------------------------------------------------------------------------------\n\ function 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 a private key. **Note:** When you call this function, you **must** include either the `id` or 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. * `prime256v1` * `secp384r1` * `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. * `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. * `rsaEncryption` — RSA. * `id-ecPublicKey` — ECDSA.' enum: - rsaEncryption - id-ecPublicKey example: rsaEncryption type: string modulus: description: 'The CSR''s key''s modulus, in hexadecimal format. * `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. * `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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to\ \ .../frontend//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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n\ // to .../frontend//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\n\ header('Content-Type: text/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\n\ if ($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//--------------------------------------------------------------------------------------\n\ function 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. **Important:** When you disable the Calendars and Contacts, Receive Mail, Web Disk, Webmail, and Web Server [roles](https://go.cpanel.net/howtouseserverprofiles#roles), the 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. This parameter defaults to the domain''s name for which you generated the certificate.' 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. * `prime256v1` * `secp384r1` * `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. * 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. * `1` — Self-signed. * `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. * `rsaEncryption` — RSA. * `id-ecPublicKey` — ECDSA.' enum: - rsaEncryption - id-ecPublicKey example: rsaEncryption type: string modulus: description: 'The certificate''s key''s modulus, in hexadecimal format. * `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. * `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: REDACTED_CERTIFICATE_EXAMPLE 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. * `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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n// \ \ to .../frontend//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\n\ header('Content-Type: text/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//--------------------------------------------------------------------------------------\n\ function 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). **Note:** This function **requires** a valid key in the account''s `ssl` directory. You can generate a key with UAPI''s `SSL::generate_key` function. **Important:** When you disable the Calendars and Contacts, Receive Mail, Web Disk, Webmail, and WebServer [roles](https://go.cpanel.net/howtouseserverprofiles#roles), the 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. This parameter defaults to the domain name for which you generated the certificate.' 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. * `prime256v1` * `secp384r1` * `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. * `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. * `rsaEncryption` — RSA. * `id-ecPublicKey` — ECDSA.' enum: - rsaEncryption - id-ecPublicKey example: rsaEncryption type: string modulus: description: 'The CSR''s key''s modulus, in hexadecimal format. * `null` — The CSR''s key is **not** an RSA key.' example: a673c3b17344664b35f8791f562d3aea6bf4d8faa3ae3fc0a519380fd453964a36677c34d48677ecb7f5ed035df026f5f0f8fbfe21745e52daf1f3b9e58c73f0baefdb709320e2202e7d05250b051a59b30ff1fef22d83d7140c1c81cea314a0890ce8d2226799872181c58a74016c7aaa2cff5ac72b575cecde8f304aa572a2ea03d8b173ab76c6e8cdb9dfd0da81e1119cefd4b8b4dbfbe0e46c7f1ee2fe8b5fd5504e58ccbc0d13b4fa41ecc9ebd0dabe1d1fec5c724f748167e7c0553e997f9b77eb36abce70973f06df151748d41b758de3efd7afa6f2464a1547f5ff158469d96e248be464df9eda0e7ce854a89332a2c1278b17c425368a9604f454db nullable: true type: string text: description: The CSR's text. example: REDACTED_CERTIFICATE_EXAMPLE 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. * `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# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\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//\n# to .../frontend//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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\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//\n// \ \ to .../frontend//api_examples/SSL_generate_csr.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/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_csr',\n array (\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 $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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_key: get: x-readonly: false x-rollback: none description: 'This function generates a private key. **Important:** * You **cannot** call both the `keytype` and `keysize` parameters in a single call. * When you disable the Calendars and Contacts, Receive Mail, Web Disk, Webmail, **and** Web Server [roles](https://go.cpanel.net/howtouseserverprofiles#roles), the system **disables** this function.' operationId: SSL-generate_key parameters: - description: 'A friendly name for the new key. This parameter defaults to the key''s type, creation date, and creation time.' in: query name: friendly_name required: false schema: example: TestKey type: string - deprecated: true description: 'The key''s modulus size. **Note:** Use the `keytype` parameter.' in: query name: keysize required: false schema: default: 2048 example: 2048 type: integer - description: 'The key''s type. * `system` — The system''s default value. * `rsa-2048` — 2,408-bit RSA. * `rsa-4096` — 4,096-bit RSA. * `ecdsa-prime256v1` — ECDSA prime256v1 ("P-256"). * `ecdsa-secp384r1` — ECDSA secp384r1 ("P-384"). This parameter defaults to the user''s [default SSL/TLS key type](https://go.cpanel.net/cpaneldocsSSLTLS#default-ssl-tls-key-type). **Note:** If you do **not** use this parameter, the system defaults to the `keysize` parameter''s default value.' in: query name: keytype required: false schema: enum: - system - rsa-2048 - rsa-4096 - ecdsa-prime256v1 - ecdsa-secp384r1 example: rsa-2048 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_key type: string module: description: The name of the module called. example: SSL type: string result: properties: data: properties: created: description: The key's creation date. example: 1601467200 format: unix_timestamp type: integer ecdsa_curve_name: description: 'The ECDSA curve that the key uses. * `prime256v1` * `secp384r1` * `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. * `null` — The key is **not** an ECDSA key.' example: null nullable: true type: string friendly_name: description: The key's friendly name. example: TestKey type: string id: description: The key's ID. example: example_com_a74f7_9dddf_1446659822_eae1ff43c4ec1991e195877c55755eff type: string key_algorithm: description: 'The key''s algorithm. * `rsaEncryption` — RSA. * `id-ecPublicKey` — ECDSA.' enum: - rsaEncryption - id-ecPublicKey example: rsaEncryption type: string modulus: description: 'The key''s modulus, in hexadecimal format. * `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. * `null` — The key is **not** an RSA key.' example: 2048 nullable: true type: integer text: description: The key's contents. example: REDACTED_PRIVATE_KEY_EXAMPLE format: pem-private-key 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. * `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 private key tags: - SSL - SSL Certificate Management x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n SSL \\\n generate_key\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/SSL/generate_key - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file SSL_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//\n# to .../frontend//api_examples/SSL_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/SSL/,\n q/generate_key/\n\ );\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n my $data = $response->{cpanelresult}{result}{data};\n\ \ # Do something with the $data\n # So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file SSL_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//\n// \ \ to .../frontend//api_examples/SSL_generate_key.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/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_key'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status'])\ \ {\n $data = $response['cpanelresult']['result']['data'];\n // Do something with the $data\n // So you\ \ can see the data shape we print it here.\n print to_json($data);\n}\nelse {\n // Report errors:\n print\ \ to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n\ $cpanel->end();\n\n//--------------------------------------------------------------------------------------\n//\ \ Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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/get_autossl_excluded_domains: get: x-readonly: true description: This function lists the domains with AutoSSL disabled. operationId: SSL-get_autossl_excluded_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: get_autossl_excluded_domains type: string module: description: The name of the module called. example: SSL type: string result: properties: data: description: An array of objects that include domain's AutoSSL information. items: properties: excluded_domain: description: A domain that has AutoSSL disabled. 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: {} status: description: '* `1` - Success. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 AutoSSL disabled domains tags: - SSL - Auto-generated SSL Certificates x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n SSL \\\n get_autossl_excluded_domains\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/SSL/get_autossl_excluded_domains - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file SSL_get_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//\n\ # to .../frontend//api_examples/SSL_get_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/get_autossl_excluded_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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file SSL_get_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//\n\ // to .../frontend//api_examples/SSL_get_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\n\ header('Content-Type: text/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 'get_autossl_excluded_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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 66 /SSL/get_autossl_problems: get: x-readonly: true description: 'This function retrieves a list of domains that possess AutoSSL problems. **Important:** 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-get_autossl_problems 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_autossl_problems type: string module: description: The name of the module called. example: SSL type: string result: properties: data: items: properties: domain: description: The certificate's hostname. example: example.com format: domain type: string problem: description: text description of the problem. example: example.com contains 400 domains, which exceeds the maximum number (200) of domains allowed for the "Sectigo" AutoSSL provider. This system will include those 200 domains on the certificate that appear to be the website's most important. To allow AutoSSL to secure each domain, divide the 400 domains among separate websites. (The websites can all serve the same content from the same document root.) type: string time: description: When the problem occurred. example: '2018-06-07T05:30:09.000Z' format: ISO-8601 Date Time 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 AutoSSL problems tags: - SSL - Auto-generated SSL Certificates x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n SSL \\\n get_autossl_problems\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/SSL/get_autossl_problems - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file SSL_get_autossl_problems.live.pl and put this code into that file.\n# 5)\ \ In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend//\n# \ \ to .../frontend//api_examples/SSL_get_autossl_problems.live.pl\n#--------------------------------------------------------------------------------------\n\ \nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this\ \ once.\n\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/get_autossl_problems/\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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file SSL_get_autossl_problems.live.php and put this code into that file.\n\ // 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend//\n\ // to .../frontend//api_examples/SSL_get_autossl_problems.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/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 'get_autossl_problems'\n);\n\n// Handle the response\n\ if ($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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 68 /SSL/get_autossl_renewal_status: get: x-readonly: true description: This function returns the AutoSSL renewal status for a domain. It indicates whether AutoSSL is active, the domain is excluded, the domain has DCV problems, and whether the certificate will auto-renew. operationId: SSL-get_autossl_renewal_status parameters: - description: The fully qualified domain name to check. 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: get_autossl_renewal_status type: string module: description: The name of the module called. example: SSL type: string result: properties: data: description: An object that contains the AutoSSL renewal status for the domain. properties: has_problems: description: Whether AutoSSL has DCV failures recorded for this domain. Defaults to 1 if the problems database is unreachable. enum: - 0 - 1 example: 0 type: integer is_active: description: Whether an AutoSSL provider is configured on the server. enum: - 0 - 1 example: 1 type: integer is_excluded: description: Whether the domain is on the user's AutoSSL exclusion list. enum: - 0 - 1 example: 0 type: integer will_renew: description: Whether AutoSSL will auto-renew the certificate for this domain. Only true when the server has an active AutoSSL provider, the current certificate was issued by that provider, the domain is not excluded, and there are no recorded DCV problems. 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 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 AutoSSL renewal status for a domain tags: - SSL - Auto-generated SSL Certificates x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n SSL \\\n get_autossl_renewal_status \\\n domain=example.com\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/SSL/get_autossl_renewal_status?domain=example.com - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file SSL_get_autossl_renewal_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//\n\ # to .../frontend//api_examples/SSL_get_autossl_renewal_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/SSL/,\n q/get_autossl_renewal_status/,\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\ \n # So you can see the data shape we print it here.\n print to_json($data);\n}\nelse {\n # Report errors:\n\ \ print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n\ $cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper\ \ function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file SSL_get_autossl_renewal_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//\n\ // to .../frontend//api_examples/SSL_get_autossl_renewal_status.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/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 'get_autossl_renewal_status',\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\n // So you can see the data shape we print it here.\n\ \ print to_json($data);\n}\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n\ }\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 134 /SSL/get_cabundle: get: x-readonly: true description: 'This function retrieves a certificate''s Certificate Authority (CA) bundle and hostname. **Important:** 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-get_cabundle parameters: - description: The certificate's text. in: query name: cert required: true schema: example: REDACTED_CERTIFICATE_EXAMPLE format: pem-certificate 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_cabundle type: string module: description: The name of the module called. example: SSL type: string result: properties: data: properties: bundle: description: The CA bundle's tag. example: VeriSign Trial Secure Server CA - G2 type: string cab: description: The CA bundle's contents. example: REDACTED_CERTIFICATE_EXAMPLE format: pem-certificate type: string domain: description: The certificate's hostname. example: 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 certificate's CA bundle and hostname tags: - SSL - cPanel Account SSL Management x-codeSamples: - label: CLI lang: Shell source: REDACTED_CERTIFICATE_EXAMPLE - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/SSL/get_cabundle?cert=-----BEGIN%20CERTIFICATE-----%5cr%5cnMIIDcTCCAlmgAwIBAgIFAU%2bBNVgwDQYJKoZIhvcNAQEFBQAwUTESMBAGA1UEAwwJ%5cr%5cnc2lza28udGxkMQswCQYDVQQGEwJVUzEPMA0GA1UECgwGY1BhbmVsMQswCQYDVQQI%5cr%5cnDAJUWDEQMA4GA1UEBwwHSG91c3RvbjAeFw0xNDEwMDYyMjI2MTlaFw0xNTEwMDYy%5cr%5cnMjI2MTlaMFExEjAQBgNVBAMMCXNpc2tvLnRsZDELMAkGA1UEBhMCVVMxDzANBgNV%5cr%5cnBAoMBmNQYW5lbDELMAkGA1UECAwCVFgxEDAOBgNVBAcMB0hvdXN0b24wggEiMA0G%5cr%5cnCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC9zx6zGiHdmWA0dKtoXmJiWXpZ9E3P%5cr%5cnXx3YHsjFEWW7e5pH0vZ%2bjVMzDmm5nsJ7RXrAkZO1IvpIpVLvoQfiJOWVvkD%2bo9fW%5cr%5cnvoK1tWJS72FSgPju%2b58mA2ieBuc87A790Pzuv1P3NR3zFLAjUR99zkHR1fpri%2fda%5cr%5cnM3PBWO8ET48FWkyU1kOeZaUlF67%2f%2bwrEiNgg%2bt1qhKOCAB61PdNVkLaSGHimksuC%5cr%5cn%2bCzk8Kq9nuS0E0TCnDtjjEyJ455FUcaCfczlTb8xkB%2fF9ORe74yTzD%2bvlk0tFMG6%5cr%5cnPLj%2fajIwWqwO0qmQ8wX3NRxkWgGz5kVO1wrVJarKQ5EYQ3%2fmgvit0v6dAgMBAAGj%5cr%5cnUDBOMB0GA1UdDgQWBBRw%2bwKBo34%2bbgexjAa3EMDsgSCd7zAfBgNVHSMEGDAWgBRw%5cr%5cn%2bwKBo34%2bbgexjAa3EMDsgSCd7zAMBgNVHRMEBTADAQH%2fMA0GCSqGSIb3DQEBBQUA%5cr%5cnA4IBAQCHRXIs53opzKM2rM8Qe8lcw524WK6hqy2EWrZHp78N7rU7%2f6DQ%2fI3hv3Wh%5cr%5cncDDIO04I2%2fXhe88MLBaLoM367Ya%2bvy7CaLr14aLi%2fSfQszMA0ALBvMao%2bFis0iVw%5cr%5cnFYq%2fNLgSXw%2bfgnpFskt8v8iQZ%2b4Kaal8U8e9sVgu8m0RgO7rzym1eRiIKpsKd1rh%5cr%5cn%2fSD7LbSN7M7TRL3QqF7ltw9sQhAAsQcRaBBF21pdWrqhiGZ%2bEioo3hhgwNavH2ag%5cr%5cnqz78ddHwrFpHFwrEeUk1OfpPb76MYIce7xIy%2f4oQNdg6fOq4l%2fFrajBv%2bWkzDVPa%5cr%5cnKm6r7YmwfLN%2fYMZBHXSR58oOGP9W%5cr%5cn-----END%20CERTIFICATE----- - label: LiveAPI Perl lang: Perl source: REDACTED_CERTIFICATE_EXAMPLE - label: LiveAPI PHP lang: PHP source: REDACTED_CERTIFICATE_EXAMPLE x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 11.42 /SSL/get_cn_name: get: x-readonly: true description: This function retrieves the most secure domain for a service. operationId: SSL-get_cn_name parameters: - description: A domain name, cPanel username, or email address. example: example.com in: query name: domain required: true schema: anyOf: - description: A valid domain. format: domain type: string - description: A valid email address. format: email type: string - description: A valid cPanel username. format: username type: string - description: 'The service''s name. * `cpanel` * `imap` * `pop3` * `smtp`' in: query name: service required: true schema: enum: - cpanel - imap - pop3 - smtp example: cpanel type: string - description: 'Whether to append `mail` to the `domain` value to find the best match. For example, if you specify the domain `example.com` and call this parameter, the function only searches the `mail.example.com` service domains. * `1` — Append `mail` to the `domain` value during the search. * `0` — Match on the specified `domain` value **only**.' in: query name: add_mail_subdomain 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: get_cn_name type: string module: description: The name of the module called. example: SSL type: string result: properties: data: properties: cert_match_method: description: 'The method that the system used to match the certificate with the mail service. * `none` — No domain matches the certificate. * `exact` — The domain exactly matches the certificate. * `exact-wildcard` — The domain exactly matches the certificate. * `mail-wildcard` — The `mail` subdomain of the domain matches the domain of the wildcard certificate. * `www-wildcard` — The `www` subdomain of the domain matches the domain of the wildcard certificate. * `hostname-wildcard` — The hostname''s domain matches the domain of the wildcard certificate. * `hostname` — The hostname matches the domain of the certificate. * `localdomain_on_cert-mail-wildcard` — A `mail` subdomain of a domain on the server that matches the certificate. * `localdomain_on_cert-www-wildcard` — A `www` subdomain of a domain on the server matches the certificate. * `localdomain_on_cert` — A domain on the server matches the certificate.' enum: - none - exact - exact-wildcard - mail-wildcard - www-wildcard - hostname-wildcard - hostname - localdomain_on_cert-mail-wildcard - localdomain_on_cert-www-wildcard - localdomain_on_cert example: hostname type: string cert_valid_not_after: description: The certificate's expiration date. example: 1394288638 format: unix_timestamp type: integer is_currently_valid: description: "Whether the certificate is currently valid.\n\n* `1` — Valid.\n* `0` — Invalid.\n\ \n**Note:**\n\nIf the certificate is valid, the following statements are true:\n * The certificate\ \ is **not** self-signed (the `ssldomain_matches_cert` value is `1`).\n * The certificate matches\ \ the SSL domain (the `ssldomain_matches_cert` value is `1`).\n * The certificate is within\ \ its validity period (the `cert_valid_not_after` value is **less** than the current time and\ \ date)." enum: - 1 - 0 example: 0 type: integer is_self_signed: description: 'Whether the certificate is self-signed. * `1` — Self-signed. * `0` — Not self-signed. **Note:** If the `cert_match_method` value is `none`, you should ignore this return''s value.' enum: - 1 - 0 example: 1 type: integer is_wild_card: description: 'Whether the certificate is a wildcard certificate. * `1` — Wildcard. * `0` — Not a wildcard.' enum: - 1 - 0 example: 0 type: integer ssldomain: description: The best domain to use to access the service. example: hostname.example.com format: domain type: string ssldomain_matches_cert: description: 'Whether an SSL-protected domain matches the certificate. * `1` — Matches. * `0` — Does **not** match.' 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. * `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: Request best SSL domain for service tags: - SSL - cPanel Account SSL Management x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n SSL \\\n get_cn_name \\\n domain='example.com' \\\n\ \ service='cpanel'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/SSL/get_cn_name?domain=example.com&service=cpanel - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file SSL_get_cn_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//\n# to .../frontend//api_examples/SSL_get_cn_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/SSL/,\n q/get_cn_name/,\n\ \ {\n 'domain' => 'example.com',\n 'service' => 'cpanel',\n }\n);\n\n# Handle the response\n\ if ($response->{cpanelresult}{result}{status}) {\n my $data = $response->{cpanelresult}{result}{data};\n #\ \ Do something with the $data\n # So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file SSL_get_cn_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//\n// \ \ to .../frontend//api_examples/SSL_get_cn_name.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/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 'get_cn_name',\n array (\n 'domain' => 'example.com',\n\ \ 'service' => 'cpanel',\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//--------------------------------------------------------------------------------------\n\ function 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/install_ssl: get: x-readonly: false x-rollback: none description: 'This function installs an SSL certificate. **Note:** Due to their inherent complexities, SSL-related functions often present problems for third-party developers. For the additional steps required to successfully call this function, read our [Call UAPI''s SSL::install_ssl Function in Custom Code](https://go.cpanel.net/tutorial-call-uapis-ssl-install-ssl-function-in-custom-code) documentation. **Important:** 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-install_ssl parameters: - description: "The certificate to install.\n\n**Note:**\n\n* You **must** URI-encode this value.\n* You can use a Perl\ \ command to URI-encode your SSL certificate for this parameter.\nFor example, you can use the following string,\ \ where `CERT.FILE` is the SSL certificate file:\n\n ```$(perl -MURI::Escape -ne 'print uri_escape($_);' CERT.FILE)```" in: query name: cert required: true schema: example: '-----BEGIN%20CERTIFICATE-----%0AMIIEEzCCAvugAwIBAgIJALF%2FjFpw6p1bMA0GCSqGSIb3DQEBBQUAMIGfMRYwFAYD%0AVQQDEw10ZXN0c2ltb24uY29tMRYwFAYDVQQLEw1Eb2N1bWVudGF0aW9uMQswCQYD%0AVQQGEwJVUzEoMCYGCSqGSIb3DQEJARYZbGF1cmVuY2Uuc2ltb25AY3BhbmVsLm5l%0AdDEUMBIGA1UEChMLY1BhbmVsIEluYy4xDjAMBgNVBAgTBVRleGFzMRAwDgYDVQQH%0AEwdIb3VzdG9uMB4XDTEzMDUxNzE2MTMwN1oXDTE0MDUxNzE2MTMwN1owgZ8xFjAU%0ABgNVBAMTDXRlc3RzaW1vbi5jb20xFjAUBgNVBAsTDURvY3VtZW50YXRpb24xCzAJ%0ABgNVBAYTAlVTMSgwJgYJKoZIhvcNAQkBFhlsYXVyZW5jZS5zaW1vbkBjcGFuZWwu%0AbmV0MRQwEgYDVQQKEwtjUGFuZWwgSW5jLjEOMAwGA1UECBMFVGV4YXMxEDAOBgNV%0ABAcTB0hvdXN0b24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDRO0AP%0AN5XtjDqkEyJ6ctfYqUtt9yUXyRuCETFjW6opNLSmZSHeF6L2aZka646lhj02CFyl%0AkzsNSxysN66tY%2BWZcTmvgPisJdQFpFvjroJZgDjYRV0QqokKdRy%2F5BU0%2BtHXoYpj%0A9JOQlbvEWxiGR3R80sL1ma4AfSE6Gv8M%2FPULTadan51eHaikXqjOXdPJQKuWP3g9%0AFnIuf38WRYwzGrre88qsZrpsMrADX5dotHWgqAf7Tap6xfA4CUAgQo9tldariuVi%0ABz%2BsRJ%2FSjgxnhw1HYWGttBuBZFhMpdHpPnTJ7DIFMd%2FFN5gG%2Ftah30SapWpo35Ux%0A3BpJcdUjtazy82K5AgMBAAGjUDBOMB0GA1UdDgQWBBQAlv7%2FtALOYb7zAXbYG2%2B9%0AAMI3xjAfBgNVHSMEGDAWgBQAlv7%2FtALOYb7zAXbYG2%2B9AMI3xjAMBgNVHRMEBTAD%0AAQH%2FMA0GCSqGSIb3DQEBBQUAA4IBAQCxzpe71Hc7Es0dqIN7bhIFYIIgcr6wxM6a%0Aa9d%2BQG%2BQPH0x0KAqV8EgUbZysvyxEF0bPxW3ZAr1Is1wk80PMuU3bToFFVbFFIIr%0AHRNfKLGvxiMXnZA1c6L4N0lowvXHgZxTTUXtDFLXyrcwrLsvUErEV7rbizuxqfPw%0AcaRtXn4uc%2Bt6HYuW7yWesBauCWnJNiKbjN%2FF%2BuCTurN3QMAeWf3ZJtsfkAgk8dyq%0AR%2F83a3kDtSPrpt%2BjX%2BqdjKEpRtQ5Qpm6XT2gCOQPgnfiUtOCH419pp922P%2FAAGc%2B%0AZUhYoWcRWKw%2Fy6gI7Ru%2B%2B9%2B8%2BwkadL9EbKMZxhVwD5qVm4ZlWK2a%5Cr%5Cn%0A-----END%20CERTIFICATE-----' format: pem-certificate type: string - description: The domain name. in: query name: domain required: true schema: example: example.com format: domain type: string - description: "The Certificate Authority (CA) bundle data, if the certificate requires it.\n\n**Note:**\n\n* You **must**\ \ URI-encode this value.\n* You can use a Perl command to URI-encode your SSL certificate for this parameter.\n\ For example, you can use the following string, where `CABUNDLE.FILE` is the SSL certificate file:\n\n ```$(perl\ \ -MURI::Escape -ne 'print uri_escape($_);' CABUNDLE.FILE)```" in: query name: cabundle required: false schema: example: '-----BEGIN%20CERTIFICATE-----%0AMIIB%2BjCCAWMCAgGjMA0GCSqGSIb3DQEBBAUAMEUxCzAJBgNVBAYTAlVTMRgwFgYD%0AVQQKEw9HVEUgQ29ycG9yYXRpb24xHDAaBgNVBAMTE0dURSBDeWJlclRydXN0IFJv%0Ab3QwHhcNOTYwMjIzMjMwMTAwWhcNMDYwMjIzMjM1OTAwWjBFMQswCQYDVQQGEwJV%0AUzEYMBYGA1UEChMPR1RFIENvcnBvcmF0aW9uMRwwGgYDVQQDExNHVEUgQ3liZXJU%0AcnVzdCBSb290MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC45k%2B625h8cXyv%0ARLfTD0bZZOWTwUKOx7pJjTUteueLveUFMVnGsS8KDPufpz%2BiCWaEVh43KRuH6X4M%0AypqfpX%2F1FZSj1aJGgthoTNE3FQZor734sLPwKfWVWgkWYXcKIiXUT0Wqx73llt%2F5%0A1KiOQswkwB6RJ0q1bQaAYznEol44AwIDAQABMA0GCSqGSIb3DQEBBAUAA4GBABKz%0AdcZfHeFhVYAA1IFLezEPI2PnPfMD%2BfQ2qLvZ46WXTeorKeDWanOB5sCJo9Px4KWl%0AIjeaY8JIILTbcuPI9tl8vrGvU9oUtCG41tWW4%2F5ODFlitppK%2BULdjG%2BBqXH%2F9Apy%0AbW1EDp3zdHSo1TRJ6V6e6bR64eVaH4QwnNOfpSXY%0A-----END%20CERTIFICATE-----' format: pem-certificate type: string - description: A map of each domain to its domain control validation (DCV) method. in: query name: domain_dcv_method required: false schema: additionalProperties: enum: - http - dns type: string example: example.com: http type: object - description: "The certificate's key. If you omit it, the system uses the matching key already saved to your account.\n\ \n**Note:**\n\n* You **must** URI-encode this value.\n* You can use a Perl command to URI-encode your SSL certificate\ \ for this parameter.\nFor example, you can use the following string, where `KEY.FILE` is the SSL certificate file:\n\ \n ```$(perl -MURI::Escape -ne 'print uri_escape($_);' KEY.FILE)```" in: query name: key required: false schema: example: '-----BEGIN%20RSA%20PRIVATE%20KEY-----%0AMIIEpAIBAAKCAQEA4AVM6J4Qg3DIFWr%2FeJ5GRmIATYsJIepKbrDy70sq%2BudcO8R8%0Axxak0oMZ%2F9mUdpjSNK%2FfLVTuCO0kxTfQ9VUWJllX7ThD6Zh9ZvlC%2Fnf%2FOEZLm3Zb%0ABgu8rbC8E9wuDOkKbJLnINgdhtowIydLK2MJ%2B%2Bq62bFV89jkHWTMcKyyqHENo3h%0Ac%2Blkpd9vnp8rZTinaVb7nX26uQqAFZYRo%2BWU0G%2FNPsq40QVSMoqPxyEz4qXo0hvu%0AIlCXmzFZq%2F6fCVPEKPLhQgMmpdBkMz4dVOazREfqXdjMD2%2BQXSNiA1AwWr8l0r4r%0AtzlxEYDJIR41yXp0xMl3KoolxMyvLBqZy32niQIDAQABAoIBAQCmbGmhWmPsMeoC%0At1WJFxQgD4goE0U6k%2BKt7vjbOt14Pk6v%2FB2yjaju1wSGpO59WLS4%2FXrwI2se6IXr%0Amba7u3VUEgWXLriNHoLy7%2FSMNTs%2BZEKhAMG36eNe3tVdT7busTag31r6sEMGGwCs%0AIwpU%2Bazosk0oylWLEX%2Fm%2FuHWEs1eaIEWWWtgHB%2BKZrrP7Rr9RYfVQ144DxmOxS3C%0Aa9%2BmST62WqAVPR6POWGEfZqnZl%2FePWZPcQYbFrhwnnefNoYBl%2FbnLZBo8rbNWxAq%0AOEOuKfkrBzglKG%2F39WKPw8rj4JIVzY0yOuFCW6xCDWRkOrhU8Ol%2F3FvwDa3uJpkp%0AmgPr4TgxAoGBAPGPLmxSuOYR97mDAXxrs037F2GCbqWvI6m7%2FezWe9yn%2BbMpjSIW%0Afsgtq4FsyqzPueEkDdQWi3xh6nu2WI%2F1Tl875opGAqEIJMqss%2Fu11tnva5wzu1cC%0AL6H85A5%2BHMOBvP3sm6CObKcVw92h7kxynVIUJJWhjfeZMN8gBFFpKIVFAoGBAO1p%0AtXBmXLC%2FYKKvtHI3M16%2FZopvM8ZqU2HcAHaw214Refw9JJ%2Fe3%2FxTNfSerVTyCAQO%0A1AdWTzJKBN8jmSYv1Mk1D3RpQPNR7wVzi46KR081AU41uMpqIGVOwHtyVnW%2FZfLr%0Ac1DLIK8Cx8aHfoxffwzoMO5SEQSooeZfOLhsfDN1AoGBAKQTUEINsj%2B75psgbAr6%0AELGgItJ9yPBLVRr%2BcUzEpx9LDWVvjMihpP4NX1gq8EOPWT%2BewLHVmmsjCyV6xw8J%0AXXF8e2xif3in0m3D%2FwCzE7u2T06rKM3B017hKnrZmGoHnrqPU2osM4sOUpshWX6d%0Av1Q4EF1%2BfbK3YCW%2BVpCBsB9NAoGAQo%2BuhNLODee56iKkzpjXWCsFTq6ar3hD5F3P%0A63buKdNwhd2GlSPhXFbf%2B7M5GWW6BZk6rMvv7EOAVice2uvyFm8%2F4%2F1WbmF8R%2BT7%0ALX1rPLO5p%2Fm701QpvP11TabiwqRkqtSEQhSRF0AKTojSW%2FyyHCZFAawUhV%2FZ9EKi%0AHmKb97kCgYAyzmFc2it0HqnsOnRybop603nqMtWGTQO4cxa93HUDpYajuK2K3Dfr%0AxUj6lG3z%2FoKJGGE2JqgZ6LBAhNJtJWJu2ox3pKGE63QjLJnVwb8y1NFYpe%2FcrbLe%0APuBwIR0L7drXxfv7O5btY7h6QI2d1%2FUIAQPAWbxLoTM%2BndQ%2FuPEdfA%3D%3D%0A-----END%20RSA%20PRIVATE%20KEY-----' format: pem-private-key type: string - description: The cPanel Store order item ID associated with the certificate. in: query name: order_item_id required: false schema: example: '67890' type: string - description: 'The cPanel Store certificate ID that this certificate descends from. The short-lived certificate re-issue workflow sets this so the system can supersede the prior certificate after installation; end users do not normally set it.' in: query name: originating_certificate_id required: false schema: example: '12345' type: string - description: The expiration of the parent subscription certificate, as a Unix timestamp. in: query name: parent_cert_expiry required: false schema: example: 1735689600 type: integer - description: 'The virtual host names onto which to install the certificate. To set multiple names, duplicate or increment the parameter name. For example, `vhost_names-1` and `vhost_names-2`.' in: query name: vhost_names required: false schema: items: example: example.com format: domain 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: install_ssl type: string module: description: The name of the module called. example: SSL type: string result: properties: data: properties: action: description: The action that the function used to install the certificate. example: update type: string cert_id: description: The certificate ID. example: example_com_bbe7e_16e2d_1369007999_1d87a0cdb540f5aae607b10e9a1a82fb type: string domain: description: The domain that the certificate covers. example: example.com format: domain type: string extra_certificate_domains: description: The domains that require extra certificates for mail and other services. items: example: ssl.example.com format: domain type: string type: array html: description: The results, in HTML format. example: 'The SSL certificate is now installed onto the domain "example.com" using the IP address "192.168.0.1". The existing virtual host was updated with the new certificate. Apache is restarting in the background.' type: string ip: description: The domain's IP address. example: 192.168.0.1 oneOf: - format: ipv4 type: string - format: ipv6 type: string key_id: description: The key ID. example: bbe7e_16e2d_df7539f280eb1ecf6c1096190e41ada7 type: string message: description: The results, in text format. example: 'The SSL certificate is now installed onto the domain "example.com" using the IP address "192.168.0.1". The existing virtual host was updated with the new certificate. Apache is restarting in the background.' type: string statusmsg: description: The results. example: 'The SSL certificate is now installed onto the domain "example.com" using the IP address "192.168.0.1". The existing virtual host was updated with the new certificate. Apache is restarting in the background. The SSL certificate is now installed onto the domain "example.com" using the IP address "192.168.0.1". The existing virtual host was updated with the new certificate. Apache is restarting in the background' type: string user: description: The domain's owner. example: example format: username type: string warning_domains: description: The domains that the certificate does not cover. items: example: warning.com format: domain type: string type: array working_domains: description: The domains that the certificate covers. 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: transformed: description: Post-processing may have transformed the data. enum: - 1 example: 1 type: integer status: description: '* `1` — Success. * `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 SSL certificate tags: - SSL - SSL Certificate Management x-codeSamples: - label: CLI lang: Shell source: uapi --output=jsonpretty --user=username SSL install_ssl domain='example.com' cert='-----BEGIN%20CERTIFICATE-----%0AMIIEEzCCAvugAwIBAgIJALF%2FjFpw6p1bMA0GCSqGSIb3DQEBBQUAMIGfMRYwFAYD%0AVQQDEw10ZXN0c2ltb24uY29tMRYwFAYDVQQLEw1Eb2N1bWVudGF0aW9uMQswCQYD%0AVQQGEwJVUzEoMCYGCSqGSIb3DQEJARYZbGF1cmVuY2Uuc2ltb25AY3BhbmVsLm5l%0AdDEUMBIGA1UEChMLY1BhbmVsIEluYy4xDjAMBgNVBAgTBVRleGFzMRAwDgYDVQQH%0AEwdIb3VzdG9uMB4XDTEzMDUxNzE2MTMwN1oXDTE0MDUxNzE2MTMwN1owgZ8xFjAU%0ABgNVBAMTDXRlc3RzaW1vbi5jb20xFjAUBgNVBAsTDURvY3VtZW50YXRpb24xCzAJ%0ABgNVBAYTAlVTMSgwJgYJKoZIhvcNAQkBFhlsYXVyZW5jZS5zaW1vbkBjcGFuZWwu%0AbmV0MRQwEgYDVQQKEwtjUGFuZWwgSW5jLjEOMAwGA1UECBMFVGV4YXMxEDAOBgNV%0ABAcTB0hvdXN0b24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDRO0AP%0AN5XtjDqkEyJ6ctfYqUtt9yUXyRuCETFjW6opNLSmZSHeF6L2aZka646lhj02CFyl%0AkzsNSxysN66tY%2BWZcTmvgPisJdQFpFvjroJZgDjYRV0QqokKdRy%2F5BU0%2BtHXoYpj%0A9JOQlbvEWxiGR3R80sL1ma4AfSE6Gv8M%2FPULTadan51eHaikXqjOXdPJQKuWP3g9%0AFnIuf38WRYwzGrre88qsZrpsMrADX5dotHWgqAf7Tap6xfA4CUAgQo9tldariuVi%0ABz%2BsRJ%2FSjgxnhw1HYWGttBuBZFhMpdHpPnTJ7DIFMd%2FFN5gG%2Ftah30SapWpo35Ux%0A3BpJcdUjtazy82K5AgMBAAGjUDBOMB0GA1UdDgQWBBQAlv7%2FtALOYb7zAXbYG2%2B9%0AAMI3xjAfBgNVHSMEGDAWgBQAlv7%2FtALOYb7zAXbYG2%2B9AMI3xjAMBgNVHRMEBTAD%0AAQH%2FMA0GCSqGSIb3DQEBBQUAA4IBAQCxzpe71Hc7Es0dqIN7bhIFYIIgcr6wxM6a%0Aa9d%2BQG%2BQPH0x0KAqV8EgUbZysvyxEF0bPxW3ZAr1Is1wk80PMuU3bToFFVbFFIIr%0AHRNfKLGvxiMXnZA1c6L4N0lowvXHgZxTTUXtDFLXyrcwrLsvUErEV7rbizuxqfPw%0AcaRtXn4uc%2Bt6HYuW7yWesBauCWnJNiKbjN%2FF%2BuCTurN3QMAeWf3ZJtsfkAgk8dyq%0AR%2F83a3kDtSPrpt%2BjX%2BqdjKEpRtQ5Qpm6XT2gCOQPgnfiUtOCH419pp922P%2FAAGc%2B%0AZUhYoWcRWKw%2Fy6gI7Ru%2B%2B9%2B8%2BwkadL9EbKMZxhVwD5qVm4ZlWK2a%5Cr%5Cn%0A-----END%20CERTIFICATE-----' key='-----BEGIN%20RSA%20PRIVATE%20KEY-----%0AMIIEpAIBAAKCAQEA4AVM6J4Qg3DIFWr%2FeJ5GRmIATYsJIepKbrDy70sq%2BudcO8R8%0Axxak0oMZ%2F9mUdpjSNK%2FfLVTuCO0kxTfQ9VUWJllX7ThD6Zh9ZvlC%2Fnf%2FOEZLm3Zb%0ABgu8rbC8E9wuDOkKbJLnINgdhtowIydLK2MJ%2B%2Bq62bFV89jkHWTMcKyyqHENo3h%0Ac%2Blkpd9vnp8rZTinaVb7nX26uQqAFZYRo%2BWU0G%2FNPsq40QVSMoqPxyEz4qXo0hvu%0AIlCXmzFZq%2F6fCVPEKPLhQgMmpdBkMz4dVOazREfqXdjMD2%2BQXSNiA1AwWr8l0r4r%0AtzlxEYDJIR41yXp0xMl3KoolxMyvLBqZy32niQIDAQABAoIBAQCmbGmhWmPsMeoC%0At1WJFxQgD4goE0U6k%2BKt7vjbOt14Pk6v%2FB2yjaju1wSGpO59WLS4%2FXrwI2se6IXr%0Amba7u3VUEgWXLriNHoLy7%2FSMNTs%2BZEKhAMG36eNe3tVdT7busTag31r6sEMGGwCs%0AIwpU%2Bazosk0oylWLEX%2Fm%2FuHWEs1eaIEWWWtgHB%2BKZrrP7Rr9RYfVQ144DxmOxS3C%0Aa9%2BmST62WqAVPR6POWGEfZqnZl%2FePWZPcQYbFrhwnnefNoYBl%2FbnLZBo8rbNWxAq%0AOEOuKfkrBzglKG%2F39WKPw8rj4JIVzY0yOuFCW6xCDWRkOrhU8Ol%2F3FvwDa3uJpkp%0AmgPr4TgxAoGBAPGPLmxSuOYR97mDAXxrs037F2GCbqWvI6m7%2FezWe9yn%2BbMpjSIW%0Afsgtq4FsyqzPueEkDdQWi3xh6nu2WI%2F1Tl875opGAqEIJMqss%2Fu11tnva5wzu1cC%0AL6H85A5%2BHMOBvP3sm6CObKcVw92h7kxynVIUJJWhjfeZMN8gBFFpKIVFAoGBAO1p%0AtXBmXLC%2FYKKvtHI3M16%2FZopvM8ZqU2HcAHaw214Refw9JJ%2Fe3%2FxTNfSerVTyCAQO%0A1AdWTzJKBN8jmSYv1Mk1D3RpQPNR7wVzi46KR081AU41uMpqIGVOwHtyVnW%2FZfLr%0Ac1DLIK8Cx8aHfoxffwzoMO5SEQSooeZfOLhsfDN1AoGBAKQTUEINsj%2B75psgbAr6%0AELGgItJ9yPBLVRr%2BcUzEpx9LDWVvjMihpP4NX1gq8EOPWT%2BewLHVmmsjCyV6xw8J%0AXXF8e2xif3in0m3D%2FwCzE7u2T06rKM3B017hKnrZmGoHnrqPU2osM4sOUpshWX6d%0Av1Q4EF1%2BfbK3YCW%2BVpCBsB9NAoGAQo%2BuhNLODee56iKkzpjXWCsFTq6ar3hD5F3P%0A63buKdNwhd2GlSPhXFbf%2B7M5GWW6BZk6rMvv7EOAVice2uvyFm8%2F4%2F1WbmF8R%2BT7%0ALX1rPLO5p%2Fm701QpvP11TabiwqRkqtSEQhSRF0AKTojSW%2FyyHCZFAawUhV%2FZ9EKi%0AHmKb97kCgYAyzmFc2it0HqnsOnRybop603nqMtWGTQO4cxa93HUDpYajuK2K3Dfr%0AxUj6lG3z%2FoKJGGE2JqgZ6LBAhNJtJWJu2ox3pKGE63QjLJnVwb8y1NFYpe%2FcrbLe%0APuBwIR0L7drXxfv7O5btY7h6QI2d1%2FUIAQPAWbxLoTM%2BndQ%2FuPEdfA%3D%3D%0A-----END%20RSA%20PRIVATE%20KEY-----' - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/SSL/install_ssl?domain=example.com&cert=-----BEGIN%20CERTIFICATE-----%0aMIIEEzCCAvugAwIBAgIJALF%2fjFpw6p1bMA0GCSqGSIb3DQEBBQUAMIGfMRYwFAYD%0aVQQDEw10ZXN0c2ltb24uY29tMRYwFAYDVQQLEw1Eb2N1bWVudGF0aW9uMQswCQYD%0aVQQGEwJVUzEoMCYGCSqGSIb3DQEJARYZbGF1cmVuY2Uuc2ltb25AY3BhbmVsLm5l%0adDEUMBIGA1UEChMLY1BhbmVsIEluYy4xDjAMBgNVBAgTBVRleGFzMRAwDgYDVQQH%0aEwdIb3VzdG9uMB4XDTEzMDUxNzE2MTMwN1oXDTE0MDUxNzE2MTMwN1owgZ8xFjAU%0aBgNVBAMTDXRlc3RzaW1vbi5jb20xFjAUBgNVBAsTDURvY3VtZW50YXRpb24xCzAJ%0aBgNVBAYTAlVTMSgwJgYJKoZIhvcNAQkBFhlsYXVyZW5jZS5zaW1vbkBjcGFuZWwu%0abmV0MRQwEgYDVQQKEwtjUGFuZWwgSW5jLjEOMAwGA1UECBMFVGV4YXMxEDAOBgNV%0aBAcTB0hvdXN0b24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDRO0AP%0aN5XtjDqkEyJ6ctfYqUtt9yUXyRuCETFjW6opNLSmZSHeF6L2aZka646lhj02CFyl%0akzsNSxysN66tY%2bWZcTmvgPisJdQFpFvjroJZgDjYRV0QqokKdRy%2f5BU0%2btHXoYpj%0a9JOQlbvEWxiGR3R80sL1ma4AfSE6Gv8M%2fPULTadan51eHaikXqjOXdPJQKuWP3g9%0aFnIuf38WRYwzGrre88qsZrpsMrADX5dotHWgqAf7Tap6xfA4CUAgQo9tldariuVi%0aBz%2bsRJ%2fSjgxnhw1HYWGttBuBZFhMpdHpPnTJ7DIFMd%2fFN5gG%2ftah30SapWpo35Ux%0a3BpJcdUjtazy82K5AgMBAAGjUDBOMB0GA1UdDgQWBBQAlv7%2ftALOYb7zAXbYG2%2b9%0aAMI3xjAfBgNVHSMEGDAWgBQAlv7%2ftALOYb7zAXbYG2%2b9AMI3xjAMBgNVHRMEBTAD%0aAQH%2fMA0GCSqGSIb3DQEBBQUAA4IBAQCxzpe71Hc7Es0dqIN7bhIFYIIgcr6wxM6a%0aa9d%2bQG%2bQPH0x0KAqV8EgUbZysvyxEF0bPxW3ZAr1Is1wk80PMuU3bToFFVbFFIIr%0aHRNfKLGvxiMXnZA1c6L4N0lowvXHgZxTTUXtDFLXyrcwrLsvUErEV7rbizuxqfPw%0acaRtXn4uc%2bt6HYuW7yWesBauCWnJNiKbjN%2fF%2buCTurN3QMAeWf3ZJtsfkAgk8dyq%0aR%2f83a3kDtSPrpt%2bjX%2bqdjKEpRtQ5Qpm6XT2gCOQPgnfiUtOCH419pp922P%2fAAGc%2b%0aZUhYoWcRWKw%2fy6gI7Ru%2b%2b9%2b8%2bwkadL9EbKMZxhVwD5qVm4ZlWK2a%5cr%5cn%0a-----END%20CERTIFICATE-----&key=-----BEGIN%20RSA%20PRIVATE%20KEY-----%0aMIIEpAIBAAKCAQEA4AVM6J4Qg3DIFWr%2feJ5GRmIATYsJIepKbrDy70sq%2budcO8R8%0axxak0oMZ%2f9mUdpjSNK%2ffLVTuCO0kxTfQ9VUWJllX7ThD6Zh9ZvlC%2fnf%2fOEZLm3Zb%0aBgu8rbC8E9wuDOkKbJLnINgdhtowIydLK2MJ%2b%2bq62bFV89jkHWTMcKyyqHENo3h%0ac%2blkpd9vnp8rZTinaVb7nX26uQqAFZYRo%2bWU0G%2fNPsq40QVSMoqPxyEz4qXo0hvu%0aIlCXmzFZq%2f6fCVPEKPLhQgMmpdBkMz4dVOazREfqXdjMD2%2bQXSNiA1AwWr8l0r4r%0atzlxEYDJIR41yXp0xMl3KoolxMyvLBqZy32niQIDAQABAoIBAQCmbGmhWmPsMeoC%0at1WJFxQgD4goE0U6k%2bKt7vjbOt14Pk6v%2fB2yjaju1wSGpO59WLS4%2fXrwI2se6IXr%0amba7u3VUEgWXLriNHoLy7%2fSMNTs%2bZEKhAMG36eNe3tVdT7busTag31r6sEMGGwCs%0aIwpU%2bazosk0oylWLEX%2fm%2fuHWEs1eaIEWWWtgHB%2bKZrrP7Rr9RYfVQ144DxmOxS3C%0aa9%2bmST62WqAVPR6POWGEfZqnZl%2fePWZPcQYbFrhwnnefNoYBl%2fbnLZBo8rbNWxAq%0aOEOuKfkrBzglKG%2f39WKPw8rj4JIVzY0yOuFCW6xCDWRkOrhU8Ol%2f3FvwDa3uJpkp%0amgPr4TgxAoGBAPGPLmxSuOYR97mDAXxrs037F2GCbqWvI6m7%2fezWe9yn%2bbMpjSIW%0afsgtq4FsyqzPueEkDdQWi3xh6nu2WI%2f1Tl875opGAqEIJMqss%2fu11tnva5wzu1cC%0aL6H85A5%2bHMOBvP3sm6CObKcVw92h7kxynVIUJJWhjfeZMN8gBFFpKIVFAoGBAO1p%0atXBmXLC%2fYKKvtHI3M16%2fZopvM8ZqU2HcAHaw214Refw9JJ%2fe3%2fxTNfSerVTyCAQO%0a1AdWTzJKBN8jmSYv1Mk1D3RpQPNR7wVzi46KR081AU41uMpqIGVOwHtyVnW%2fZfLr%0ac1DLIK8Cx8aHfoxffwzoMO5SEQSooeZfOLhsfDN1AoGBAKQTUEINsj%2b75psgbAr6%0aELGgItJ9yPBLVRr%2bcUzEpx9LDWVvjMihpP4NX1gq8EOPWT%2bewLHVmmsjCyV6xw8J%0aXXF8e2xif3in0m3D%2fwCzE7u2T06rKM3B017hKnrZmGoHnrqPU2osM4sOUpshWX6d%0av1Q4EF1%2bfbK3YCW%2bVpCBsB9NAoGAQo%2buhNLODee56iKkzpjXWCsFTq6ar3hD5F3P%0a63buKdNwhd2GlSPhXFbf%2b7M5GWW6BZk6rMvv7EOAVice2uvyFm8%2f4%2f1WbmF8R%2bT7%0aLX1rPLO5p%2fm701QpvP11TabiwqRkqtSEQhSRF0AKTojSW%2fyyHCZFAawUhV%2fZ9EKi%0aHmKb97kCgYAyzmFc2it0HqnsOnRybop603nqMtWGTQO4cxa93HUDpYajuK2K3Dfr%0axUj6lG3z%2foKJGGE2JqgZ6LBAhNJtJWJu2ox3pKGE63QjLJnVwb8y1NFYpe%2fcrbLe%0aPuBwIR0L7drXxfv7O5btY7h6QI2d1%2fUIAQPAWbxLoTM%2bndQ%2fuPEdfA%3d%3d%0a-----END%20RSA%20PRIVATE%20KEY----- - label: LiveAPI Perl lang: Perl source: REDACTED_PRIVATE_KEY_EXAMPLE - label: LiveAPI PHP lang: PHP source: REDACTED_PRIVATE_KEY_EXAMPLE x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 11.42 /SSL/installed_host: get: x-readonly: true description: "This function retrieves information about a certificate that is installed on a domain's dedicated IP address.\n\ \n**Important:**\n\n * If you do **not** possess a dedicated IP address, this function will **fail**. For non-dedicated\ \ IP addresses, use the `SSL::installed_hosts` function.\n * When you disable the _Calendars and Contacts_, _Receive\ \ Mail_, _Web Disk_ , _Webmail_ , **and** _Web Server_ [roles](https://go.cpanel.net/howtouseserverprofiles#roles),\ \ the system **disables** this function." operationId: SSL-installed_host parameters: - description: 'The domain name. **Note:** The parameter defaults to the account''s main domain.' in: query name: domain required: false schema: example: example.com format: domain type: string - description: 'Verify the certificate. * `1` — Verify the certificate. * `0` — Do **not** verify the certificate.' in: query name: verify_certificate 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: installed_host type: string module: description: The name of the module called. example: SSL type: string result: properties: data: properties: certificate: description: An object containing the certificate information. properties: domains: description: 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. * `prime256v1` * `secp384r1` * `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. * `null` — The certificate''s key is **not** an ECDSA key.' example: null nullable: true type: string id: description: The certificate's ID. example: example_com_c69ce_37ff5_1397169490_169c717cb2c260281df792788accf041 type: string is_self_signed: description: 'Whether the certificate is self-signed. * `1` — Self-signed. * `0` — Not self-signed.' enum: - 0 - 1 example: 1 type: integer issuer.commonName: description: The issuer's Common Name, typically a domain name. example: example.com type: string issuer.organizationName: description: The certificate's organization. example: Organization type: string issuer_text: description: The X.509 information about the issuer that contains CSR information. example: 'commonName example.com countryName US emailAddress username@example.com organizationName Example stateOrProvinceName Texas localityName Houston' 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. * `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. * `null` — The certificate''s key is **not** an RSA key.' example: 2048 minimum: 1 nullable: true type: integer not_after: description: The certificate's expiration time. example: 1397169490 format: unix_timestamp type: integer not_before: description: The certificate's start time. example: 1365633490 format: unix_timestamp type: integer signature_algorithm: description: The signature algorithm of the certificate. example: sha256WithRSAEncryption type: string subject.commonName: description: The certificate's Common Name. example: example.com type: string subject_text: description: The X.509 information about the certificate's subject that contains CSR information. example: 'commonName example.com' type: string validation_type: description: 'The certificate''s validation type. * `ev` — Extended Validation. * `ov` — Organization Validation. * `dv` — Domain Validation. * `null` — The system could not parse and determine the certificate''s validation type.' enum: - ev - ov - dv example: dv nullable: true type: string verify_error: description: 'Any errors that exist during the certificate verification process. If there are no errors, this will return an empty string. **Note:** You **must** set the `verify_certificate` parameter to `1` for this return to appear.' example: '' type: string type: object host: description: The issuer's hostname. example: 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. * `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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's info for dedicated IP tags: - SSL - cPanel Account SSL Management x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n SSL \\\n installed_host\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/SSL/installed_host - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file SSL_installed_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//\n# to .../frontend//api_examples/SSL_installed_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/SSL/,\n q/installed_host/\n\ );\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n my $data = $response->{cpanelresult}{result}{data};\n\ \ # Do something with the $data\n # So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file SSL_installed_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//\n//\ \ to .../frontend//api_examples/SSL_installed_host.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/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 'installed_host'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status'])\ \ {\n $data = $response['cpanelresult']['result']['data'];\n // Do something with the $data\n // So you\ \ can see the data shape we print it here.\n print to_json($data);\n}\nelse {\n // Report errors:\n print\ \ to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n\ $cpanel->end();\n\n//--------------------------------------------------------------------------------------\n//\ \ Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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/installed_hosts: get: x-readonly: true description: "This function retrieves a list of the account's websites, their domains, and certificate information.\n\ \n**Important:**\n\n For a dedicated IP address, use the UAPI `SSL::installed_host` function.\n\n**Important:**\n\ \n When you disable the *CalendarContact* , *MailReceive* , *WebDisk* , *Webmail* , and *WebServer* [roles](https://go.cpanel.net/serverroles),\ \ the system **disables** this function." operationId: SSL-installed_hosts 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: installed_hosts type: string module: description: The name of the module called. example: SSL type: string result: properties: data: items: properties: certificate: description: An object that contains information about each certificate. properties: auto_ssl_provider: description: The AutoSSL provider's name. example: cPanel type: string auto_ssl_provider_display_name: description: The AutoSSL provider's display name. example: Sectigo type: string domains: description: 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. * `prime256v1` * `secp384r1` * `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. * `null` — The certificate''s key is **not** an ECDSA key.' example: null nullable: true type: string id: description: The certificate's ID. example: example_com_a74f7_9dddf_1446659822_eae1ff43c4ec1991e195877c55755eff type: string is_autossl: description: 'Whether the AutoSSL service provided the certificate. * `1` - Provided by the AutoSSL service. * `0` - Not provided by the AutoSSL service.' enum: - 0 - 1 example: 1 type: integer is_self_signed: description: 'Whether the certificate is self-signed. * `1` - Self-signed. * `0` - Not self-signed.' enum: - 0 - 1 example: 1 type: integer issuer.commonName: description: The name that issued the certificate. example: example.com format: domain type: string issuer.organizationName: description: The certificate's organization name. example: The Example Organization type: string issuer_text: description: The issuer's X.509 information. example: 'example.com countryName US emailAddress username@example.com organizationName Example stateOrProvinceName Texas localityName Houston' type: string key_algorithm: description: 'The certificate''s key''s algorithm. * `rsaEncryption` — RSA. * `id-ecPublicKey` — ECDSA.' enum: - rsaEncryption - id-ecPublicKey example: rsaEncryption type: string modulus: description: 'The certificate''s key''s modulus, in hexadecimal format. * `null` — The certificate''s key is **not** an RSA key.' example: a673c3b17344664b35f8791f562d3aea6bf4d8faa3ae3fc0a519380fd453964a36677c34d48677ecb7f5ed035df026f5f0f8fbfe21745e52daf1f3b9e58c73f0baefdb709320e2202e7d05250b051a59b30ff1fef22d83d7140c1c81cea314a0890ce8d2226799872181c58a74016c7aaa2cff5ac72b575cecde8f304aa572a2ea03d8b173ab76c6e8cdb9dfd0da81e1119cefd4b8b4dbfbe0e46c7f1ee2fe8b5fd5504e58ccbc0d13b4fa41ecc9ebd0dabe1d1fec5c724f748167e7c0553e997f9b77eb36abce70973f06df151748d41b758de3efd7afa6f2464a1547f5ff158469d96e248be464df9eda0e7ce854a89332a2c1278b17c425368a9604f454db format: hex nullable: true type: string modulus_length: description: 'The length, in bits, of the certificate''s key''s modulus. * `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: 1446659822 format: unix_timestamp type: integer not_before: description: When the certificate started. example: 1415123822 format: unix_timestamp type: integer signature_algorithm: description: The signature algorithm of the certificate. example: sha256WithRSAEncryption format: sha256 type: string subject.commonName: description: The certificate's common name. example: example.com format: domain type: string subject_text: description: The subject's X.509 information. example: 'commonName example.com' type: string validation_type: description: 'The certificate''s validation type. **Note:** * `ev` - Extended Validation. * `ov` - Organization Validation. * `dv` - Domain Validation. * null - The system could not parse and determine the certificate''s validation type.' enum: - ev - ov - dv example: dv nullable: true type: string type: object certificate_text: description: The certificate's text. example: REDACTED_CERTIFICATE_EXAMPLE format: pem-certificate type: string docroot: description: The document root of the domain that the certificate covers. example: /home/username/public_html format: path type: string domains: description: The domains that the certificate covers. items: example: example.com format: domain type: string type: array fqdns: description: 'An array of every valid fully qualified domain name (FQDN) on the virtual host, which includes service subdomains (proxy subdomains).' items: example: www.example.com format: domain type: string type: array ip: description: The host's IP address. example: 192.168.0.1 oneOf: - format: ipv4 type: string - format: ipv6 type: string is_primary_on_ip: description: 'Whether the website is primary on the IP address. * `1` - Primary. * `0` - Not primary.' enum: - 0 - 1 example: 1 type: integer mail_sni_status: description: 'Whether SNI is active on the domain. * `1` - Active. * `0` - Inactive.' enum: - 0 - 1 example: 1 type: integer needs_sni: description: 'Whether the website requires SNI to function. * `1` - Requires SNI. * `0` - Does not require SNI.' enum: - 0 - 1 example: 0 type: integer servername: description: The server's hostname. example: example.com format: domain 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 * `0` - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 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 installed_hosts\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/SSL/installed_hosts - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file SSL_installed_hosts.live.pl and put this code into that file.\n# 5) In\ \ your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend//\n# to\ \ .../frontend//api_examples/SSL_installed_hosts.live.pl\n#--------------------------------------------------------------------------------------\n\ \nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this\ \ once.\n\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/installed_hosts/\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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file SSL_installed_hosts.live.php and put this code into that file.\n// 5)\ \ In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend//\n//\ \ to .../frontend//api_examples/SSL_installed_hosts.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/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 'installed_hosts'\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//--------------------------------------------------------------------------------------\n\ function 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/is_autossl_check_in_progress: get: x-readonly: true description: 'This function verifies whether the `autossl_check` task is in progress for the current user. **Important:** 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-is_autossl_check_in_progress 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_autossl_check_in_progress type: string module: description: The name of the module called. example: SSL type: string result: properties: data: description: 'Whether the `autossl_check` task is in progress for the current user. * `1` - In progress. * `0` - **Not** currently in progress.' 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 AutoSSL check in progress tags: - SSL - Auto-generated SSL Certificates x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n SSL \\\n is_autossl_check_in_progress\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/SSL/is_autossl_check_in_progress - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file SSL_is_autossl_check_in_progress.live.pl and put this code into that file.\n\ # 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend//\n\ # to .../frontend//api_examples/SSL_is_autossl_check_in_progress.live.pl\n#--------------------------------------------------------------------------------------\n\ \nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this\ \ once.\n\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/is_autossl_check_in_progress/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status})\ \ {\n my $data = $response->{cpanelresult}{result}{data};\n # Do something with the $data\n # So you can\ \ see the data shape we print it here.\n print to_json($data);\n}\nelse {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n\ }\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file SSL_is_autossl_check_in_progress.live.php and put this code into that\ \ file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend//\n\ // to .../frontend//api_examples/SSL_is_autossl_check_in_progress.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/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 'is_autossl_check_in_progress'\n);\n\n// Handle the\ \ response\nif ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 68 /SSL/is_mail_sni_supported: get: x-readonly: true description: 'This function checks whether the sslinstall feature is enabled. **Warning:** Mail SNI is always enabled. * Mail SNI is **not** compatible with Webmail and will **not** function for any Webmail connection. Webmail connections use the cPanel service SSL certificate. * Functions that enable Mail SNI succeed with a warning that Mail SNI is always enabled. * Functions that disable Mail SNI will fail and make no changes. **Important:** 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-is_mail_sni_supported 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_mail_sni_supported type: string module: description: The name of the module called. example: SSL type: string result: properties: data: description: 'Whether the sslinstall feature is enabled. * `1` - Enabled. * `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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 mail SNI is enabled tags: - SSL - SNI Email Settings x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n SSL \\\n is_mail_sni_supported\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/SSL/is_mail_sni_supported - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file SSL_is_mail_sni_supported.live.pl and put this code into that file.\n#\ \ 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend//\n\ # to .../frontend//api_examples/SSL_is_mail_sni_supported.live.pl\n#--------------------------------------------------------------------------------------\n\ \nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this\ \ once.\n\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/is_mail_sni_supported/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status})\ \ {\n my $data = $response->{cpanelresult}{result}{data};\n # Do something with the $data\n # So you can\ \ see the data shape we print it here.\n print to_json($data);\n}\nelse {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n\ }\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file SSL_is_mail_sni_supported.live.php and put this code into that file.\n\ // 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend//\n\ // to .../frontend//api_examples/SSL_is_mail_sni_supported.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/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 'is_mail_sni_supported'\n);\n\n// Handle the response\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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/is_sni_supported: get: x-readonly: true description: 'This function checks whether the Apache web server supports SNI. **Important:** 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-is_sni_supported 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_sni_supported type: string module: description: The name of the module called. example: SSL type: string result: properties: data: description: 'Whether the Apache web server supports SNI. * `1` - Supported. * `0` - **Not** supported.' 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 Apache web server supports mail SNI tags: - SSL - SNI Email Settings x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n SSL \\\n is_sni_supported\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/SSL/is_sni_supported - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file SSL_is_sni_supported.live.pl and put this code into that file.\n# 5) In\ \ your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend//\n# to\ \ .../frontend//api_examples/SSL_is_sni_supported.live.pl\n#--------------------------------------------------------------------------------------\n\ \nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this\ \ once.\n\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/is_sni_supported/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status})\ \ {\n my $data = $response->{cpanelresult}{result}{data};\n # Do something with the $data\n # So you can\ \ see the data shape we print it here.\n print to_json($data);\n}\nelse {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n\ }\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file SSL_is_sni_supported.live.php and put this code into that file.\n// 5)\ \ In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend//\n//\ \ to .../frontend//api_examples/SSL_is_sni_supported.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/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 'is_sni_supported'\n);\n\n// Handle the response\nif\ \ ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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/list_certs: get: x-readonly: false x-rollback: none description: 'This function lists an account''s certificates. **Important:** When you disable the Calendars and Contacts, Receive Mail, Web Disk, Webmail, and Web Server [roles](https://go.cpanel.net/howtouseserverprofiles#roles), the system **disables** this function.' operationId: SSL-list_certs 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_certs 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: 1569884400 format: unix_timestamp type: integer domain_is_configured: description: 'Whether the certificate is installed on the account. * `1` — Installed. * `0` — Not installed.' enum: - 1 - 0 example: 1 type: integer domains: description: A list of domains that the certificate covers. items: example: example.com type: string type: array ecdsa_curve_name: description: 'The ECDSA curve that the certificate''s key uses. * `prime256v1` * `secp384r1` * `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. * `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_c69ce_37ff5_1397169490_169c717cb2c260281df792788accf041 type: string is_self_signed: description: 'Whether the certificate is self-signed. * `1` — Self-signed. * `0` — Not self-signed.' enum: - 1 - 0 example: 1 type: integer issuer.commonName: description: The issuer's name. example: example.com type: string issuer.organizationName: description: The certificate's organization. example: Organization type: string issuer_text: description: The certificate's issuer information. example: 'countryName US stateOrProvinceName TX localityName Houston organizationName WebPros International, LLC commonName WebPros International, LLC Certification Authority' type: string key_algorithm: description: 'The certificate''s key''s algorithm. * `rsaEncryption` — RSA. * `id-ecPublicKey` — ECDSA.' enum: - rsaEncryption - id-ecPublicKey example: rsaEncryption type: string modulus: description: 'The certificate''s key''s modulus, in hexadecimal format. * `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. * `null` — The certificate''s key is **not** an RSA key.' example: 2048 nullable: true type: integer not_after: description: The certificate's expiration date. example: 1601467200 format: unix_timestamp type: integer not_before: description: The certificate's start date. example: 1569844800 format: unix_timestamp type: integer serial: description: The certificate's serial number. example: 45462cd0d6537b20cf2f3eb8aec07140 type: string signature_algorithm: description: The OID hash algorithm signature of the certificate. example: sha256WithRSAEncryption type: string subject.commonName: description: The certificate's Common Name (CN). example: example.com type: string subject_text: description: The certificate's subject text information. example: 'commonName www.example.com' type: string validation_type: description: 'The certificate''s validation type. * `ev` — Extended Validation. * `ov` — Organization Validation. * `dv` — Domain Validation. * `null` — The system could not parse and determine the certificate''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. * `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 SSL certificates tags: - SSL - cPanel Account SSL Management x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n SSL \\\n list_certs\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/SSL/list_certs - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file SSL_list_certs.live.pl and put this code into that file.\n# 5) In your\ \ browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend//\n# to .../frontend//api_examples/SSL_list_certs.live.pl\n\ #--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI\ \ ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\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/list_certs/\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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file SSL_list_certs.live.php and put this code into that file.\n// 5) In your\ \ browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend//\n// to .../frontend//api_examples/SSL_list_certs.live.php\n\ //--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL\ \ object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/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 'list_certs'\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}\n\ else {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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/list_csrs: get: x-readonly: false x-rollback: none description: 'This function lists an account''s certificate signing requests (CSR). **Important:** When you disable the Calendars and Contacts, Receive Mail, Web Disk, Webmail, and Web Server [roles](https://go.cpanel.net/howtouseserverprofiles#roles), the system **disables** this function.' operationId: SSL-list_csrs 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_csrs 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 or Distinguished Name. example: example.com type: string created: description: The CSR's creation date. 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. * `prime256v1` * `secp384r1` * `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. * `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_c69ce_37ff5_1397169490_169c717cb2c260281df792788accf041 type: string key_algorithm: description: 'The CSR''s key''s algorithm. * `rsaEncryption` — RSA. * `id-ecPublicKey` — ECDSA.' enum: - rsaEncryption - id-ecPublicKey example: rsaEncryption type: string modulus: description: 'The CSR''s key''s modulus, in hexadecimal format. * `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. * `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 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 list_csrs\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/SSL/list_csrs - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file SSL_list_csrs.live.pl and put this code into that file.\n# 5) In your browser\ \ login to a cPanel account.\n# 6) Manually change the url from: .../frontend//\n# to .../frontend//api_examples/SSL_list_csrs.live.pl\n\ #--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI\ \ ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\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/list_csrs/\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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file SSL_list_csrs.live.php and put this code into that file.\n// 5) In your\ \ browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend//\n// to .../frontend//api_examples/SSL_list_csrs.live.php\n\ //--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL\ \ object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/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 'list_csrs'\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}\n\ else {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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/list_keys: get: x-readonly: false x-rollback: none description: 'This function lists an account''s private keys. **Important:** When you disable the Calendars and Contacts, Receive Mail, Web Disk, Webmail, and Web Server [roles](https://go.cpanel.net/howtouseserverprofiles#roles), the system **disables** this function.' operationId: SSL-list_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_keys type: string module: description: The name of the module called. example: SSL type: string result: properties: data: items: properties: created: description: The key's creation date. example: 1569844800 format: unix_timestamp type: integer ecdsa_curve_name: description: 'The ECDSA curve that the key uses. * `prime256v1` * `secp384r1` * `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. * `null` — The key is **not** an ECDSA key.' example: null nullable: true type: string friendly_name: description: The key's friendly name. example: TestKey type: string id: description: The key ID. example: b116e_473f5_ad6b3bd9517fb157830d0e37a03bc596 type: string key_algorithm: description: 'The key''s algorithm. * `rsaEncryption` — RSA. * `id-ecPublicKey` — ECDSA.' enum: - rsaEncryption - id-ecPublicKey example: rsaEncryption type: string modulus: description: 'The key''s modulus, in hexadecimal format. * `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. * `null` — The key is **not** an RSA key.' example: 2048 minimum: 1 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. * `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 private keys tags: - SSL - cPanel Account SSL Management x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n SSL \\\n list_keys\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/SSL/list_keys - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file SSL_list_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//\n# to .../frontend//api_examples/SSL_list_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/SSL/,\n q/list_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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file SSL_list_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//\n// to .../frontend//api_examples/SSL_list_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\ \ 'SSL',\n 'list_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}\n\ else {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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/list_ssl_items: get: x-readonly: false x-rollback: none description: 'This function lists SSL-related items on a domain. **Important:** When you disable the [Calendars and Contacts, Receive Mail, Web Disk, Webmail, and Web Server roles](https://go.cpanel.com/serverroles), the system **disables** this function.' operationId: SSL-list_ssl_items parameters: - description: The domain name or names. examples: multiple: summary: Multiple domains. value: domains=example1.com|example2.com single: summary: A single domain. value: example.com in: query name: domains required: false schema: type: string - description: 'The SSL item type or types. * `key` * `csr` * `crt`' examples: multiple: summary: Multiple item types. value: item=key|csr single: summary: A single item type. value: key in: query name: item required: false schema: default: 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: list_ssl_items type: string module: description: The name of the module called. example: SSL type: string result: properties: data: items: properties: host: description: The hostname. example: example.com format: domain type: string id: description: The certificate's ID. example: example_com_a74f7_9dddf_1446659822_eae1ff43c4ec1991e195877c55755eff type: string type: description: 'The type of SSL item. * `key` * `csr` * `crt`' enum: - key - csr - crt example: 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: transformed: description: Post-processing may have transformed the data. enum: - 1 example: 1 type: integer status: description: '* `1` - Success. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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-related items tags: - SSL - cPanel Account SSL Management x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n SSL \\\n list_ssl_items\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/SSL/list_ssl_items - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file SSL_list_ssl_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//\n# to .../frontend//api_examples/SSL_list_ssl_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/SSL/,\n q/list_ssl_items/\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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file SSL_list_ssl_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//\n//\ \ to .../frontend//api_examples/SSL_list_ssl_items.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/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 'list_ssl_items'\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}\n\ else {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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/mail_sni_status: get: x-readonly: true description: 'This function retrieves the status of the domain''s SNI mail services. **Warning:** Mail SNI is **not** compatible with Webmail and will not function for any Webmail connection. Webmail connections use the cPanel service SSL certificate. **Note:** Mail SNI is always enabled. * Functions that enable Mail SNI succeed with a warning that Mail SNI is always enabled. * Functions that disable Mail SNI fail and make no changes.' operationId: SSL-mail_sni_status parameters: - description: The account's domain. 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: mail_sni_status type: string module: description: The name of the module called. example: SSL type: string result: properties: data: properties: enabled: description: 'Whether SNI for mail is enabled. * `1` - SNI is enabled. * `0` - SNI is **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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 status of domain's SNI mail services tags: - SSL - SNI Email Settings x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n SSL \\\n mail_sni_status \\\n domain='example.com'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/SSL/mail_sni_status?domain=example.com - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file SSL_mail_sni_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//\n# to\ \ .../frontend//api_examples/SSL_mail_sni_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/SSL/,\n q/mail_sni_status/,\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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file SSL_mail_sni_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//\n//\ \ to .../frontend//api_examples/SSL_mail_sni_status.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/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 'mail_sni_status',\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//--------------------------------------------------------------------------------------\n\ function 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/rebuild_mail_sni_config: get: x-readonly: false x-rollback: none description: "This function rebuilds the SNI configuration files.\n\n**Note:**\n\n* You **must** run this function after\ \ you change the SNI status through the UAPI's `enable_mail_sni` or `disable_mail_sni` functions.\n* Mail SNI is **always**\ \ enabled.\n * Functions that enable Mail SNI succeed with a warning that Mail SNI is always enabled. Functions that\ \ disable Mail SNI fail and make no changes.\n * Functions that disable Mail SNI will fail and make no changes.\n\ \n**Important:**\n\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-rebuild_mail_sni_config parameters: - description: 'Whether to reload the Dovecot service after the system rebuilds the configuration files. * `1` - Reload Dovecot. * `0` - Do **not** reload Dovecot.' in: query name: reload_dovecot 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: rebuild_mail_sni_config type: string module: description: The name of the module called. example: SSL type: string result: properties: data: properties: success: description: 'Whether the system rebuilt the configuration files. * `1` - Configuration files rebuilt. * `0` - Configuration files **not** rebuilt.' 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 * `0` - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 SNI configuration files rebuild tags: - SSL - SNI Email Settings x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n SSL \\\n rebuild_mail_sni_config\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/SSL/rebuild_mail_sni_config - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file SSL_rebuild_mail_sni_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//\n\ # to .../frontend//api_examples/SSL_rebuild_mail_sni_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/SSL/,\n q/rebuild_mail_sni_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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file SSL_rebuild_mail_sni_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//\n\ // to .../frontend//api_examples/SSL_rebuild_mail_sni_config.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/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 'rebuild_mail_sni_config'\n);\n\n// Handle the response\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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/rebuildssldb: get: x-readonly: false x-rollback: none description: This function rebuilds the account's SSL database. operationId: SSL-rebuildssldb 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: rebuildssldb type: string module: description: The name of the module called. example: SSL 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. - 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: Start SSL database rebuild tags: - SSL - cPanel Account SSL Management x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n SSL \\\n rebuildssldb\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/SSL/rebuildssldb - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file SSL_rebuildssldb.live.pl and put this code into that file.\n# 5) In your\ \ browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend//\n# to .../frontend//api_examples/SSL_rebuildssldb.live.pl\n\ #--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI\ \ ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\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/rebuildssldb/\n\ );\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n my $data = $response->{cpanelresult}{result}{data};\n\ \ # Do something with the $data\n # So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file SSL_rebuildssldb.live.php and put this code into that file.\n// 5) In\ \ your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend//\n// \ \ to .../frontend//api_examples/SSL_rebuildssldb.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/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 'rebuildssldb'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status'])\ \ {\n $data = $response['cpanelresult']['result']['data'];\n // Do something with the $data\n // So you\ \ can see the data shape we print it here.\n print to_json($data);\n}\nelse {\n // Report errors:\n print\ \ to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n\ $cpanel->end();\n\n//--------------------------------------------------------------------------------------\n//\ \ Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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/remove_autossl_excluded_domains: get: x-readonly: false x-rollback: none description: 'This function enables AutoSSL for the domains that you specify. **Important:** 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-remove_autossl_excluded_domains parameters: - description: Enable AutoSSL for this domain. examples: multiple: summary: Multiple domains. value: domains=example1.com,example2.com single: summary: A single domain. value: example.com in: query name: domains 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_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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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 AutoSSL for specifed domains tags: - SSL - Auto-generated SSL Certificates x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n SSL \\\n remove_autossl_excluded_domains \\\n domains='example.com'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/SSL/remove_autossl_excluded_domains?domains=example.com - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file SSL_remove_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//\n\ # to .../frontend//api_examples/SSL_remove_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/remove_autossl_excluded_domains/,\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\ \ # Do something with the $data\n # So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file SSL_remove_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//\n\ // to .../frontend//api_examples/SSL_remove_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\n\ header('Content-Type: text/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 'remove_autossl_excluded_domains',\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 // Do something with the $data\n // So you\ \ can see the data shape we print it here.\n print to_json($data);\n}\nelse {\n // Report errors:\n print\ \ to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n\ $cpanel->end();\n\n//--------------------------------------------------------------------------------------\n//\ \ Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 66 /SSL/set_autossl_excluded_domains: get: x-readonly: false x-rollback: none description: 'This function disables AutoSSL for every domain that you specify. **Warning:** This function **replaces** the list of any domains that you previously excluded. To add domains to the list of excluded domains, use the UAPI function `SSL::add_autossl_excluded_domains`. **Important:** When you disable the the [Calendar and Contacts, Receive Mail, Web Disk, Webmail, and Web Server roles](https://go.cpanel.net/serverroles), the system **disables** this function.' operationId: SSL-set_autossl_excluded_domains parameters: - description: 'A comma-separated list of domains for which to disable AutoSSL. **Note:** If you do not include this parameter, the function will **enable** AutoSSL for every domain on the account.' in: query name: domains required: false schema: example: example.com,example.net 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_autossl_excluded_domains type: string module: description: The name of the module called. example: SSL 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: {} status: description: '- 1 - Success - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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 specifed domains tags: - SSL - Auto-generated SSL Certificates x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n SSL \\\n set_autossl_excluded_domains\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/SSL/set_autossl_excluded_domains - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file SSL_set_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//\n\ # to .../frontend//api_examples/SSL_set_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/set_autossl_excluded_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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file SSL_set_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//\n\ // to .../frontend//api_examples/SSL_set_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\n\ header('Content-Type: text/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 'set_autossl_excluded_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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 66 /SSL/set_cert_friendly_name: get: x-readonly: false x-rollback: none description: 'This function changes a certificate''s friendly name. **Important:** 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-set_cert_friendly_name parameters: - description: The certificate's friendly name. in: query name: friendly_name required: true schema: example: TestCert type: string - description: The certificate's new friendly name. in: query name: new_friendly_name required: true schema: example: TestCert2 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_cert_friendly_name 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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 SSL certificate's friendly name tags: - SSL - SSL Certificate Management x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n SSL \\\n set_cert_friendly_name \\\n friendly_name='TestCert'\ \ \\\n new_friendly_name='TestCert2'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/SSL/set_cert_friendly_name?friendly_name=TestCert&new_friendly_name=TestCert2 - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file SSL_set_cert_friendly_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//\n\ # to .../frontend//api_examples/SSL_set_cert_friendly_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/SSL/,\n q/set_cert_friendly_name/,\n {\n 'friendly_name' => 'TestCert',\n \ \ 'new_friendly_name' => 'TestCert2',\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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file SSL_set_cert_friendly_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//\n\ // to .../frontend//api_examples/SSL_set_cert_friendly_name.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/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 'set_cert_friendly_name',\n array (\n 'friendly_name'\ \ => 'TestCert',\n 'new_friendly_name' => 'TestCert2',\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//--------------------------------------------------------------------------------------\n\ function 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/set_csr_friendly_name: get: x-readonly: false x-rollback: none description: 'This function changes a certificate signing request''s (CSR) friendly name. **Important:** * You **must** call either the `friendly_name` or `id` parameter. * 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-set_csr_friendly_name parameters: - description: The CSR's friendly name. in: query name: friendly_name required: true schema: example: TestCSR type: string - description: 'The CSR''s ID. **Note:** To retrieve a CSR''s ID, use the UAPI `list_csrs` function.' in: query name: id required: true schema: example: example_com_eda9d_543fb_a3009b4b01a592390866ab3a47c0df18 type: string - description: The CSR's new friendly name. in: query name: new_friendly_name required: true schema: example: TestCSR2 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_csr_friendly_name 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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 certificate signing request's friendly name tags: - SSL - SSL Certificate Management x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n SSL \\\n set_csr_friendly_name \\\n friendly_name='TestCSR'\ \ \\\n id='example_com_eda9d_543fb_a3009b4b01a592390866ab3a47c0df18' \\\n new_friendly_name='TestCSR2'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/SSL/set_csr_friendly_name?friendly_name=TestCSR&id=example_com_eda9d_543fb_a3009b4b01a592390866ab3a47c0df18&new_friendly_name=TestCSR2 - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file SSL_set_csr_friendly_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//\n\ # to .../frontend//api_examples/SSL_set_csr_friendly_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/SSL/,\n q/set_csr_friendly_name/,\n {\n 'friendly_name' => 'TestCSR',\n \ \ 'id' => 'example_com_eda9d_543fb_a3009b4b01a592390866ab3a47c0df18',\n 'new_friendly_name' => 'TestCSR2',\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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file SSL_set_csr_friendly_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//\n\ // to .../frontend//api_examples/SSL_set_csr_friendly_name.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/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 'set_csr_friendly_name',\n array (\n 'friendly_name'\ \ => 'TestCSR',\n 'id' => 'example_com_eda9d_543fb_a3009b4b01a592390866ab3a47c0df18',\n 'new_friendly_name'\ \ => 'TestCSR2',\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//--------------------------------------------------------------------------------------\n\ function 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/set_default_key_type: get: x-readonly: false x-rollback: none description: This function sets a user’s preferred SSL/TLS key type. operationId: SSL-set_default_key_type parameters: - description: 'The key type to set. * `system` — Use the system’s `ssl_default_key_type` value. * `rsa-2048` — 2,048-bit RSA. * `rsa-4096` — 4,096-bit RSA. * `ecdsa-prime256v1` — ECDSA prime256v1 (“P-256”). * `ecdsa-secp384r1` — ECDSA secp384r1 (“P-384”).' example: ecdsa-prime256v1 in: query name: type required: true schema: enum: - system - rsa-2048 - rsa-4096 - ecdsa-prime256v1 - ecdsa-secp384r1 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_key_type type: string module: description: The name of the module called. example: SSL 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. * `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 SSL TLS key type tags: - SSL - cPanel Account SSL Management x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n SSL \\\n set_default_key_type \\\n type='ecdsa-prime256v1'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/SSL/set_default_key_type?type=ecdsa-prime256v1 - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file SSL_set_default_key_type.live.pl and put this code into that file.\n# 5)\ \ In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend//\n# \ \ to .../frontend//api_examples/SSL_set_default_key_type.live.pl\n#--------------------------------------------------------------------------------------\n\ \nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this\ \ once.\n\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/set_default_key_type/,\n {\n 'type' => 'ecdsa-prime256v1',\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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file SSL_set_default_key_type.live.php and put this code into that file.\n\ // 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend//\n\ // to .../frontend//api_examples/SSL_set_default_key_type.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/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 'set_default_key_type',\n array (\n 'type'\ \ => 'ecdsa-prime256v1',\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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 92 /SSL/set_key_friendly_name: get: x-readonly: false x-rollback: none description: 'This function changes a key''s friendly name. **Important:** * You **must** call either the `friendly_name` or `id` parameter. * 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-set_key_friendly_name parameters: - description: The key's friendly name. in: query name: friendly_name required: true schema: example: TestKey type: string - description: The key's ID. in: query name: id required: true schema: example: a9b72_63971_2cb6d8897b362cfb1548e047d8428b8d type: string - description: The key's new friendly name. in: query name: new_friendly_name required: true schema: example: TestKey2 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_key_friendly_name 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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 private key's friendly name tags: - SSL - SSL Certificate Management x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n SSL \\\n set_key_friendly_name \\\n friendly_name='TestKey'\ \ \\\n id='a9b72_63971_2cb6d8897b362cfb1548e047d8428b8d' \\\n new_friendly_name='TestKey2'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/SSL/set_key_friendly_name?friendly_name=TestKey&id=a9b72_63971_2cb6d8897b362cfb1548e047d8428b8d&new_friendly_name=TestKey2 - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file SSL_set_key_friendly_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//\n\ # to .../frontend//api_examples/SSL_set_key_friendly_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/SSL/,\n q/set_key_friendly_name/,\n {\n 'friendly_name' => 'TestKey',\n \ \ 'id' => 'a9b72_63971_2cb6d8897b362cfb1548e047d8428b8d',\n 'new_friendly_name' => 'TestKey2',\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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file SSL_set_key_friendly_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//\n\ // to .../frontend//api_examples/SSL_set_key_friendly_name.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/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 'set_key_friendly_name',\n array (\n 'friendly_name'\ \ => 'TestKey',\n 'id' => 'a9b72_63971_2cb6d8897b362cfb1548e047d8428b8d',\n 'new_friendly_name' =>\ \ 'TestKey2',\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//--------------------------------------------------------------------------------------\n\ function 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/set_primary_ssl: get: x-readonly: false x-rollback: none description: 'This function sets a new primary SSL website for a dedicated IP address. **Important:** 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-set_primary_ssl parameters: - description: The primary SSL website's servername. in: query name: servername required: true schema: example: hostname.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: set_primary_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: List of messages generated by the API. example: null items: type: string nullable: true type: array metadata: properties: {} status: description: '- 1 - Success - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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 SSL website for dedicated IP address tags: - SSL - SSL Certificate Management x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n SSL \\\n set_primary_ssl \\\n servername='hostname.example.com'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/SSL/set_primary_ssl?servername=hostname.example.com - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file SSL_set_primary_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//\n# to\ \ .../frontend//api_examples/SSL_set_primary_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/set_primary_ssl/,\n {\n 'servername' => '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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file SSL_set_primary_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//\n//\ \ to .../frontend//api_examples/SSL_set_primary_ssl.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/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 'set_primary_ssl',\n array (\n 'servername'\ \ => '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//--------------------------------------------------------------------------------------\n\ function 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/show_cert: get: x-readonly: false x-rollback: none description: 'This function retrieves a certificate. **Note:** When you call this parameter, you **must** include either the `id` or the `friendly_name` parameter. **Important:** When you disable the Calendars and Contacts, Receive Mail, Web Disk, Webmail, **and** Web Server [roles](https://go.cpanel.net/howtouseserverprofiles#roles), the system **disables** this function.' operationId: SSL-show_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_c69ce_37ff5_1397169490_169c717cb2c260281df792788accf041 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: show_cert type: string module: description: The name of the module called. example: SSL type: string result: properties: data: properties: cert: description: The contents of the certificate. example: REDACTED_CERTIFICATE_EXAMPLE format: pem-certificate type: string details: description: An object containing the certificate's details. properties: domains: description: A list of the certificate's domains. items: example: example.com format: domain type: string type: array ecdsa_curve_name: description: 'The ECDSA curve that the certificate''s key uses. * `prime256v1` * `secp384r1` * `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. * `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_c69ce_37ff5_1397169490_169c717cb2c260281df792788accf041 type: string is_self_signed: description: 'Whether the certificate is self-signed. * `1` — Self-signed. * `0` — Not self-signed.' enum: - 1 - 0 example: 1 type: integer issuer: description: A object that contains the issuer's details. properties: commonName: description: The issuer's Common Name or Distinguished Name. example: example.com type: string countryName: description: The certificate's two-letter country code. example: US format: ISO-3166-1 (alpha-2) type: string emailAddress: description: The issuer's email address. example: username@example.com format: email type: string localityName: description: The issuer's locality or city. example: Houston type: string organizationName: description: The issuer's organization name. example: Organization type: string stateOrProvinceName: description: The issuer's state or province name. example: Texas type: string type: object key_algorithm: description: 'The certificate''s key''s algorithm. * `rsaEncryption` — RSA. * `id-ecPublicKey` — ECDSA.' enum: - rsaEncryption - id-ecPublicKey example: rsaEncryption type: string modulus: description: 'The certificate''s key''s modulus, in hexadecimal format. * `null` — The certificate''s key is **not** an RSA key.' example: a673c3b17344664b35f8791f562d3aea6bf4d8faa3ae3fc0a519380fd453964a36677c34d48677ecb7f5ed035df026f5f0f8fbfe21745e52daf1f3b9e58c73f0baefdb709320e2202e7d05250b051a59b30ff1fef22d83d7140c1c81cea314a0890ce8d2226799872181c58a74016c7aaa2cff5ac72b575cecde8f304aa572a2ea03d8b173ab76c6e8cdb9dfd0da81e1119cefd4b8b4dbfbe0e46c7f1ee2fe8b5fd5504e58ccbc0d13b4fa41ecc9ebd0dabe1d1fec5c724f748167e7c0553e997f9b77eb36abce70973f06df151748d41b758de3efd7afa6f2464a1547f5ff158469d96e248be464df9eda0e7ce854a89332a2c1278b17c425368a9604f454db nullable: true type: string not_after: description: The certificate's expiration date. example: 1601467200 format: unix_timestamp type: integer not_before: description: The certificate's start time. example: 1569844800 format: unix_timestamp type: integer signature_algorithm: description: The certificate's OID hash algorithm signature. example: sha256WithRSAEncryption type: string subject: description: An object containing the certificate's ownership details. properties: commonName: description: The certificate's Common Name or Distinguished Name. example: example.com type: string countryName: description: The certificate's two-letter country code. example: US format: ISO-3166-1 (alpha-2) type: string emailAddress: description: The certificate's email address. example: username@example.com format: email type: string localityName: description: The certificate's locality or city. example: Houston type: string organizationName: description: The certificate's organization name. example: Organization type: string stateOrProvinceName: description: The certificate's state or province name. example: Texas type: string type: object validation_type: description: 'The certificate''s validation type. * `ev` — Extended Validation. * `ov` — Organization Validation. * `dv` — Domain Validation. * `null` — The system could not parse and determine the certificate''s validation type.' enum: - ev - ov - dv example: dv nullable: true type: string type: object text: description: The parsed information from the OpenSSL command-line tool. example: "Certificate:\n Data:\n Version: 3 (0x2)\n Serial Number:\n d1:e8:74:8c:d0:69:d2:55\n\ \ Signature Algorithm: sha1WithRSAEncryption\n Issuer: CN = example.com, C = US, emailAddress\ \ = username@example.com, O = Example, ST = Texas, L = Houston\n Validity\n Not Before: Apr\ \ 10 22:38:10 2013 GMT\n Not After : Apr 10 22:38:10 2014 GMT\n Subject: CN = example.com, C\ \ = US, emailAddress = username@example.com, O = Example, ST = Texas, L = Houston\n Subject\ \ Public Key Info:\n Public Key Algorithm: rsaEncryption\n Public-Key: (2048 bit)\n Modulus:\n\ \ 00:c6:9c:e3:37:1a:fc:e6:1b:e4:29:4d:8e:ee:ec:\n bd:7a:52:12:ef: 34:71:64:77:e0:79:76:6d:ba:f0:\n\ \ 77:fd:f0:92:18:b0:84:c3:f7:12:3a:a9:b9:1d:16:\n 6c:a0:10:6d:f0:55:17:35:27:ff:81:a7:46:e6:d4:\n\ \ 36:97:34:01:3a:2f:6d:61:9a: 04:20:e3:fd:06:11:\n 8b:a4:5e:4f:6d:0d:93:8e:3b:cc:cb:19:b3:cb:74:\n\ \ 7a:54:82:ae:52:9e:46:31:7a:02:44:0b:7b:26:e8:\n 84:aa:91:2b:25:c1:42:0c:cc:5d:c4:d5: c4:cf:df:\n\ \ de:4c:7c:22:99:ab:06:79:99:16:1e:a7:49:5b:9b:\n 89:97:18:3c:1e:4b:c6:c5:b5:b2:9d:7d:be:b9:91:\n\ \ c6:08:38:7d:dc:81:18:2b:0c:2c:da:29:f4:aa:a2:\n 72:46:d9:c2:68:31:89:51:ab:32:af:7a:8d:9b:a7:\n\ \ d8:b8:b5:37:21:03:91:1d:4e:d8:fc:f1:0e:1f:96:\n 17:d6:90:25:c1:3a:1a:76:4c:9e:2b:7e:b9:9c:f5:\n\ \ 86:0a:cf:ea: 2f:eb:bc:33:ee:69:49:b9:c2:e6:a0:\n ef:ee:90:19:4a:2a:64:7e:ef:96:46:7e:7d:e2:35:\n\ \ ec:d9:cf:34:42:7a:3d:c1:22:b9:68:a2:b3:02:a3:\n 7f:f5\n Exponent: 65537 (0x10001)\n X509v3\ \ extensions:\n X509v3 Subject Key Identifier:\n 6A:A1:EA:62:FB:B2:C4:AC:04:B0:43:DD:56:BE:8A:8D:FA:16:D3:F4\n\ \ X509v3 Authority Key Identifier:\n keyid:6A:A1:EA:62:FB:B2:C4:AC:04:B0:43:DD:56:BE:8A:8D:FA:16:D3:F4\n\ \n X509v3 Basic Constraints:\n CA:TRUE\n Signature Algorithm: sha1WithRSAEncryption\n 3c:1e:f7:3d:20:1b:a2:bd:5c:d6:0f:2a:9e:f3:b0:83:bf:a9:\n\ \ a0:90:9b:96:b1:a6:1e:8b:be:7c:f5:72:58:a0:48:3e:68: 43:\n 06:37:63:0a:cb:9c:23:98:c6:9e:f1:73:e8:4b:71:ac:07:fc:\n\ \ d0:5c:e1:55:4f:be:a7:75:5a:57:da:a1:c2:46:63:8f:3a:70:\n 4c:42:3c:03:4c:a0:47:a3:fc: ae:15:03:25:a5:78:63:a2:73:\n\ \ cd:47:d5:64:7c:d4:f5:85:f7:03:b8:b4:d8:95:75:6a:78:5c:\n e6:c7:69:02:7b:a4:fc:4d:8c:80:7b:c7:1c:71:04:ba:53:71:\n\ \ 7a: ce:00:cb:0e:5e:21:89:02:ba:90:02:8e:b5:79:8e:84:50:\n b0:21:63:b0:ac:19:80:c5:1d:a2:95:68:b7:ee:35:10:fa:db:\n\ \ f5:bf:b0:16:b1:34:76:f2:d6:ee:07:3b:6d:b6:0c:1d:b4:e5:\n 53:50:23:b8:c4:bf:fe:d6:77:ec:89:68:a0:d8:dd:f4:f5:fa:\n\ \ 7d:f6:c4:72:02:b1:e8:87:f7:e1:16:71:80:2e:e7:94:7b:eb:\n c6:a7:07:36:05:6d:34:b4:25:74:e9:c2:2c:9e:3d:bc:97:8e:\n\ \ 84:ce:cc:4f:1f:11:67:ad:30:f6:83:3e:be:bb:88:48:10:65:\n f7:4b:2f:80\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. * `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: Export SSL certificate tags: - SSL - SSL Certificate Management x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n SSL \\\n show_cert\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/SSL/show_cert - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file SSL_show_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//\n# to .../frontend//api_examples/SSL_show_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/show_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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file SSL_show_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//\n// to .../frontend//api_examples/SSL_show_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 'show_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//--------------------------------------------------------------------------------------\n\ function 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/show_csr: get: x-readonly: false x-rollback: none description: 'This function retrieves a certificate signing request (CSR). **Important:** When you disable the Calendars and Contacts, Receive Mail, Web Disk, Webmail, and Web Server [roles](https://go.cpanel.net/howtouseserverprofiles#roles), the system **disables** this function. **Note:** When you call this function, you **must** include either the `id` or the `friendly_name` parameter.' operationId: SSL-show_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: show_csr type: string module: description: The name of the module called. example: SSL type: string result: properties: data: properties: csr: description: The CSR's text. example: REDACTED_CERTIFICATE_EXAMPLE type: string details: description: An object contaning the CSR's contents. properties: commonName: description: The CSR's Common Name or Distinguished Name. example: example.com type: string countryName: description: 'The CSR''s [ISO-3166](https://en.wikipedia.org/wiki/ISO_3166) country code.' example: US type: string created: description: The CSR's creation date. example: 1538265600 format: unix_timestamp type: integer domains: description: A list of the domains that the CSR covers. items: example: example.com type: string type: array emailAddress: description: The CSR's email address. example: username@example.com format: email type: string friendly_name: description: The CSR's friendly name. example: TestCSR type: string id: description: The CSR's ID. example: example_com_c69ce_37ff5_1397169490_169c717cb2c260281df792788accf041 type: string key_algorithm: description: The key algorithm that encrypts the CSR. example: rsaEncryption type: string localityName: description: The certificate's locality or city. example: Houston type: string modulus: description: The CSR's modulus. example: a74f7636fa6ac93ee6836a83a995b55deb5019ea36d7ba3dafb00e38d693acdb0c81b2ff777d6b433a420fae523f127f352a68bcc8b8f2d6ee7b70395bafabd8237ada8164fdddf8376b30375c35d4d4cbcce7d33d08069c17b409176a3689f1ebc97c0b08fe6ae44c19a92ac6d68448e7f1d13f3b360affd4222a51b4f35342de99b5a1fb5548e438f2d824664562a448002eed7fce24dedc7dc3e1ed179973d1dae959b33716eeb410d172708954e00632cbf60a0e26419860c8c0bc285d6bfe4b479de0dd189772a5dae676bd2a92acccc1369821be8cffddd8a7e6ecc061f8a32a9ae0661e4e946ed8e3827b277138d3a76116567cbd129cbd869ef9dddf nullable: true type: string organizationName: description: The CSR's organization name. example: Organization type: string organizationalUnitName: description: The CSR's organizational unit name. example: Department type: string stateOrProvinceName: description: The CSR's state or province name. example: Texas type: string type: object text: description: The parsed information from the OpenSSL command-line tool. example: "Certificate Request:\n Data:\n Version: 0 (0x0)\n Subject: CN = example.com, C = US,\ \ emailAddress = username@example.com, O = Example, ST = Texas, L = Houston\n Subject Public\ \ Key Info:\n Public Key Algorithm: rsaEncryption\n Public-Key: (2048 bit)\n Modulus:\n 00:bf:44:22:cb:13:2b:7f:41:9f:48:85:d6:2c:77:\n\ \ 03:cf:84:db:90:5c:5a:ed:e5:9c:cb:d6:9d:4b:fc:\n 67:58:b7:db:71:dd:eb:8e:5a:77:6f:03:5d:96:85:\n\ \ 60:dc:91:45:59:85:ff:9e:57:76:a5:b5:cd:dc:48:\n 25:89:3f:8f:17:c1:c2:1e:4d:ec:f0:08:1a:a9:cc:\n\ \ 2d:45:34:be:82:77:a5:e4:bb:0b:82:bc:82:51:c3:\n ac:1b:ed:c3:a4:b3:e6:14:4f:ba:9e:39:af:08:ae:\n\ \ 3c:2c:15:bd:dc:03:17:93:01:95:4f:c0:2a:0f:3b:\n 46:5f:5e:6f:96:d5:b2:dd:53:22:a9:91:e4:36:8e:\n\ \ f2:60:5b:ca:b3:72:e6:be:53:8b:9e:b6:72:26:04:\n 85:37:f4:89:c1:78:91:7d:46:96:71:c4:be:39:f3:\n\ \ cc:1d:79:bc:33:61:5c:5f:76:52:4a:7d:d0:60:31:\n 79:96:44:6e:6a:77:72:70:1f:3f:08:24:e6:d1:50:\n\ \ c0:6a:86:98:df:56:8b:ae:2f:c1:97:bc:ed:4c:70:\n a1:a6:b2:7e:25:97:8f:95:73:a1:84:71:43:da:33:\n\ \ 48:d5:44:17:e1:28:1e:37:93:63:fa:ec:45:17:39:\n e5:ff:62:90:6b:b2:eb:11:5b:32:b2:ce:51:0b:8a:\n\ \ 3e:95\n Exponent: 65537 (0x10001)\n Attributes:\n a0:00\n Signature Algorithm: sha1WithRSAEncryption\n\ \ 41:bd:99:89:7a:1b:c2:71:90:f7:5a:17:05:c9:77:c8:f0:0e:\n 62:0f:85:0d:fb:16:02:74:34:5f:7a:93:3e:50:8e:cf:f4:6f:\n\ \ ee:ab:7b:c9:ef:7c:76:59:dd:85:fd:7d:4e:ac:95:9d:b7:ae:\n 8a:89:fc:1f:5b:ee:ee:6b:cd:9b:4e:2d:2a:fb:1b:32:8f:8f:\n\ \ 56:70:d1:42:c1:72:ed:04:4b:27:5a:ee:5a:e1:2b:6e:53:59:\n aa:14:25:87:7f:2b:c3:7a:f5:b2:6c:71:2a:93:62:40:ca:87:\n\ \ b4:fe:34:a1:95:77:1e:98:f1:71:5e:14:97:61:73:07:8d:bc:\n 3e:e1:f8:47:f7:00:8b:06:a5:1c:84:a3:88:9a:7b:37:74:5d:\n\ \ 34:a6:ae:22:ab:a3:b8:9f:d7:ab:60:9a:70:81:15:13:0f:d9:\n ff:ab:7a:2b:fd:cb:96:04:ad:00:6b:e4:74:4e:59:57:a5:9e:\n\ \ 84:c7:74:d8:62:08:37:b3:ee:cc:74:b2:b6:26:e8:c0:37:32:\n 19:dc:1c:ff:97:4a:cc:1c:36:c3:a7:2d:ca:77:53:c4:1d:1c:\n\ \ 3c:36:5b:f8:90:46:01:48:49:61:9b:ef:bb:b3:a8:94:0b:3f:\n 50:51:93:29:9f:aa:9a:ab:ae:3d:3c:72:8a:0b:bc:2f:3f:19:\n\ \ d7:5d:70:14\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. * `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: Export certificate signing request tags: - SSL - SSL Certificate Management x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n SSL \\\n show_csr\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/SSL/show_csr - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file SSL_show_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//\n# to .../frontend//api_examples/SSL_show_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/show_csr/\n\ );\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n my $data = $response->{cpanelresult}{result}{data};\n\ \ # Do something with the $data\n # So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file SSL_show_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//\n// to .../frontend//api_examples/SSL_show_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 'show_csr'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n\ \ $data = $response['cpanelresult']['result']['data'];\n // Do something with the $data\n // So you can\ \ see the data shape we print it here.\n print to_json($data);\n}\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n\ }\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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/show_key: get: x-readonly: false x-rollback: none description: 'This function retrieves a private key. **Important:** 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-show_key parameters: - description: 'The key''s friendly name. **Note:** You **must** use either the `id` or the `friendly_name` parameter.' in: query name: friendly_name required: false schema: example: TestKey type: string - description: 'The key''s ID. **Note:** You **must** use either the `id` or the `friendly_name` parameter.' in: query name: id required: false schema: example: example_com_c69ce_37ff5_1397169490_169c717cb2c260281df792788accf041 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: show_key type: string module: description: The name of the module called. example: SSL type: string result: properties: data: properties: details: description: An object of the key's details. properties: created: description: The key's creation date. example: 1365633415 format: unix_timestamp type: integer ecdsa_curve_name: description: 'The ECDSA curve that the key uses. * `prime256v1` * `secp384r1` * `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. * `null` — The key is **not** an ECDSA key.' example: null nullable: true type: string friendly_name: description: The key's friendly name. example: TestKey type: string id: description: The key's ID. example: example_com_c69ce_37ff5_1397169490_169c717cb2c260281df792788accf041 type: string key: description: The key's contents. example: REDACTED_PRIVATE_KEY_EXAMPLE format: pem-private-key type: string key_algorithm: description: 'The key''s algorithm. * `rsaEncryption` — RSA. * `id-ecPublicKey` — ECDSA.' enum: - rsaEncryption - id-ecPublicKey example: rsaEncryption type: string modulus: description: 'The key''s modulus, in hexadecimal format. * `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. * `null` — The key is **not** an RSA key.' example: 2048 nullable: true type: integer type: object text: description: The raw information from the [OpenSSL](https://www.openssl.org/) command-line tool. example: "Private-Key: (2048 bit)\nmodulus:\n 00:b1:16:ee:3e:de:ff:41:3c:f2:cb:b5:c5:0a:3d:\n\ \ c8:0d:64:bc:02:9f:e1:90:c9:7f:da:e8:03:e6:2c:\n 47:9f:e4:ff:5e:0d:95:64:5d:32:c2:b7:c9:01:ae:\n\ \ 30:e5:17:da:82:78:f4:15:b9:46:40:eb:8b:99:5c:\n cc:4b:e4:2a:e4:ee:0e:28:29:01:79:ee:d4:90:bc:\n\ \ 5d:9e:ab:b0:46:7c:de:4f:df:b2:d7:d1:76:89:88:\n ad:f3:6c:36:f3:a0:07:8c:90:88:19:52:0a:68:a1:\n\ \ 4d:c0:26:9e:8d:53:70:91:83:87:f4:8a:d9:b5:0f:\n a7:ed:31:f3:8f:34:d2:ca:e7:d1:31:ea:42:17:5d:\n\ \ 4d:48:7d:b3:73:07:72:40:9a:58:55:c8:b3:b6:ff:\n c2:b5:f6:ba:64:bd:3e:06:62:42:cd:44:0b:d2:f1:\n\ \ 76:5e:bb:20:55:47:d4:10:86:2d:ec:6b:e7:d2:0e:\n 5d:99:48:ca:4d:66:35:e1:1a:db:1b:96:0a:41:64:\n\ \ aa:c4:1b:1f:9d:90:e3:2e:aa:70:61:f7:77:b6:7b:\n f7:44:22:d8:73:0b:53:84:63:c3:f4:a4:19:e2:07:\n\ \ f6:0b:42:8a:3d:70:cb:92:24:80:44:e7:36:5d:01:\n a2:e0:e5:cd:50:e1:f7:7c:5a:9a:b5:da:c4:0f:c4:\n\ \ 73:f5\npublicExponent: 65537 (0x10001)\nprivateExponent:\n 5b:c3:ae:21:16:1c:df:09:5e:27:01:41:e1:54:b2:\n\ \ 5d:7e:5d:8e:5e:9a:dc:14:0e:14:b9:35:8c:08:55:\n f5:1d:0c:d7:07:e2:e9:e7:01:6e:b5:1d:8b:a9:5f:\n\ \ dc:d6:c7:7b:e4:81:56:e0:72:ef:21:1f:6d:91:10:\n ac:22:c7:b7:69:44:1c:bb:62:f0:74:39:e1:e6:39:\n\ \ fd:06:aa:89:5c:1b:36:f8:8c:0c:19:96:7b:1e:40:\n 45:6b:45:ee:68:76:80:f8:44:0e:1a:dd:19:ea:bc:\n\ \ 07:5d:fb:ba:f0:09:dc:dd:73:8d:dc:85:83:b5:61:\n 27:20:43:3d:69:f9:f0:f9:e1:73:76:29:5a:b0:05:\n\ \ 23:65:47:e8:39:f0:21:be:17:84:73:0a:08:15:4e:\n 7b:e2:14:6a:72:c7:d3:13:ff:98:ee:96:c9:40:a3:\n\ \ d3:0d:6c:90:48:25:7c:79:74:bf:be:fa:18:62:4d:\n c9:95:d4:d9:1a:47:59:4b:98:9a:2f:95:94:f4:4e:\n\ \ 78:cc:39:ef:9f:f7:6e:eb:db:cb:e5:95:ef:8f:ee:\n 5b:bf:c7:2a:29:e5:76:16:28:53:04:8e:ef:3f:66:\n\ \ 6f:34:a1:21:09:d6:da:ac:dd:ad:8c:2e:72:78:87:\n 01:45:f2:fa:3b:b9:23:2d:cf:5f:66:dc:c7:1c:0b:\n\ \ e1\nprime1:\n 00:e9:14:c4:18:92:16:8e:ad:fd:cf:17:f0:8c:f7:\n 55:e0:58:3d:e3:cd:bd:4d:4e:00:64:ee:f0:cf:a5:\n\ \ b0:14:19:85:ea:03:a8:be:18:78:34:3b:04:8c:b8:\n be:9a:ee:fc:0a:3e:6f:d2:8f:8f:fd:31:2d:02:97:\n\ \ 6e:bb:18:5b:9c:6a:85:6e:25:95:a4:40:4e:0b:91:\n a1:c3:85:bd:84:0c:d5:72:34:13:12:d9:20:56:52:\n\ \ 06:53:aa:06:2d:d0:61:2b:0b:d9:94:c6:d7:62:0f:\n c9:7d:17:cc:81:39:b3:59:e5:ce:77:d5:8a:82:ab:\n\ \ 2d:37:8a:51:49:3a:aa:c7:37\nprime2:\n 00:c2:80:b7:b4:85:25:37:30:b4:45:f3:3a:69:cf:\n \ \ c3:86:43:89:db:d4:09:6b:72:54:a6:89:b4:a7:43:\n 3c:dd:da:c6:46:89:93:0a:05:9a:8c:d6:05:5c:6a:\n\ \ 4d:34:1e:84:5b:14:28:b7:ef:d2:be:a5:10:9c:5f:\n e7:35:fb:15:e2:9e:4a:60:0a:73:01:f0:55:6c:75:\n\ \ 25:8a:9b:b0:32:d3:28:41:11:e2:85:2d:f6:35:76:\n 6c:68:14:ba:02:98:44:82:e1:c6:ca:f7:07:78:ca:\n\ \ ff:1a:60:3a:e1:88:91:55:a1:ae:11:46:29:4b:f0:\n 0f:e0:de:8a:0d:26:91:5c:33\nexponent1:\n\ \ 1d:2a:ad:13:4a:0c:aa:94:19:43:b6:02:33:11:ac:\n 5c:63:8e:73:18:46:cd:0a:aa:bf:f6:aa:89:c1:79:\n\ \ 14:3a:d1:68:24:47:14:6a:a9:78:17:be:8d:01:7d:\n 50:94:01:54:22:d6:09:6a:4f:a1:66:6a:f4:7d:10:\n\ \ ad:36:f2:17:d3:b8:98:bc:f9:49:d1:86:32:aa:69:\n ac:b6:ea:ad:40:91:e1:35:a5:01:61:cc:4b:20:fe:\n\ \ 8b:af:a6:10:4b:98:2d:33:d1:69:6d:ac:7c:27:ef:\n 95:c8:c9:9d:8e:23:e4:66:fe:7c:3e:6b:93:c8:69:\n\ \ e3:1e:5a:e7:a8:00:c0:e7\nexponent2:\n 6d:2e:3b:f0:c5:5c:a2:a2:60:4f:73:bd:32:70:41:\n \ \ dd:38:44:46:75:bb:e3:e8:85:c4:06:40:b6:33:74:\n 13:45:1f:4f:b1:22:2c:da:00:6b:56:28:24:3c:37:\n\ \ a2:2e:0f:35:e1:17:0a:49:41:0f:6b:30:eb:d6:99:\n bf:1f:76:a5:83:1d:54:d4:08:c2:e9:d9:c9:cb:e8:\n\ \ 8a:e9:e1:fa:65:b5:8e:f1:2f:2a:7b:26:5d:d4:5f:\n fd:fc:c4:7d:78:63:dc:e4:47:e6:de:cb:fe:ee:54:\n\ \ 4c:c5:ff:c7:62:15:d2:ef:b2:fa:57:5c:0f:18:6e:\n 91:57:da:3e:8f:8b:c1:29\ncoefficient:\n\ \ 00:bd:71:a9:3c:18:7b:0c:93:ab:d5:bf:f3:be:ea:\n 35:45:86:ce:60:0f:67:b3:2d:ba:5f:cf:9f:b6:1a:\n\ \ 13:27:cb:da:e7:ad:f3:c7:c2:06:7c:9e:00:d5:6c:\n 07:74:71:2c:35:39:c9:4b:24:cc:11:fd:60:c2:a2:\n\ \ 0b:28:b9:8b:4d:48:c6:0d:f0:39:34:dc:e2:c9:3a:\n b8:c6:64:0a:17:df:c4:f1:3d:fb:18:0b:af:ed:27:\n\ \ 3f:98:3b:e1:24:72:fc:5d:af:2c:e3:b6:07:3e:e1:\n 2f:fe:db:44:b0:8b:c3:e5:72:82:e5:a4:4a:3a:37:\n\ \ 8f:c4:9f:db:e9:1c:33:6a:f3\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. - 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: Export private key tags: - SSL - SSL Certificate Management x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n SSL \\\n show_key\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/SSL/show_key - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file SSL_show_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//\n# to .../frontend//api_examples/SSL_show_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/show_key/\n\ );\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n my $data = $response->{cpanelresult}{result}{data};\n\ \ # Do something with the $data\n # So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file SSL_show_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//\n// to .../frontend//api_examples/SSL_show_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 'show_key'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n\ \ $data = $response['cpanelresult']['result']['data'];\n // Do something with the $data\n // So you can\ \ see the data shape we print it here.\n print to_json($data);\n}\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n\ }\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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/start_autossl_check: get: x-readonly: false x-rollback: none description: 'This function initiates an [AutoSSL](https://go.cpanel.net/whmdocsManageAutoSSL) check for the user. **Important:** 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-start_autossl_check 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: start_autossl_check 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. - 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: Start AutoSSL for current user tags: - SSL - Auto-generated SSL Certificates x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n SSL \\\n start_autossl_check\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/SSL/start_autossl_check - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file SSL_start_autossl_check.live.pl and put this code into that file.\n# 5)\ \ In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend//\n# \ \ to .../frontend//api_examples/SSL_start_autossl_check.live.pl\n#--------------------------------------------------------------------------------------\n\ \nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this\ \ once.\n\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/start_autossl_check/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status})\ \ {\n my $data = $response->{cpanelresult}{result}{data};\n # Do something with the $data\n # So you can\ \ see the data shape we print it here.\n print to_json($data);\n}\nelse {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n\ }\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file SSL_start_autossl_check.live.php and put this code into that file.\n\ // 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend//\n\ // to .../frontend//api_examples/SSL_start_autossl_check.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/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 'start_autossl_check'\n);\n\n// Handle the response\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 68 /SSL/toggle_ssl_redirect_for_domains: get: x-readonly: false x-rollback: none description: 'This function enables or disables secure redirects (HTTPS) for the cPanel account''s domains that you specify. **Important:** To call this function, one of the following conditions **must** exist: * AutoSSL **must** exist on the domains for which you enable secure redirects. * A valid SSL certificate **must** exist for each domain for which you wish to enable secure redirects. * You **must** own the domains for which you wish to enable secure redirects.' operationId: SSL-toggle_ssl_redirect_for_domains parameters: - description: 'A comma-separated list of the cPanel account''s domains for which to enable or disable secure redirects. **Important:** To enable or disable redirects for addon domains, you **must** pass the addon domain **and** its subdomain.' in: query name: domains required: true schema: example: main.example,addon.example,addon.main.example type: string - description: 'Whether to enable or disable redirects for the specified domains. * `1` — Enable. * `0` — Disable.' in: query name: state 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: toggle_ssl_redirect_for_domains type: string module: description: The name of the module called. example: SSL type: string result: properties: data: description: The domains for which the function enabled or disabled secure redirects. example: - main.example - addon.example - addon.main.example 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: {} status: description: '- `1` - Success - `0` - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 secure redirects tags: - SSL - cPanel Account SSL Management x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n SSL \\\n toggle_ssl_redirect_for_domains \\\n domains='main.example,addon.example,addon.main.example'\ \ \\\n state='1'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/SSL/toggle_ssl_redirect_for_domains?domains=main.example%2caddon.example%2caddon.main.example&state=1 - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file SSL_toggle_ssl_redirect_for_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//\n\ # to .../frontend//api_examples/SSL_toggle_ssl_redirect_for_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/toggle_ssl_redirect_for_domains/,\n {\n 'domains' => 'main.example,addon.example,addon.main.example',\n\ \ 'state' => '1',\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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file SSL_toggle_ssl_redirect_for_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//\n\ // to .../frontend//api_examples/SSL_toggle_ssl_redirect_for_domains.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/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 'toggle_ssl_redirect_for_domains',\n array (\n \ \ 'domains' => 'main.example,addon.example,addon.main.example',\n 'state' => '1',\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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 80 /SSL/upload_cert: post: x-readonly: false x-rollback: none description: 'This function uploads a certificate. **Important:** * Due 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. * When you disable the Calendar and Contacts, Receive Mail, Web Disk, Webmail, and Web Server [roles](https://go.cpanel.net/howtouseserverprofiles#roles), the system **disables** this function.' operationId: SSL-upload_cert parameters: - description: The certificate's contents. in: query name: crt required: true schema: example: REDACTED_CERTIFICATE_EXAMPLE format: pem-certificate type: string - description: The certificate's friendly name. in: query name: friendly_name required: false schema: example: TestCert type: string requestBody: content: multipart/form-data: schema: properties: crt: description: The certificate file. format: pem-certificate type: string friendly_name: description: The certificate's friendly name. 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: upload_cert type: string module: description: The name of the module called. example: SSL type: string result: properties: data: items: properties: created: description: The certificate's creation date. example: 1569844800 format: unix_timestamp type: integer domains: description: A list of the certificate's domains. items: example: example.com format: domain type: string type: array ecdsa_curve_name: description: 'The ECDSA curve that the certificate''s key uses. * `prime256v1` * `secp384r1` * `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. * `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_c69ce_37ff5_1397169490_169c717cb2c260281df792788accf041 type: string is_self_signed: description: 'Whether the certificate is self-signed. * `1` — Self-signed. * `0` — Not self-signed.' enum: - 1 - 0 example: 1 type: integer issuer.commonName: description: The issuer's Common Name or Distinguished Name. example: VeriSign Trial Secure Server CA - G2 type: string issuer.organizationName: description: The issuer's Organization Name. example: VeriSign, Inc. type: string key_algorithm: description: 'The certificate''s key''s algorithm. * `rsaEncryption` — RSA. * `id-ecPublicKey` — ECDSA.' enum: - rsaEncryption - id-ecPublicKey example: rsaEncryption type: string modulus: description: 'The certificate''s key''s modulus, in hexadecimal format. * `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. * `null` — The certificate''s key is **not** an RSA key.' example: 2048 minimum: 1 nullable: true type: integer not_after: description: The certificate's expiration date. example: 1601467200 format: unix_timestamp type: integer not_before: description: The certificate's start date. example: 1569844800 format: unix_timestamp type: integer signature_algorithm: description: The certificiate's OID hash algorithm signature. example: sha256WithRSAEncryption type: string subject.commonName: description: The issuer's Common Name or Distinguished Name. example: example.com type: string validation_type: description: 'The certificate''s validation type. * `ev` — Extended Validation. * `ov` — Organization Validation. * `dv` — Domain Validation. * `null` — The system could not parse and determine the certificate''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. * `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: Import SSL certificate tags: - SSL - SSL Certificate Management x-codeSamples: - label: CLI lang: Shell source: "uapi --input=json --output=jsonpretty \\\n --user=username \\\n SSL \\\n upload_cert\n" - label: HTTP Request (Wire Format) lang: HTTP source: 'POST /cpsess##########/execute/SSL/upload_cert HTTP/1.1 Host: example.com:2083 Cookie: ################################### Content-Type: application/json Content-Length: 0 ' x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 11.42 /SSL/upload_key: post: x-readonly: false x-rollback: none description: 'This function uploads a private key. **Note:** Due 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. **Important:** When you disable the Calendars and Contacts, Receive Mail, Web Disk, Webmail, **and** Web Server [roles](https://go.cpanel.net/howtouseserverprofiles#roles), the system **disables** this function.' operationId: SSL-upload_key parameters: - description: The key's contents. in: query name: key required: true schema: example: REDACTED_PRIVATE_KEY_EXAMPLE format: pem-private-key type: string - description: The key's friendly name. in: query name: friendly_name required: false schema: example: TestKey type: string requestBody: content: multipart/form-data: schema: properties: crt: description: The key's contents. format: pem-private-key type: string friendly_name: description: The key's friendly name. 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: upload_key type: string module: description: The name of the module called. example: SSL type: string result: properties: data: items: properties: created: description: The key's creation date. example: 1569844800 format: unix_timestamp type: integer ecdsa_curve_name: description: 'The ECDSA curve that the key uses. * `prime256v1` * `secp384r1` * `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. * `null` — The key is **not** an ECDSA key.' example: null nullable: true type: string friendly_name: description: The key's friendly name. example: TestKey type: string id: description: The key's ID. example: bbe7e_16e2d_df7539f280eb1ecf6c1096190e41ada7 type: string key_algorithm: description: 'The key’s algorithm. * `rsaEncryption` — RSA. * `id-ecPublicKey` — ECDSA.' enum: - rsaEncryption - id-ecPublicKey example: rsaEncryption type: string modulus: description: 'The key''s modulus, in hexadecimal format. * `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. * `null` — The key is **not** an RSA key.' example: 2048 minimum: 1 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. * `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: Import private key tags: - SSL - SSL Certificate Management x-codeSamples: - label: CLI lang: Shell source: "uapi --input=json --output=jsonpretty \\\n --user=username \\\n SSL \\\n upload_key\n" - label: HTTP Request (Wire Format) lang: HTTP source: 'POST /cpsess##########/execute/SSL/upload_key HTTP/1.1 Host: example.com:2083 Cookie: ################################### Content-Type: application/json Content-Length: 0 ' x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 11.42 /ServerInformation/get_information: get: x-readonly: true description: 'This function returns the status of each [cPanel service (daemon)](https://go.cpanel.net/ThecPanelWHMServiceDaemons), device, and server health check point on your server.' operationId: ServerInformation-get_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_information type: string module: description: The name of the module called. example: ServerInformation type: string result: properties: data: description: An array of objects containing the server's status. example: - name: apache_php_fpm status: 1 type: service value: up - name: cpanel-dovecot-solr status: 1 type: service value: up - name: cpanellogd status: 1 type: service value: up - name: cpdavd status: 1 type: service value: up - name: cphulkd status: 1 type: service value: up - name: cpsrvd status: 1 type: service value: up - name: crond status: 1 type: service value: up - name: dnsadmin status: 1 type: service value: up - name: exim status: 1 type: service value: up version: exim-4.92-1.cp1180.x86_64 - name: ftpd status: 1 type: service value: up - name: httpd status: 1 type: service value: up version: 2.4.39 - name: imap status: 1 type: service value: up - name: ipaliases status: 1 type: service value: up - name: lmtp status: 1 type: service value: up - name: mailman status: 1 type: service value: up - name: mysql status: 1 type: service value: up version: 5.7.25 - name: named status: 1 type: service value: up - name: nscd status: 1 type: service value: up - name: pop status: 1 type: service value: up - name: queueprocd status: 1 type: service value: up - name: rsyslogd status: 1 type: service value: up - name: spamd status: 1 type: service value: up - name: sshd status: 1 type: service value: up - name: Server Load status: 1 type: metric value: '1.73' - name: CPU Count status: 1 type: metric value: '2' - name: Memory Used status: 1 type: device value: 44.12% - name: Swap status: 1 type: device value: 0.73% - name: Disk / (/) status: 1 type: device value: 26% - name: Disk /tmp (/tmp) status: 1 type: device value: 0% - name: Disk /var/tmp (/var/tmp) status: 1 type: device value: 0% items: properties: error: description: An error message about why system couldn't read a resource's status file. example: nscd is reporting errors. type: string name: description: "The cPanel services, devices, and server health check points on the\nserver.\n\ \n* A valid [cPanel service](https://go.cpanel.net/ThecPanelWHMServiceDaemons). \n* `CPU Count`\ \ — The number of CPUs on the server.\n* `Disk mount (mount)` — The server's disk mounts,\ \ where `mount`\nrepresents the disk mount location.\n* `Server Load` — The server's CPU load.\n\ * `Memory Used` — The server's current memory use.\n* `Swap` — The server's swap space." example: cpsrvd type: string status: description: 'Whether the resource is enabled or disabled. * `1` — Enabled. * `0` — Disabled. * `unknown` — The system couldn''t determine the resource''s status.' example: 1 oneOf: - description: Whether the resource is enabled or disabled. enum: - 1 - 0 type: integer - description: The system couldn't determine the resource's status. enum: - unknown type: string type: description: 'The type of resource. * `device` * `metric` * `service`' enum: - device - metric - service example: service type: string value: anyOf: - description: The resource's status. enum: - up - down - unknown type: string - description: The resource's current usage. type: string description: 'The resource''s status. * `up` * `down` * `unknown` * The current resource usage.' version: description: 'The resource''s software version. **Important:** The function **only** returns this value if a valid software version exists.' example: exim-4.92-1.cp1178.x86_64 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. * `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 service and device status tags: - ServerInformation - cPanel Server Information x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n ServerInformation \\\n get_information\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/ServerInformation/get_information - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file ServerInformation_get_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//\n\ # to .../frontend//api_examples/ServerInformation_get_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/ServerInformation/,\n q/get_information/\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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file ServerInformation_get_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//\n\ // to .../frontend//api_examples/ServerInformation_get_information.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'ServerInformation',\n 'get_information'\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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 82 /ServiceProxy/get_service_proxy_backends: get: x-readonly: true description: 'This function reports a cPanel account''s [service proxying](https://go.cpanel.net/ServiceProxying) configuration.' operationId: ServiceProxy-get_service_proxy_backends 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_service_proxy_backends type: string module: description: The name of the module called. example: ServiceProxy type: string result: properties: data: description: The account’s service proxying backends. items: properties: backend: description: The name of the server to which the system will proxy requests for this service group. example: example.com format: domain type: string service_group: description: 'The name of the proxying service group, if applicable. * null — The account’s general service proxying backend.' example: Mail 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: {} status: description: '* `1` - Success. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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 a cPanel account’s service proxying setup tags: - ServiceProxy x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n ServiceProxy \\\n get_service_proxy_backends\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/ServiceProxy/get_service_proxy_backends - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file ServiceProxy_get_service_proxy_backends.live.pl and put this code into\ \ that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend//\n\ # to .../frontend//api_examples/ServiceProxy_get_service_proxy_backends.live.pl\n#--------------------------------------------------------------------------------------\n\ \nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this\ \ once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response =\ \ $cpanel->uapi(\n q/ServiceProxy/,\n q/get_service_proxy_backends/\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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file ServiceProxy_get_service_proxy_backends.live.php and put this code into\ \ that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend//\n\ // to .../frontend//api_examples/ServiceProxy_get_service_proxy_backends.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'ServiceProxy',\n 'get_service_proxy_backends'\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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 96 /ServiceProxy/set_service_proxy_backends: get: x-readonly: false x-rollback: none description: 'This function lets you configure a cPanel account''s [service proxying](https://go.cpanel.net/ServiceProxying). **Note:** * If the [Web Server](https://go.cpanel.net/howtouseserverprofiles#roles) role is active on the server, this function rebuilds the user''s web virtual hosts (vhosts) and restarts the web server. * If the system cannot rebuild the user''s vhosts, the API call will still succeed. However, the function returns a failure warning in the metadata. * To remove an account''s service proxying, use the UAPI `unset_all_service_proxy_backends` function.' operationId: ServiceProxy-set_service_proxy_backends parameters: - description: 'The hostname or IP address to assign as the server that handles the account''s service proxy requests. This parameter defaults to the existing service proxy configuration, if one exists.' in: query name: general required: false schema: anyOf: - 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 name of a service group for which to assign a proxy backend. The\ncorresponding `service_group_backend`\ \ value will be the service group's\nnew proxy backend.\n\n* `Mail` — The [Mail service group](https://go.cpanel.net/ServiceProxying#Mail).\n\ \nThis parameter defaults to the existing setting, if one exists.\n\n**Note:**\n\n * When you call this parameter,\ \ you **must** include a corresponding\n `service_group_backend` value.\n * To add multiple `service_group` values,\ \ increment the parameter name. For example,\n `service_group`, `service_group-1`, and `service_group-2`." examples: multiple: summary: Add multiple service backend groups. value: Mail&service-group-1=Mail&service-group-2=Mail single: summary: Add a single service backend group. value: Mail in: query name: service_group required: false schema: enum: - Mail type: string - description: "The hostname or IP address of the server to assign as the corresponding\n`service_group` value's proxy\ \ backend server.\n\nThis parameter defaults to the existing setting, if one exists.\n\n**Note:**\n\n * When you\ \ call this parameter, you **must** include a corresponding `service_group`\n value.\n * To add multiple `service_group_backend`\ \ values, increment the parameter name.\n For example, `service_group_backend`, `service_group_backend-1`,\n and\ \ `service_group_backend-2`." examples: multiple: summary: Add multiple service group backend servers. value: mail.example.com&service_group_backend-1=mail.example1.com&service_group_backend-2=mail.example2.com single: summary: Add a single service group backend server. value: mail.example.com in: query name: service_group_backend required: false schema: anyOf: - 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 responses: '200': content: 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_service_proxy_backends type: string module: description: The name of the module called. example: ServiceProxy 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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 cPanel account service proxying tags: - ServiceProxy x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n ServiceProxy \\\n set_service_proxy_backends\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/ServiceProxy/set_service_proxy_backends - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file ServiceProxy_set_service_proxy_backends.live.pl and put this code into\ \ that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend//\n\ # to .../frontend//api_examples/ServiceProxy_set_service_proxy_backends.live.pl\n#--------------------------------------------------------------------------------------\n\ \nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this\ \ once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response =\ \ $cpanel->uapi(\n q/ServiceProxy/,\n q/set_service_proxy_backends/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status})\ \ {\n my $data = $response->{cpanelresult}{result}{data};\n # Do something with the $data\n # So you can\ \ see the data shape we print it here.\n print to_json($data);\n}\nelse {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n\ }\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file ServiceProxy_set_service_proxy_backends.live.php and put this code into\ \ that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend//\n\ // to .../frontend//api_examples/ServiceProxy_set_service_proxy_backends.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'ServiceProxy',\n 'set_service_proxy_backends'\n);\n\n// Handle\ \ the response\nif ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 96 /ServiceProxy/unset_all_service_proxy_backends: get: x-readonly: false x-rollback: none description: 'This function removes a cPanel account''s [service proxying](https://go.cpanel.net/ServiceProxying). **Note:** * If the [Web Server](https://go.cpanel.net/howtouseserverprofiles#roles) role is active on the server, this function rebuilds the cPanel user''s web virtual hosts (vhosts) and restarts the web server. * If the system **cannot** rebuild the cPanel user''s vhosts, the API call will still succeed. However, the function returns a failure warning in the metadata. * To set a service proxying for a cPanel account, use the UAPI `set_service_proxy_backends` function.' operationId: ServiceProxy-unset_all_service_proxy_backends 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: unset_all_service_proxy_backends type: string module: description: The name of the module called. example: ServiceProxy 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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 cPanel account service proxying tags: - ServiceProxy x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n ServiceProxy \\\n unset_all_service_proxy_backends\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/ServiceProxy/unset_all_service_proxy_backends - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file ServiceProxy_unset_all_service_proxy_backends.live.pl and put this code\ \ into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend//\n\ # to .../frontend//api_examples/ServiceProxy_unset_all_service_proxy_backends.live.pl\n#--------------------------------------------------------------------------------------\n\ \nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this\ \ once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response =\ \ $cpanel->uapi(\n q/ServiceProxy/,\n q/unset_all_service_proxy_backends/\n);\n\n# Handle the response\nif\ \ ($response->{cpanelresult}{result}{status}) {\n my $data = $response->{cpanelresult}{result}{data};\n #\ \ Do something with the $data\n # So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file ServiceProxy_unset_all_service_proxy_backends.live.php and put this code\ \ into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend//\n\ // to .../frontend//api_examples/ServiceProxy_unset_all_service_proxy_backends.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'ServiceProxy',\n 'unset_all_service_proxy_backends'\n);\n\n\ // Handle the response\nif ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 96 /Session/create_temp_user: get: x-readonly: false x-rollback: none description: 'This function creates a temporary user session. **Important:** * Because this function requires a valid cPanel session ID, you **must** call it via a cPanel or Webmail session URL. If you call this function via the command line or Template Toolkit, it will **not** create a temporary user session. You **must** use the WHM API 1 `create_user_session` function to create a temporary user session. * Third-party plugins that require access to temporary MySQL users **must** call this function via the URL. It will create the temporary users before they are available. You can find these users in the `$ENV{''REMOTE_DBOWNER''}` environment variable. * If you **cannot** update your system, update your scripts to call the `Cgi::phpmyadminlink` function. This will create a temporary user session for you.' operationId: Session-create_temp_user 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: create_temp_user type: string module: description: The name of the module called. example: Session type: string result: properties: data: properties: created: description: 'Whether the function successfully created the temporary user session. * `1` - Success. * `0` - Failure.' enum: - 0 - 1 example: 1 type: integer session_temp_user: description: The temporary user's session ID. example: cpses_reviY3ZSQK 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 user session with existing session tags: - Session - Webmail Sessions x-codeSamples: - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/Session/create_temp_user - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file Session_create_temp_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//\n# \ \ to .../frontend//api_examples/Session_create_temp_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/Session/,\n q/create_temp_user/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status})\ \ {\n my $data = $response->{cpanelresult}{result}{data};\n # Do something with the $data\n # So you can\ \ see the data shape we print it here.\n print to_json($data);\n}\nelse {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n\ }\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file Session_create_temp_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//\n\ // to .../frontend//api_examples/Session_create_temp_user.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'Session',\n 'create_temp_user'\n);\n\n// Handle the response\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 54.0.16 x-cpanel-cli-support: false /Session/create_webmail_session_for_mail_user: get: x-readonly: false x-rollback: none description: "Create a temporary session for a cPanel user to connect to Webmail.\n\n**Note:**\n\nThe cPanel user must\ \ own the Webmail account.\n\n### How to use this API\n\nAfter you successfully call this API, you will need to log\ \ in to [Webmail](https://go.cpanel.net/webmailinterface).\nTo do this, send an HTTP POST to `https://$URL_AUTHTY:2096$token/login`\ \ with a message body of `session=$session` where:\n\n* `$URL_AUTHTY` represents the value from the `hostname` return.\n\ \ * If the `hostname` return value is `null`, enter the hostname of the server that answered the API function.\n\ \ * `$token` represents the value from the token return.\n* `$session` represents the value of the session return.\n\ \nFor example, an HTTP POST may resemble the following:\n\n```https://hostname.example.com:2096/cpsess2462418786/login```\n\ \nWith a message body of:\n\n```session=username:D7NiAZv1nf4bXeg9:CREATE_WEBMAIL_SESSION_FOR_MAIL_USER,728fb86a7df1cf20690c65f349ac3137```" operationId: Session-create_webmail_session_for_mail_user parameters: - description: The domain for the Webmail account. in: query name: domain required: true schema: example: example.com type: string - description: The Webmail account's username. in: query name: login required: true schema: example: username type: string - description: 'The [locale](https://go.cpanel.net/localedocs) that the new session will use. **Note:** * You must **only** enter lowercase characters. * This parameter defaults to the cPanel user''s locale.' in: query name: locale required: false schema: example: en type: string - description: 'The session''s client IP address. **Note:** * If you run this function from the command line, this parameter is **required**. * This parameter defaults to the API caller''s IP address.' in: query name: remote_address required: false schema: example: 192.168.0.1 format: ipv4 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_webmail_session_for_mail_user type: string module: description: The name of the module called. example: Session type: string result: properties: data: properties: hostname: description: 'The Webmail server''s hostname. **Note:** The function returns a `null` value when the Webmail server is not remote.' example: hostname.example.com nullable: true type: string session: description: The session ID to submit via POST to begin using the new session. example: username:D7NiAZv1nf4bXeg9:CREATE_WEBMAIL_SESSION_FOR_MAIL_USER,728fb86a7df1cf20690c65f349ac3137 type: string token: description: A new security token. example: /cpsess2462418786 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 Webmail session tags: - Session - Webmail Sessions x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n Session \\\n create_webmail_session_for_mail_user \\\ \n login='username' \\\n domain='example.com'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/Session/create_webmail_session_for_mail_user?login=username&domain=example.com - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file Session_create_webmail_session_for_mail_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//\n\ # to .../frontend//api_examples/Session_create_webmail_session_for_mail_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/Session/,\n q/create_webmail_session_for_mail_user/,\n {\n 'login' => 'username',\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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file Session_create_webmail_session_for_mail_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//\n\ // to .../frontend//api_examples/Session_create_webmail_session_for_mail_user.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'Session',\n 'create_webmail_session_for_mail_user',\n array\ \ (\n 'login' => 'username',\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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 86 /Session/create_webmail_session_for_mail_user_check_password: get: x-readonly: false x-rollback: none description: "This function creates a temporary session with a password for the calling cPanel user to connect to Webmail.\n\ \n**Note:**\n\n* The cPanel user must own the Webmail account.\n* This function works like the UAPI Session::create_webmail_session_for_mail_user\ \ function with one exception. This function requires a correct password to create the Webmail session. If you use\ \ an incorrect password or attempt to connect to a suspended account, the login will fail.\n\n### How to use this\ \ API\n\nAfter you successfully call this API, you will need to log in to [Webmail](https://go.cpanel.net/webmailinterface).\n\ To do this, send an HTTP POST to `https://$URL_AUTHTY:2096$token/login` with a message body of `session=$session`\ \ where:\n\n* `$URL_AUTHTY` represents the value from the `hostname` return.\n * If the `hostname` return value is\ \ `null`, enter the hostname of the server that answered the API function.\n * `$token` represents the value from\ \ the token return.\n* `$session` represents the value of the session return.\n\nFor example, an HTTP POST may resemble\ \ the following:\n\n```https://hostname.example.com:2096/cpsess2462418786/login```\n\nWith a message body of:\n\n\ ```session=username:D7NiAZv1nf4bXeg9:CREATE_WEBMAIL_SESSION_FOR_MAIL_USER,728fb86a7df1cf20690c65f349ac3137```" operationId: Session-create_webmail_session_for_mail_user_check_password parameters: - description: The domain for the Webmail account. in: query name: domain required: true schema: example: example.com type: string - description: The Webmail account's username. in: query name: login required: true schema: example: username type: string - description: The password for the Webmail account. in: query name: password required: true schema: example: luggage12345 type: string - description: 'The [locale](https://go.cpanel.net/localedocs) that the new session will use. **Note:** * You must **only** enter lowercase characters. * This parameter defaults to the cPanel user''s locale.' in: query name: locale required: false schema: example: en type: string - description: 'The session''s account''s client IP address. **Note:** * If you run this function from the command line, this parameter is **required**. * This parameter defaults to the API caller''s IP address.' in: query name: remote_address required: false schema: example: 192.168.0.1 format: ipv4 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_webmail_session_for_mail_user_check_password type: string module: description: The name of the module called. example: Session type: string result: properties: data: properties: hostname: description: 'The Webmail server''s hostname. **Note:** The function returns a `null` value when the Webmail server is not remote.' example: hostname.example.com nullable: true type: string session: description: The session value to submit via POST to begin using the new session. example: username:D7NiAZv1nf4bXeg9:CREATE_WEBMAIL_SESSION_FOR_MAIL_USER,728fb86a7df1cf20690c65f349ac3137 type: string token: description: A new security token. example: /cpsess2462418786 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 Webmail session with credentials tags: - Session - Webmail Sessions x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n Session \\\n create_webmail_session_for_mail_user_check_password\ \ \\\n login='username' \\\n domain='example.com' \\\n password='luggage12345'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/Session/create_webmail_session_for_mail_user_check_password?login=username&domain=example.com&password=luggage12345 - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file Session_create_webmail_session_for_mail_user_check_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//\n# to .../frontend//api_examples/Session_create_webmail_session_for_mail_user_check_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/Session/,\n\ \ q/create_webmail_session_for_mail_user_check_password/,\n {\n 'login' => 'username',\n 'domain'\ \ => 'example.com',\n 'password' => 'luggage12345',\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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file Session_create_webmail_session_for_mail_user_check_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//\n// to .../frontend//api_examples/Session_create_webmail_session_for_mail_user_check_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\ \ 'Session',\n 'create_webmail_session_for_mail_user_check_password',\n array (\n 'login' => 'username',\n\ \ 'domain' => 'example.com',\n 'password' => 'luggage12345',\n )\n);\n\n// Handle the response\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 86 /Session/create_webmail_session_for_self: get: x-readonly: false x-rollback: none description: "Create a temporary session to connect to Webmail for the authenticated cPanel user.\n\n### How to use\ \ this API\n\nAfter you successfully call this API, you will need to log in to [Webmail](https://go.cpanel.net/webmailinterface).\n\ To do this, send an HTTP POST to `https://$URL_AUTHTY:2096$token/login` with a message body of `session=$session`\ \ where:\n\n* `$URL_AUTHTY` represents the value from the `hostname` return.\n * If the `hostname` return value is\ \ `null`, enter the hostname of the server that answered the API function.\n * `$token` represents the value from\ \ the token return.\n* `$session` represents the value of the session return.\n\nFor example, an HTTP POST may resemble\ \ the following:\n\n```https://hostname.example.com:2096/cpsess2462418786/login```\n\nWith a message body of:\n\n\ ```session=username:D7NiAZv1nf4bXeg9:CREATE_WEBMAIL_SESSION_FOR_MAIL_USER,728fb86a7df1cf20690c65f349ac3137```" operationId: Session-create_webmail_session_for_self parameters: - description: 'The [locale](https://go.cpanel.net/localedocs) that the new session will use. Use UAPI `Locale::list_locales` to see a list of valid locales. **Note:** * You must **only** enter lowercase characters. * This parameter defaults to the cPanel user''s locale.' in: query name: locale required: false schema: example: en type: string - description: 'The session''s client IP address. **Note:** * If you run this function from the command line, this parameter is **required**. * This parameter defaults to the API caller''s IP address.' in: query name: remote_address required: false schema: example: 192.168.0.1 format: ipv4 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_webmail_session_for_self type: string module: description: The name of the module called. example: Session type: string result: properties: data: properties: hostname: description: 'The Webmail server''s hostname. **Note:** The function returns a `null` value when the Webmail server is **not** remote.' example: hostname.example.com format: domain nullable: true type: string session: description: The session value to submit via POST to begin using the new session. example: username:D7NiAZv1nf4bXeg9:CREATE_WEBMAIL_SESSION_FOR_SELF,728fb86a7df1cf20690c65f349ac3137 type: string token: description: A new security token. example: /cpsess2462418786 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 Webmail session for current user tags: - Session - Webmail Sessions x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n Session \\\n create_webmail_session_for_self\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/Session/create_webmail_session_for_self - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file Session_create_webmail_session_for_self.live.pl and put this code into\ \ that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend//\n\ # to .../frontend//api_examples/Session_create_webmail_session_for_self.live.pl\n#--------------------------------------------------------------------------------------\n\ \nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this\ \ once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response =\ \ $cpanel->uapi(\n q/Session/,\n q/create_webmail_session_for_self/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status})\ \ {\n my $data = $response->{cpanelresult}{result}{data};\n # Do something with the $data\n # So you can\ \ see the data shape we print it here.\n print to_json($data);\n}\nelse {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n\ }\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file Session_create_webmail_session_for_self.live.php and put this code into\ \ that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend//\n\ // to .../frontend//api_examples/Session_create_webmail_session_for_self.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'Session',\n 'create_webmail_session_for_self'\n);\n\n// Handle\ \ the response\nif ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 86 /SiteQuality/create_project: post: description: This function creates a Site Quality Monitoring project. A project bundles together one or more URLs with a shared domain for monitoring. operationId: SiteQuality-create_project parameters: - description: The name of the project to create. in: query name: name required: true schema: example: MyProject type: string - description: The URL to monitor. in: query name: url required: true schema: example: https://example.com type: string - description: "Whether to enable standard email alerts.\n * `1` - Enable standard alerting.\n * `0` - Do not enable\ \ standard alerting.\n * `null` - Do not enable standard alerting." in: query name: standard_alerting required: false schema: example: 0 default: null nullable: true type: integer enum: - 0 - 1 - null - description: The monitoring template to use for the project. in: query name: system_type required: false schema: example: Website default: Website 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_project type: string module: description: The name of the module called. example: SiteQuality type: string result: properties: data: description: An object that contains project attributes. properties: id: description: The project ID number. example: 1754 type: integer identifier: description: The project identifier. example: pro-1754 type: string location: description: The region where monitoring checks originate. example: us type: string name: description: The project's name. example: MyProject type: string role: description: Information about the user that owns the project. type: object properties: id: description: The user's role ID number. example: 0 type: integer name: description: The user's role title. example: Owner type: string systems: description: Information about the system that the project monitors. type: array items: type: object properties: name: description: The name of the system. example: MyProject type: string description: description: A description of the system. nullable: true default: null example: null type: string domain: description: The system's base domain. example: https://example.com type: string id: description: The system's ID number. example: 2542 type: integer interval: description: The time interval for monitoring checks. example: hour type: string limits: description: Restrictions placed on the monitoring checks. type: object properties: maximumCrawlDepth: description: The maximum number of URLs to check for dead links on a page. example: 500 default: 500 type: integer system_type: description: The monitoring template used for the system. type: object properties: name: description: The name of the system type. example: Website default: Website type: string id: description: The system's type ID number. example: 1 default: 1 fixedComponents: description: "Whether the system components are immutable.\n * `true` - The components\ \ are immutable.\n * `false` - The components are not immutable.." example: true default: true type: boolean type: object errors: description: List of errors if the API failed. example: null items: type: string nullable: true type: array messages: description: List of messages generated by the API. example: null items: type: string nullable: true type: array metadata: properties: {} status: description: '* `1` — Success. * `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 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: Add domain to monitoring tags: - SiteQuality x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n SiteQuality \\\n create_project \\\n name=MyProject\ \ \\\n url='https://example.com'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/SiteQuality/create_project?name=MyProject&url=https://example.com - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file SiteQuality_create_project.live.pl and put this code into that file.\n\ # 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/\n\ # to .../frontend//api_examples/SiteQuality_create_project.live.pl\n#--------------------------------------------------------------------------------------\n\ \nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this\ \ once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response =\ \ $cpanel->uapi(\n q/SiteQuality/,\n q/create_project/,\n {\n 'name' => 'MyProject',\n 'url'\ \ => 'https://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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file SiteQuality_create_project.live.php and put this code into that file.\n\ // 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/\n\ // to .../frontend//api_examples/SiteQuality_create_project.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'SiteQuality',\n 'create_project',\n array (\n 'name'\ \ => 'MyProject',\n 'url' => 'https://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//--------------------------------------------------------------------------------------\n\ function 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: SiteQuality /SiteQuality/create_site_quality_user: post: description: This function creates a Site Quality Monitoring user account associated with a cPanel user account. operationId: SiteQuality-create_site_quality_user parameters: - description: The cPanel account's email address. in: query name: email required: true schema: example: username@example.com type: string - description: 'The account''s password. **Note:** If no password is given, one is auto-generated. The system does not save this value.' in: query name: password required: false schema: example: An3xample!? 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_site_quality_user type: string module: description: The name of the module called. example: SiteQuality type: string result: properties: data: description: An object that contains user attributes. properties: app_token: description: The long-lived token for this account. The koality servers require this token to authenticate. If this token is lost, the user must create a new account. example: eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9... type: string username: description: The account's username. This value reflects the `email` parameter. example: username@example.com type: string enabled: description: "Whether the account is enabled to process user data.\n * `false` - The account is\ \ disabled.\n * `true` - The account is enabled." example: true type: boolean 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 the API generated. example: null items: type: string nullable: true type: array metadata: properties: {} status: description: '* `1` — Success. * `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings that the API generated. Warnings describe non-critical failures or issues the system noted while running an API function. example: null items: type: string nullable: true type: array type: object description: HTTP Request was successful. summary: Register cPanel user for monitoring tags: - SiteQuality x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n SiteQuality \\\n create_site_quality_user \\\n email=username@example.com\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/SiteQuality/create_site_quality_user?email=username@example.com - label: HTTP Request (Wire Format) lang: HTTP source: 'POST /cpsess##########/execute/SiteQuality/create_site_quality_user HTTP/1.1 Host: example.com:2083 Cookie: ################################### Content-Type: application/json Content-Length: 0 ' - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file SiteQuality_create_site_quality_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/\n\ # to .../frontend//api_examples/SiteQuality_create_site_quality_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/SiteQuality/,\n q/create_site_quality_user/,\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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file SiteQuality_create_site_quality_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/\n\ // to .../frontend//api_examples/SiteQuality_create_site_quality_user.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'SiteQuality',\n 'create_site_quality_user',\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//--------------------------------------------------------------------------------------\n\ function 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: SiteQuality /SiteQuality/delete_site_quality_user: get: description: This function initiates the deletion of the Site Quality Monitoring user account associated with a cPanel user account. operationId: SiteQuality-delete_site_quality_user 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_site_quality_user type: string module: description: The name of the module called. example: SiteQuality type: string result: properties: data: description: An object that contains whether the user has been deleted. properties: deleted: description: 'Whether or not the account has been successfully deleted. * `1` - Success * `0` - Failed' 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. * `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 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: Delete Site Quality Monitoring account tags: - SiteQuality x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n SiteQuality \\\n delete_site_quality_user\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/SiteQuality/delete_site_quality_user - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file SiteQuality_delete_site_quality_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/\n\ # to .../frontend//api_examples/SiteQuality_delete_site_quality_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/SiteQuality/,\n q/delete_site_quality_user/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status})\ \ {\n my $data = $response->{cpanelresult}{result}{data};\n # Do something with the $data\n # So you can\ \ see the data shape we print it here.\n print to_json($data);\n}\nelse {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n\ }\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file SiteQuality_delete_site_quality_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/\n\ // to .../frontend//api_examples/SiteQuality_delete_site_quality_user.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'SiteQuality',\n 'delete_site_quality_user'\n);\n\n// Handle\ \ the response\nif ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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: SiteQuality /SiteQuality/get_all_scores: post: description: This function returns information about the cPanel user's Site Quality Monitoring projects' most recent monitoring check results. operationId: SiteQuality-get_all_scores parameters: - description: 'Whether to enable verbose output. ** Note: ** This includes information about the user''s Site Quality Monitoring project''s most recent results in each monitoring check subcategory.' in: query name: verbose required: true schema: example: 1 default: null nullable: true type: integer enum: - 0 - 1 - null responses: '200': content: 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_all_scores type: string module: description: The name of the module called. example: SiteQuality type: string result: properties: data: description: An object that contains score details. type: object properties: scores: description: An array of objects containing score data and the associated system information. type: array items: type: object properties: system: type: object properties: name: description: The name of the project. type: string example: MyProject id: description: The project's ID number. example: 2542 type: integer scores: type: object properties: basic-uptime: $ref: '#/components/schemas/Score' basic-performance: $ref: '#/components/schemas/Score' basic-seo: $ref: '#/components/schemas/Score' basic-content: $ref: '#/components/schemas/Score' basic-tech: $ref: '#/components/schemas/Score' basic-security: $ref: '#/components/schemas/Score' errors: description: List of errors if the API failed. example: null items: type: string nullable: true type: array messages: description: List of messages generated by the API. example: null items: type: string nullable: true type: array metadata: properties: {} status: description: '* `1` — Success. * `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 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 all projects' monitoring results tags: - SiteQuality x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n SiteQuality \\\n get_all_scores \\\n verbose=1\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/SiteQuality/get_all_scores?verbose=1 - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file SiteQuality_get_all_scores.live.pl and put this code into that file.\n\ # 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/\n\ # to .../frontend//api_examples/SiteQuality_get_all_scores.live.pl\n#--------------------------------------------------------------------------------------\n\ \nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this\ \ once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response =\ \ $cpanel->uapi(\n q/SiteQuality/,\n q/get_all_scores/,\n {\n 'verbose' => 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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file SiteQuality_get_all_scores.live.php and put this code into that file.\n\ // 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/\n\ // to .../frontend//api_examples/SiteQuality_get_all_scores.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'SiteQuality',\n 'get_all_scores',\n array (\n 'verbose'\ \ => 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//--------------------------------------------------------------------------------------\n\ function 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: SiteQuality /SiteQuality/get_app_token: get: description: This function returns the long-lived application token used to authenticate with koality's authentication servers. operationId: SiteQuality-get_app_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_app_token type: string module: description: The name of the module called. example: SiteQuality type: string result: properties: data: description: An object that contains user authentication attributes. properties: app_token: description: The long-lived token for this account. The koality servers require this token to authenticate. If this token is lost, the user must create a new account. example: eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9... 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 that the API generated. example: null items: type: string nullable: true type: array metadata: properties: {} status: description: '* `1` — Success. * `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings that the API generated. Warnings describe non-critical failures or issues the system noted while running an API function. example: null items: type: string nullable: true type: array type: object description: HTTP Request was successful. summary: Return koality authentication token tags: - SiteQuality x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n SiteQuality \\\n get_app_token\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/SiteQuality/get_app_token - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file SiteQuality_get_app_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/\n\ # to .../frontend//api_examples/SiteQuality_get_app_token.live.pl\n#--------------------------------------------------------------------------------------\n\ #\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do\ \ this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response\ \ = $cpanel->uapi(\n q/SiteQuality/,\n q/get_app_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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file SiteQuality_get_app_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/\n\ // to .../frontend//api_examples/SiteQuality_get_app_token.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'SiteQuality',\n 'get_app_token'\n);\n\n// Handle the response\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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: SiteQuality /SiteQuality/get_monitored_domains: get: description: This function returns a list of the user's Site Quality Monitoring-enabled domains. It also returns the domains' associated project and system IDs. operationId: SiteQuality-get_monitored_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: get_monitored_domains type: string module: description: The name of the module called. example: SiteQuality 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 that the API generated. example: null items: type: string nullable: true type: array metadata: properties: {} monitored_domains: description: An array of objects containing the user's monitored domains. items: description: An object that contains information about the user's monitored domain. properties: domain: description: The domain name of the monitored domain. example: https://example.test type: string project_id: description: The project identification number for the monitored domain. example: 1234 type: integer system_id: description: The system identification number for the monitored domain. example: 1234 type: integer type: object type: array status: description: '* `1` — Success. * `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings that the API generated. Warnings describe non-critical failures or issues the system noted while running an API function. example: null items: type: string nullable: true type: array type: object description: HTTP Request was successful. summary: Return the user's monitored domains. tags: - SiteQuality x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n SiteQuality \\\n get_monitored_domains\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/SiteQuality/get_monitored_domains - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file SiteQuality_get_monitored_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/\n\ # to .../frontend//api_examples/SiteQuality_get_monitored_domains.live.pl\n#--------------------------------------------------------------------------------------\n\ #\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do\ \ this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response\ \ = $cpanel->uapi(\n q/SiteQuality/,\n q/get_monitored_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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file SiteQuality_get_monitored_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/\n\ // to .../frontend//api_examples/SiteQuality_get_monitored_domains.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'SiteQuality',\n 'get_monitored_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//--------------------------------------------------------------------------------------\n\ function 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: SiteQuality /SiteQuality/get_monitored_system_scores: get: description: This function returns a monitoring score and system ID for each domain the user monitors with Site Quality Monitoring. operationId: SiteQuality-get_monitored_system_scores 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_monitored_system_scores type: string module: description: The name of the module called. example: SiteQuality 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 that the API generated. example: null items: type: string nullable: true type: array metadata: properties: {} status: description: '* `1` — Success. * `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer system_scores: description: An array of objects containing the user's monitored domain score and system ID. items: description: An object that contains information about the user's monitored domain. properties: status: description: 'The check''s summarized status. * `good` — The monitored domain passes all monitoring checks. * `bad` — The monitored domain reports failures in Security, Content, and/or Availability monitoring checks. * `warn` — The monitored domain reports failures in Performance, Technical, and/or SEO monitoring checks.' enum: - good - bad - warn example: good type: string system_id: description: The system identification number for the monitored domain. example: 1234 type: integer type: object type: array warnings: description: List of warnings that the API generated. Warnings describe non-critical failures or issues the system noted while running an API function. example: null items: type: string nullable: true type: array type: object description: HTTP Request was successful. summary: Return status for a user's monitored domains. tags: - SiteQuality x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n SiteQuality \\\n get_monitored_system_scores\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/SiteQuality/get_monitored_system_scores - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file SiteQuality_get_monitored_system_scores.live.pl and put this code into\ \ that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/\n\ # to .../frontend//api_examples/SiteQuality_get_monitored_system_scores.live.pl\n#--------------------------------------------------------------------------------------\n\ #\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do\ \ this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response\ \ = $cpanel->uapi(\n q/SiteQuality/,\n q/get_monitored_system_scores/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status})\ \ {\n my $data = $response->{cpanelresult}{result}{data};\n # Do something with the $data\n # So you can\ \ see the data shape we print it here.\n print to_json($data);\n}\nelse {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n\ }\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file SiteQuality_get_monitored_system_scores.live.php and put this code into\ \ that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/\n\ // to .../frontend//api_examples/SiteQuality_get_monitored_system_scores.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'SiteQuality',\n 'get_monitored_system_scores'\n);\n\n// Handle\ \ the response\nif ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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: SiteQuality /SiteQuality/has_site_quality_user: get: description: This function returns whether the cPanel user has an associated Site Quality Monitoring account. operationId: SiteQuality-has_site_quality_user 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_site_quality_user type: string module: description: The name of the module called. example: SiteQuality type: string result: properties: data: description: An object that contains Site Quality Monitoring user attributes. properties: has_site_quality_user: description: 'Whether the cPanel user has an associated Site Quality Monitoring account. * `1` - The user does have an associated account. * `0` - The user does not have an associated account.' 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 the API generated. example: null items: type: string nullable: true type: array metadata: properties: {} status: description: '* `1` — Success. * `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings that the API generated. Warnings describe non-critical failures or issues the system noted while running an API function. example: null items: type: string nullable: true type: array type: object description: HTTP Request was successful. summary: Validate monitoring account existence tags: - SiteQuality x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n SiteQuality \\\n has_site_quality_user\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/SiteQuality/has_site_quality_user - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file SiteQuality_has_site_quality_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/\n\ # to .../frontend//api_examples/SiteQuality_has_site_quality_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/SiteQuality/,\n q/has_site_quality_user/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status})\ \ {\n my $data = $response->{cpanelresult}{result}{data};\n # Do something with the $data\n # So you can\ \ see the data shape we print it here.\n print to_json($data);\n}\nelse {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n\ }\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file SiteQuality_has_site_quality_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/\n\ // to .../frontend//api_examples/SiteQuality_has_site_quality_user.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'SiteQuality',\n 'has_site_quality_user'\n);\n\n// Handle the\ \ response\nif ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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: SiteQuality /SiteQuality/is_site_quality_user_enabled: get: description: This function verifies that koality has enabled the cPanel user's Site Quality Monitoring account. operationId: SiteQuality-is_site_quality_user_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_site_quality_user_enabled type: string module: description: The name of the module called. example: SiteQuality type: string result: properties: data: description: An object that contains user attributes. properties: enabled: description: 'Whether or not the account has been enabled. * `1` - Enabled * `0` - Disabled' 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. * `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 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: Validate monitoring account enablement tags: - SiteQuality x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n SiteQuality \\\n is_site_quality_user_enabled\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/SiteQuality/is_site_quality_user_enabled - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file SiteQuality_is_site_quality_user_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/\n\ # to .../frontend//api_examples/SiteQuality_is_site_quality_user_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/SiteQuality/,\n q/is_site_quality_user_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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file SiteQuality_is_site_quality_user_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/\n\ // to .../frontend//api_examples/SiteQuality_is_site_quality_user_enabled.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'SiteQuality',\n 'is_site_quality_user_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//--------------------------------------------------------------------------------------\n\ function 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: SiteQuality /SiteQuality/reset_config: get: description: 'This function will remove Site Quality Monitoring account data from the cPanel user''s configuration. **Note:** * This function will prevent cPanel & WHM from automatically logging the user into their Site Quality Monitoring account. * This function does not delete the Site Quality Monitoring account from the koality servers.' operationId: SiteQuality-reset_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: reset_config type: string module: description: The name of the module called. example: SiteQuality type: string result: properties: data: description: An object that contains the status of the account data removal from the cPanel user's configuration. properties: reset: description: 'Whether the account data was removed. * `1` - The account data was removed. * `0` - The account data was 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 that the API generated. example: null items: type: string nullable: true type: array metadata: properties: {} status: description: '* `1` — Success. * `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings that the API generated. Warnings describe non-critical failures or issues the system noted while running an API function. example: null items: type: string nullable: true type: array type: object description: HTTP Request was successful. summary: Remove monitoring user from cPanel configuration tags: - SiteQuality x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n SiteQuality \\\n reset_config\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/SiteQuality/reset_config - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file SiteQuality_reset_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/\n# \ \ to .../frontend//api_examples/SiteQuality_reset_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/SiteQuality/,\n q/reset_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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file SiteQuality_reset_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/\n\ // to .../frontend//api_examples/SiteQuality_reset_config.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'SiteQuality',\n 'reset_config'\n);\n\n// Handle the response\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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: SiteQuality /SiteQuality/send_activation_email: get: description: 'This function sends a Site Quality Monitoring activation email to the currently-authenticated Site Quality Monitoring user. **Note:** This email contains the Site Quality Monitoring activation code.' operationId: SiteQuality-send_activation_email 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: send_activation_email type: string module: description: The name of the module called. example: SiteQuality type: string result: properties: data: description: An object that contains the activation email request status. properties: send_activation_email: description: 'Whether the request to send an activation email was successful. * `1` - The request was successful. An activation email will send. * `0` - The request was not successful. An activation email will not send.' 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 that the API generated. example: null items: type: string nullable: true type: array metadata: properties: {} status: description: '* `1` - Success * `0` - Failed: Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings that the API generated. Warnings describe non-critical failures or issues the system noted while running an API function. example: null items: type: string nullable: true type: array type: object description: HTTP Request was successful. summary: Request activation email tags: - SiteQuality x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n SiteQuality \\\n reset_config\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/SiteQuality/send_activation_email - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file SiteQuality_send_activation_email.live.pl and put this code into that file.\n\ # 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/\n\ # to .../frontend//api_examples/SiteQuality_send_activation_email.live.pl\n#--------------------------------------------------------------------------------------\n\ \nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this\ \ once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response =\ \ $cpanel->uapi(\n q/SiteQuality/,\n q/send_activation_email/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status})\ \ {\n my $data = $response->{cpanelresult}{result}{data};\n # Do something with the $data\n # So you can\ \ see the data shape we print it here.\n print to_json($data);\n}\nelse {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n\ }\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file SiteQuality_send_activation_email.live.php and put this code into that\ \ file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/\n\ // to .../frontend//api_examples/SiteQuality_send_activation_email.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'SiteQuality',\n 'send_activation_email'\n);\n\n// Handle the\ \ response\nif ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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: SiteQuality /SiteQuality/update_domain: post: description: This function updates the domain name for a Site Quality Monitoring project. It searches through all projects owned by the user to find systems that match the specified old domain and updates them to use the new domain. This is typically used when a website's domain name changes and the monitoring configuration needs to be updated accordingly. operationId: SiteQuality-update_domain parameters: - description: The new domain name to replace the old domain in the Site Quality Monitoring project. in: query name: new_domain required: true schema: example: newdomain.com type: string - description: The current domain name that needs to be updated in the Site Quality Monitoring project. in: query name: old_domain required: true schema: example: olddomain.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: update_domain type: string module: description: The name of the module called. example: SiteQuality type: string result: properties: data: description: An object that contains the updated system information from the Site Quality Monitoring API. properties: system: description: Information about the updated monitoring system. properties: id: description: The system's ID number. example: 623358 type: integer name: description: The updated system name (typically the new domain). example: newdomain.com type: string system_size: description: Information about the system's subscription plan. properties: id: description: The system size ID number. example: 3 type: integer name: description: The name of the system size/subscription plan. example: Unlimited lite type: string type: object url: description: The updated system URL with the new domain. example: https://newdomain.com 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. * `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 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 domain name in Site Quality Monitoring project tags: - SiteQuality x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n SiteQuality \\\n update_domain \\\n old_domain=olddomain.com\ \ \\\n new_domain=newdomain.com\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/SiteQuality/update_domain?old_domain=olddomain.com&new_domain=newdomain.com - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file SiteQuality_update_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/\n\ # to .../frontend//api_examples/SiteQuality_update_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/SiteQuality/,\n q/update_domain/,\n {\n 'old_domain' => 'olddomain.com',\n\ \ 'new_domain' => 'newdomain.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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file SiteQuality_update_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/\n\ // to .../frontend//api_examples/SiteQuality_update_domain.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'SiteQuality',\n 'update_domain',\n array (\n 'old_domain'\ \ => 'olddomain.com',\n 'new_domain' => 'newdomain.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//--------------------------------------------------------------------------------------\n\ function 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: SiteQuality /SiteQuality/verify_code: get: description: This function validates the activation code in a cPanel user's Site Quality Monitoring registration email. operationId: SiteQuality-verify_code parameters: - description: 'The user''s Site Quality Monitoring activation code. **Note:** A user will receive an email with their activation code when they create a Site Quality Monitoring user account.' in: query name: code required: true schema: example: '123456' 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_code type: string module: description: The name of the module called. example: SiteQuality type: string result: properties: data: description: An object that contains information about the user's activation code validation. properties: status: description: 'Whether the user''s activation code is valid. * `1` - Valid. * `0` - Invalid.' 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. * `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 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: Validate activation code tags: - SiteQuality x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n SiteQuality \\\n verify_code\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/SiteQuality/verify_code - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file SiteQuality_verify_code.live.pl and put this code into that file.\n# 5)\ \ In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/\n# \ \ to .../frontend//api_examples/SiteQuality_verify_code.live.pl\n#--------------------------------------------------------------------------------------\n\ \nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this\ \ once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response =\ \ $cpanel->uapi(\n q/SiteQuality/,\n q/verify_code/,\n {\n 'code' => '123456',\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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file SiteQuality_verify_code.live.php and put this code into that file.\n\ // 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/\n\ // to .../frontend//api_examples/SiteQuality_verify_code.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'SiteQuality',\n 'verify_code',\n {\n 'code' => '123456',\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//--------------------------------------------------------------------------------------\n\ function 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: SiteQuality /Sitejet/add_api_token: get: description: 'This function adds an existing Sitejet API token to a cPanel user. **Note:** You can create a Sitejet API token with the `Sitejet:create_account` function.' operationId: add_sitejet_api_token parameters: - description: The Sitejet API token to add. in: query name: api_token required: true schema: example: d35d8ea651007ccd25f96486cdcdXXXX format: hexadecimal 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_api_token type: string module: description: The name of the module called. example: Sitejet 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. - `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: Add an existing Sitejet API token. tags: - Sitejet x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n Sitejet \\\n add_api_token \\\n api_token='d35d8ea651007ccd25f96486cdcdXXXX'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/Sitejet/add_api_token?api_token=d35d8ea651007ccd25f96486cdcdXXXX - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/\n\ # 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Sitejet_add_api_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//\n\ # to .../frontend//api_examples/Sitejet_add_api_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/Sitejet/,\n q/add_api_token/,\n {\n 'api_token' => 'd35d8ea651007ccd25f96486cdcdXXXX',\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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/\n\ // 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Sitejet_add_api_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//\n\ // to .../frontend//api_examples/Sitejet_add_api_token.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'Sitejet',\n 'add_api_token',\n array (\n 'api_token'\ \ => 'd35d8ea651007ccd25f96486cdcdXXXX',\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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}\n" x-cpanel-api-version: UAPI x-cpanel-available-version: 110 /Sitejet/can_create_domains: get: description: 'This function returns whether a cPanel account can create new subdomains or addon domains. **Note:** Creating a new addon domain is dependent on the creation of subdomains. If the cPanel account has reached its limit for subdomains, you cannot create a new addon domain, even if the limit for addon domains has not been reached.' operationId: can_create_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: can_create_domains type: string module: description: The name of the module called. example: Sitejet type: string result: properties: data: description: "Whether the cPanel user can create a new subdomin or addon domain.\n * `1` - The cPanel\ \ user can create a new subdomain or addon domain.\n * `0` - The cPanel user can not create a new\ \ subdomain or addon domain." enum: - 1 - 0 errors: description: List of errors if the API failed. example: null items: type: string 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. - `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 Availability tags: - Sitejet x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n Sitejet \\\n can_create_domains\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/Sitejet/can_create_domains - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/\n\ # 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Sitejet_can_create_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//\n\ # to .../frontend//api_examples/Sitejet_can_create_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/Sitejet/,\n q/can_create_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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/\n\ // 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Sitejet_can_create_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//\n// to .../frontend//api_examples/Sitejet_can_create_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\ \ 'Sitejet',\n 'can_create_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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}\n" x-cpanel-api-version: UAPI x-readonly: true x-cpanel-available-version: 110 /Sitejet/create_account: get: description: This function creates a Sitejet API token for a cPanel account. operationId: create_sitejet_account 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: create_account type: string module: description: The name of the module called. example: Sitejet type: string result: properties: data: properties: key: description: The Sitejet API token for the cPanel account. example: d35d8ea651007ccd25f96486cdcdXXXX format: hexadecimal 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. - `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: Generate a Sitejet API key. tags: - Sitejet x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n Sitejet \\\n create_account\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/Sitejet/create_account - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/\n\ # 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Sitejet_create_account.live.pl and put this code\ \ into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend//\n\ # to .../frontend//api_examples/Sitejet_create_account.live.pl\n#--------------------------------------------------------------------------------------\n\ \nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this\ \ once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response =\ \ $cpanel->uapi(\n q/Sitejet/,\n q/create_account/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status})\ \ {\n my $data = $response->{cpanelresult}{result}{data};\n # Do something with the $data\n # So you can\ \ see the data shape we print it here.\n print to_json($data);\n}\nelse {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n\ }\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/\n\ // 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Sitejet_create_account.live.php and put this\ \ code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend//\n\ // to .../frontend//api_examples/Sitejet_create_account.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'Sitejet',\n 'create_account'\n);\n\n// Handle the response\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}\n" x-cpanel-api-version: UAPI x-cpanel-available-version: 110 /Sitejet/create_restore_point: get: description: This function creates a restore point for a domain's document root and removes the domain's files. operationId: create_restore_point parameters: - description: A cPanel account's domain. 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: create_restore_point type: string module: description: The name of the module called. example: Sitejet 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. - `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: Create a restore point. tags: - Sitejet x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n Sitejet \\\n create_restore_point \\\n domain='example.com'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/Sitejet/create_restore_point?domain=example.com - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/\n\ # 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Sitejet_create_restore_point.live.pl and put this\ \ code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend//\n\ # to .../frontend//api_examples/Sitejet_create_restore_point.live.pl\n#--------------------------------------------------------------------------------------\n\ \nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this\ \ once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response =\ \ $cpanel->uapi(\n q/Sitejet/,\n q/create_restore_point/,\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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/\n\ // 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Sitejet_create_restore_point.live.php and put\ \ this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from:\ \ .../frontend//\n// to .../frontend//api_examples/Sitejet_create_restore_point.live.php\n\ //--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL\ \ object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\ \n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n\ \ 'Sitejet',\n 'create_restore_point',\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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}\n" x-cpanel-api-version: UAPI x-cpanel-available-version: 120 /Sitejet/create_website: get: description: 'This function creates a Sitejet ID for the specified domain. **Note:** A unique Sitejet ID is assigned to each domain on the cPanel account.' operationId: create_sitejet_website parameters: - description: The name of the company the website represents. in: query name: company required: true schema: example: cPanel type: string - description: A cPanel account's domain. in: query name: domain required: true schema: example: example.com type: string - description: Assign website to other user. in: query name: assignTo required: false schema: example: SallySmith@example.com format: email type: string - description: The city where the company or website owner is located. in: query name: city required: false schema: example: Capitol City type: string - description: The country where the company or website owner is located. in: query name: country required: false schema: example: US format: ISO-3166 type: string - description: The email address of the website owner. in: query name: email required: false schema: example: JohnSmith@example.com format: email type: string - description: The first name of the website owner. in: query name: firstname required: false schema: example: John type: string - description: The language to use for the Sitejet Website Builder. in: query name: language required: false schema: example: en format: ISO-639 type: string - description: The last name of the website owner. in: query name: lastname required: false schema: example: Smith type: string - description: Additional metadata for the website. in: query name: metadata required: false schema: example: '{"Attribute1":9,"Attribute2":3,"Attribute3":5}' format: encoded JSON type: string - description: Additional notes about the website. in: query name: note required: false schema: example: This is my website for my business. type: string - description: The phone number of the company or website owner. in: query name: phone required: false schema: example: 000-123-4567 type: string - description: The street address of the company or website owner. in: query name: street required: false schema: example: 1234 Main St type: string - description: The website title. in: query name: title required: false schema: example: Example Website type: string - description: The zip code where the company or website owner is located. in: query name: zip required: false schema: example: '99999' 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_website type: string module: description: The name of the module called. example: Sitejet type: string result: properties: data: properties: websiteID: description: The website ID of the created website. example: 123456 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. - `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: Create Sitejet domain ID tags: - Sitejet x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n Sitejet \\\n create_website \\\n domain='example.com'\ \ \\\n company='cPanel'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/Sitejet/create_website?domain=example.com&company=cPanel - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/\n\ # 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Sitejet_create_website.live.pl and put this code\ \ into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend//\n\ # to .../frontend//api_examples/Sitejet_create_website.live.pl\n#--------------------------------------------------------------------------------------\n\ \nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this\ \ once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response =\ \ $cpanel->uapi(\n q/Sitejet/,\n q/create_website/,\n {\n 'domain' => 'example.com',\n 'company'\ \ => 'cPanel',\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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/\n\ // 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Sitejet_create_website.live.php and put this\ \ code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend//\n\ // to .../frontend//api_examples/Sitejet_create_website.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'Sitejet',\n 'create_website',\n array (\n 'domain'\ \ => 'example.com',\n 'company' => 'cPanel',\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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}\n" x-cpanel-api-version: UAPI x-cpanel-available-version: 110 /Sitejet/get_all_user_sitejet_info: get: description: This function returns the Sitejet domains' information for the cPanel account. operationId: get_all_user_sitejet_info parameters: - description: The single domain to return Sitejet information. 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_all_user_sitejet_info type: string module: description: The name of the module called. example: Sitejet type: string result: properties: data: items: properties: domain: description: The name of the cPanel user's domain. example: example.com type: string metadata: properties: company: description: The website's comapany. example: cPanel type: string cpanelDomainGUID: description: The cPanel user's domain. example: example.com type: string fullcms: description: 'Whether the full Sitejet Content Management System is enabled. * `1` - Full CMS is enabled. * `0` - Full CMS is disabled.' enum: - 1 - 0 language: description: The language selection for the Sitejet Content Management System. example: en format: ISO-639 type: string latest_publish_date: description: The last successful publication of the Sitejet domain in Unix time format. format: unix-timestamp type: integer publish_status: description: 'Whether the Sitejet domain is published. * `1` - Website is published. * `0` - Website is not published.' enum: - 1 - 0 type: integer websiteId: description: The website ID of the created website. example: 444444 type: integer quota: properties: available_space: description: The amount of space available in megabytes (MB). example: 1024 type: integer can_backup: description: 'Whether the document root has enough space to make a backup. * `1` - There is enough space. * `0` - There is not enough space.' enum: - 1 - 0 is_empty_docroot: description: 'Whether the document root is empty. * `1` - Document root is empty. * `0` - Document root is not empty.' enum: - 1 - 0 required_space: description: The amount of space required in megabytes (MB) for a document root backup. example: 64 type: integer redirection_enabled: description: 'Whether the domain redirects to another URL. * 1 - Redirects. * 0 - Doesn''t redirect.' enum: - 1 - 0 type: integer shared_doc_root: description: 'whether the sitejet domain is sharing the document_root. * 1 - document_root is shared. * 0 - document_root is not shared.' enum: - 1 - 0 type: integer is_restore_point_available: description: 'Whether the sitejet domain has a restore point. * `1` – Restore point is available. * `0` – Restore point is not available.' enum: - 1 - 0 type: integer is_temporary_domain: description: 'Whether the domain is a temporary domain (for example, cpanel.site). * `1` – Domain is a temporary domain. * `0` – Domain is not a temporary domain.' enum: - 1 - 0 type: integer status: properties: has_sitejet_published: description: 'Whether the Sitejet website is published. * `1` - Sitejet website is published. * `0` - Sitejet website is not published.' enum: - 1 - 0 type: integer has_sitejet_website: description: 'Whether the domain''s document root diretory contains a Sitejet directory. * `1` - User has created a Sitejet website. * `0` - User has not created a Sitejet website.' enum: - 1 - 0 type: integer is_sitejet: description: 'Whether the domain''s document root diretory''s `index.html` file contains Sitejet deployed content. * `1` - User has a Sitejet website. * `0` - User does not have a Sitejet website.' enum: - 1 - 0 type: integer ssl_status: description: 'Whether the domain has a valid SSL certificate. * `1` - Domain has a valid SSL certificate. * `0` - Domain does not have a valid SSL certificate or certificate is invalid.' enum: - 1 - 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 is_beta: description: Whether the server has access to beta features of the Sitejet Builder. enum: - 1 - 0 example: 1 type: integer status: description: '- `1` - Success. - `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 Sitejet domains tags: - Sitejet x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n Sitejet \\\n get_all_user_sitejet_info\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/Sitejet/get_all_user_sitejet_info - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/\n\ # 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Sitejet_get_all_user_sitejet_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//\n# to .../frontend//api_examples/Sitejet_get_all_user_sitejet_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/Sitejet/,\n\ \ q/get_all_user_sitejet_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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/\n\ // 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Sitejet_get_all_user_sitejet_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//\n// to .../frontend//api_examples/Sitejet_get_all_user_sitejet_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\ \ 'Sitejet',\n 'get_all_user_sitejet_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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}\n" x-cpanel-api-version: UAPI x-cpanel-available-version: 110 /Sitejet/get_api_token: get: description: This function returns the cPanel account's Sitejet API token. operationId: get_sitejet_api_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_api_token type: string module: description: The name of the module called. example: Sitejet type: string result: properties: data: description: The cPanel account's Sitejet API token. example: d35d8ea651007ccd25f96486cdcdXXXX format: hexadecimal 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. - `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 Sitejet API token tags: - Sitejet x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n Sitejet \\\n get_api_token\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/Sitejet/get_api_token - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/\n\ # 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Sitejet_get_api_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//\n\ # to .../frontend//api_examples/Sitejet_get_api_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/Sitejet/,\n q/get_api_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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/\n\ // 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Sitejet_get_api_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//\n\ // to .../frontend//api_examples/Sitejet_get_api_token.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'Sitejet',\n 'get_api_token'\n);\n\n// Handle the response\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}\n" x-cpanel-api-version: UAPI x-cpanel-available-version: 110 /Sitejet/get_preview_url: get: description: This function returns a Sitejet website's preview URL. operationId: get_sitejet_preview_url parameters: - description: The Sitejet website ID for the domain. in: query name: websiteId required: true schema: example: 123456 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_preview_url type: string module: description: The name of the module called. example: Sitejet type: string result: properties: data: description: The Sitejet website's preview URL. example: https://api.sitehub.io/website/example/previewurl 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. - `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 Sitejet preview URL tags: - Sitejet x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n Sitejet \\\n get_preview_url \\\n websiteId='123456'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/Sitejet/get_preview_url?websiteId=123456 - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/\n\ # 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Sitejet_get_preview_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//\n\ # to .../frontend//api_examples/Sitejet_get_preview_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/Sitejet/,\n q/get_preview_url/,\n {\n 'websiteId' => '123456',\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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/\n\ // 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Sitejet_get_preview_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//\n\ // to .../frontend//api_examples/Sitejet_get_preview_url.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'Sitejet',\n 'get_preview_url',\n array (\n 'websiteId'\ \ => '123456',\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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}\n" x-cpanel-api-version: UAPI x-cpanel-available-version: 110 /Sitejet/get_sso_link: get: description: This function returns a Sitejet website's SSO URL. operationId: get_sitejet_sso_link parameters: - description: The cPanel account's Sitejet domain. in: query name: domain required: true schema: example: example.com type: string - description: The cPanel interface referral URL. in: query name: referrer required: true schema: example: https://example.com:2083/cpsess##########/frontend/jupiter/sitejet/index.html%23 type: string - description: Specifies which Sitejet SaaS user interface mode the user will be redirected to. in: query name: ui_mode required: false schema: enum: - prompt - ai - template example: prompt 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_sso_link type: string module: description: The name of the module called. example: Sitejet type: string result: properties: data: description: The SSO link to the Sitejet CMS. example: https://my.sitehub.io/website/edit?ssotoken=exampletokenstring 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. - `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 Sitejet SSO URL tags: - Sitejet x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n Sitejet \\\n get_sso_link \\\n domain='example.com'\ \ \\\n referrer='https://example.com:2083/cpsess##########/frontend/jupiter/sitejet/index.html%23'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/Sitejet/get_sso_link?domain=example.com&referrer=https%3a%2f%2fexample.com%3a2083%2fcpsess%23%23%23%23%23%23%23%23%23%23%2ffrontend%2fjupiter%2fsitejet%2findex.html%2523 - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/\n\ # 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Sitejet_get_sso_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//\n\ # to .../frontend//api_examples/Sitejet_get_sso_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/Sitejet/,\n q/get_sso_link/,\n {\n 'domain' => 'example.com',\n 'referrer'\ \ => 'https://example.com:2083/cpsess##########/frontend/jupiter/sitejet/index.html%23',\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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/\n\ // 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Sitejet_get_sso_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//\n\ // to .../frontend//api_examples/Sitejet_get_sso_link.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'Sitejet',\n 'get_sso_link',\n array (\n 'domain' =>\ \ 'example.com',\n 'referrer' => 'https://example.com:2083/cpsess##########/frontend/jupiter/sitejet/index.html%23',\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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}\n" x-cpanel-api-version: UAPI x-cpanel-available-version: 110 /Sitejet/get_templates: get: deprecated: true description: This function fetches the list of available Sitejet templates. operationId: get_sitejet_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: get_templates type: string module: description: The name of the module called. example: Sitejet type: string result: properties: data: items: properties: createdAt: description: The templates creation date. example: '2023-05-04T07:21:20.000Z' format: date-time type: string description: description: The template's description. example: Example template description type: string id: description: The template's ID. example: '123456' type: integer image: description: The relative path to the template image on the SiteJet CMS website. example: /images/1024/6824140/template_image.png type: string name: description: The template's name. example: example template type: string previewUrl: description: The website's preview URL. example: https://www.example-template.com type: string tags: description: The template's catagory search tags. items: example: blog 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. - `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 Sitejet templates tags: - Sitejet x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n Sitejet \\\n get_templates\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/Sitejet/get_templates - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/\n\ # 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Sitejet_get_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//\n\ # to .../frontend//api_examples/Sitejet_get_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/Sitejet/,\n q/get_templates/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status})\ \ {\n my $data = $response->{cpanelresult}{result}{data};\n # Do something with the $data\n # So you can\ \ see the data shape we print it here.\n print to_json($data);\n}\nelse {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n\ }\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/\n\ // 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Sitejet_get_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//\n\ // to .../frontend//api_examples/Sitejet_get_templates.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'Sitejet',\n 'get_templates'\n);\n\n// Handle the response\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}\n" x-cpanel-api-version: UAPI x-cpanel-available-version: 110 /Sitejet/restore_document_root: get: description: This function reverts a document root to the restore point. operationId: restore_document_root parameters: - description: A cPanel account's domain. 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: restore_document_root type: string module: description: The name of the module called. example: Sitejet 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. - `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: Restore a domain from the restore point. tags: - Sitejet x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n Sitejet \\\n restore_document_root \\\n domain='example.com'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/Sitejet/restore_document_root?domain=example.com - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/\n\ # 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Sitejet_restore_document_root.live.pl and put\ \ this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from:\ \ .../frontend//\n# to .../frontend//api_examples/Sitejet_restore_document_root.live.pl\n\ #--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI\ \ ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint\ \ \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n q/Sitejet/,\n\ \ q/restore_document_root/,\n {\n 'domain' => 'example.com',\n }\n);\n\n# Handle the response\n\ if ($response->{cpanelresult}{result}{status}) {\n my $data = $response->{cpanelresult}{result}{data};\n #\ \ Do something with the $data\n # So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/\n\ // 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Sitejet_restore_document_root.live.php and\ \ put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url\ \ from: .../frontend//\n// to .../frontend//api_examples/Sitejet_restore_document_root.live.php\n\ //--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL\ \ object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\ \n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n\ \ 'Sitejet',\n 'restore_document_root',\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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}\n" x-cpanel-api-version: UAPI x-cpanel-available-version: 120 /Sitejet/set_template: get: deprecated: true description: This function sets a Sitejet website's template. operationId: set_sitejet_template parameters: - description: A cPanel account's domain. in: query name: domain required: true schema: example: example.com type: string - description: The Sitejet template's ID. in: query name: templateId required: true schema: example: '12345' type: string - description: The Sitejet template name. in: query name: templateName required: true schema: example: A great template 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_template type: string module: description: The name of the module called. example: Sitejet 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. - `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: Update Sitejet template tags: - Sitejet x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n Sitejet \\\n set_template \\\n domain='example.com'\ \ \\\n templateId='12345'\n templateName='A great template'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/Sitejet/set_template?domain=example.com&templateId=12345&templateName=A%20great%20template - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/\n\ # 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Sitejet_set_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//\n\ # to .../frontend//api_examples/Sitejet_set_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/Sitejet/,\n q/set_template/,\n {\n 'domain' => 'example.com',\n 'templateId'\ \ => '12345',\n 'templateName' => 'A great template'\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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/\n\ // 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Sitejet_set_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//\n\ // to .../frontend//api_examples/Sitejet_set_template.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'Sitejet',\n 'set_template',\n array (\n 'domain' =>\ \ 'example.com',\n 'templateId' => '12345',\n 'templateName' => 'A great template'\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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}\n" x-cpanel-api-version: UAPI x-cpanel-available-version: 110 /Sitejet/start_publish: get: description: This function publishes a domain's Sitejet website. operationId: start_publish_sitejet parameters: - description: The domain for the Sitejet website. in: query name: domain required: true schema: example: example.com type: string - description: 'Whether to cleanup the domain''s `document_root` directory during the publication process. * `1` — Remove previous files in domain''s `document_root` directory during the publication process. * `0` — Do **not** remove any files in domain''s `document_root` directory during the publication process.' in: query name: cleanup required: false schema: 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: start_publish type: string module: description: The name of the module called. example: Sitejet type: string result: properties: data: properties: file_name: deprecated: true description: '**Deprecated.** The publish process''s log file name. The `poll_publish` function no longer requires this value; it derives the log path server-side from `pid`. This field is retained for backward compatibility and may be removed in a future release. The system stores this file in the `logs/` directory, relative to the cPanel account''s home directory.' example: /home/cpuser/logs/publish_sitejet_76454.log type: string pid: description: The publish action's process ID. example: 123456 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. - `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: Publish Sitejet domain tags: - Sitejet x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n Sitejet \\\n start_publish \\\n domain='example.com'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/Sitejet/start_publish?domain=example.com - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/\n\ # 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Sitejet_start_publish.live.pl and put this code\ \ into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend//\n\ # to .../frontend//api_examples/Sitejet_start_publish.live.pl\n#--------------------------------------------------------------------------------------\n\ \nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this\ \ once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response =\ \ $cpanel->uapi(\n q/Sitejet/,\n q/start_publish/,\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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/\n\ // 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Sitejet_start_publish.live.php and put this\ \ code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend//\n\ // to .../frontend//api_examples/Sitejet_start_publish.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'Sitejet',\n 'start_publish',\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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}\n" x-cpanel-api-version: UAPI x-cpanel-available-version: 110 /SpamAssassin/clear_spam_box: get: x-readonly: false x-rollback: none description: 'This function clears the spam box of all its contents for all email accounts. **Important:** This function deletes the Spam Box folder contents for every email address on the account, which includes the system user email account.' operationId: SpamAssassin-clear_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: clear_spam_box type: string module: description: The name of the module called. example: SpamAssassin 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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 spam box contents tags: - SpamAssassin - Spam Management x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n SpamAssassin \\\n clear_spam_box\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/SpamAssassin/clear_spam_box - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file SpamAssassin_clear_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//\n\ # to .../frontend//api_examples/SpamAssassin_clear_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/SpamAssassin/,\n q/clear_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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file SpamAssassin_clear_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//\n\ // to .../frontend//api_examples/SpamAssassin_clear_spam_box.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'SpamAssassin',\n 'clear_spam_box'\n);\n\n// Handle the response\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 70 /SpamAssassin/get_symbolic_test_names: get: x-readonly: true description: This function lists the Apache SpamAssassin™ scores for each symbolic test. operationId: SpamAssassin-get_symbolic_test_names parameters: [] responses: '200': content: application/json: schema: properties: apiversion: description: The version of the API. example: 3 type: integer errors: {} func: description: The name of the method called. example: get_symbolic_test_names type: string messages: {} module: description: The name of the module called. example: SpamAssassin type: string result: properties: data: items: properties: key: description: The name of the test. example: ACT_NOW_ALL_CAPS type: string rule_type: description: 'The type and section of the email that the SpamAssassin analyses. * `body_tests` * `full_evals` * `head_evals` * `head_tests` * `meta_tests` * `other_tests` * `rawbody_tests` * `uri_tests`' enum: - body_tests - full_evals - head_evals - head_tests - meta_tests - other_tests - rawbody_tests - uri_tests example: body_tests type: string score: description: The score to assign to the email if the result of the test is true. example: 1 oneOf: - type: number - 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API. example: null items: type: string nullable: true type: array type: object status: {} type: object description: HTTP Request was successful. summary: Return SpamAssassin™ symbolic test scores tags: - SpamAssassin - Spam Management x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n SpamAssassin \\\n get_symbolic_test_names\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/SpamAssassin/get_symbolic_test_names - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file SpamAssassin_get_symbolic_test_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//\n\ # to .../frontend//api_examples/SpamAssassin_get_symbolic_test_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/SpamAssassin/,\n q/get_symbolic_test_names/\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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file SpamAssassin_get_symbolic_test_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//\n\ // to .../frontend//api_examples/SpamAssassin_get_symbolic_test_names.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'SpamAssassin',\n 'get_symbolic_test_names'\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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 70 /SpamAssassin/get_user_preferences: get: x-readonly: true description: 'This function lists the Apache SpamAssassin™ settings for the account. **Note:** Additional customizations may appear in the returns. Form more information read the [Apache SpamAssassin™ configuration file](https://spamassassin.apache.org/full/3.1.x/doc/Mail_SpamAssassin_Conf.html#user_preferences) documentation.' operationId: SpamAssassin-get_user_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_user_preferences type: string module: description: The name of the module called. example: SpamAssassin type: string result: properties: data: properties: blacklist_from: description: The email addresses on the blacklist. items: example: username2@example.com format: email type: string type: array required_score: description: The score to mark a message as spam. The system considers mail that matches this score to be spam. items: example: 5.1 format: float type: number type: array score: description: The symbolic test name and score. items: example: ACT_NOW_CAPS 1 type: string type: array whitelist_from: description: The email addresses on the whitelist. items: example: username@example.com format: email 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 * `0` - Failed: Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 SpamAssassin™ settings tags: - SpamAssassin - Spam Management x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n SpamAssassin \\\n get_user_preferences\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/SpamAssassin/get_user_preferences - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file SpamAssassin_get_user_preferences.live.pl and put this code into that file.\n\ # 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend//\n\ # to .../frontend//api_examples/SpamAssassin_get_user_preferences.live.pl\n#--------------------------------------------------------------------------------------\n\ \nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this\ \ once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response =\ \ $cpanel->uapi(\n q/SpamAssassin/,\n q/get_user_preferences/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status})\ \ {\n my $data = $response->{cpanelresult}{result}{data};\n # Do something with the $data\n # So you can\ \ see the data shape we print it here.\n print to_json($data);\n}\nelse {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n\ }\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file SpamAssassin_get_user_preferences.live.php and put this code into that\ \ file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend//\n\ // to .../frontend//api_examples/SpamAssassin_get_user_preferences.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'SpamAssassin',\n 'get_user_preferences'\n);\n\n// Handle the\ \ response\nif ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 70 /SpamAssassin/update_user_preference: get: x-readonly: false x-rollback: none description: 'This function sets the Apache SpamAssassin™ settings for the account. **Note:** Additional customizations may appear in the function''s return. For more information, read the [Apache SpamAssassin configuration file documentation](https://spamassassin.apache.org/full/3.1.x/doc/Mail_SpamAssassin_Conf.html#user_preferences).' operationId: SpamAssassin-update_user_preference parameters: - description: 'The variable that you want to manipulate. * `score` * `required_score` * `whitelist_from` * `blacklist_from` * A [custom SpamAssassin variable](https://spamassassin.apache.org/full/3.1.x/doc/Mail_SpamAssassin_Conf.html#user_preferences). **Important:** * You can **only** choose one of these possible values per call. * If you enter a value for the `preference` parameter, but you do **not** define a value for the `value` parameter, the function will remove any previous settings.' example: score in: query name: preference required: true schema: type: string - description: "The value for the preference of the variable that you want to manipulate.\n\n* A valid SpamAssassin\ \ \"`TEST_NAME SCORE`\" value when the value of the `preference` parameter is `score`, where:\n\n * `TEST_NAME`\ \ represents the symbolic name of the test. For list of symbolic test names, run the UAPI `SpamAssassin::get_symbolic_test_names`\ \ function.\n * `SCORE` represents the floating-point value that SpamAssassin assigns to the mail when the test\ \ result is true. The score value must be greater than `0`, and less than `1000`.\n\n* A valid floating-point number\ \ if the value of the `preference` parameter is `required_score`.\n* A valid email address if the value of the `preference`\ \ parameter is `whitelist_from` or `blacklist_from`.\n* A [custom SpamAssassin variable](https://spamassassin.apache.org/full/3.1.x/doc/Mail_SpamAssassin_Conf.html#user_preferences)\ \ value.\n\n**Note:**\n\nTo enter multiple values, increment the parameter name. For example, use the `value-0`\ \ and `value-1` parameters." examples: multiple: summary: Define multiple variable values. value: value-0=ACT_NOW_CAPS 5.0 value-1=INVALID_DATE 3.2 single: summary: Define a single variable value. value: ACT_NOW_CAPS 5.0 in: query name: value required: false schema: example: ACT_NOW_CAPS 5.0 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: update_user_preference type: string module: description: The name of the module called. example: SpamAssassin type: string result: properties: data: example: blacklist_from: - username2@example.com ok_locales: - all required_score: - 5 score: - ACT_NOW_CAPS 5 whitelist_from: - username@example.com properties: additionalProperties: description: 'An array containing custom SpamAssassin variable values. **Note:** The array''s name is the custom SpamAssassin variable''s name.' items: example: mycustomscore type: string blacklist_from: description: An array of email addresses on the blacklist. items: example: username2@example.com format: email type: string type: array required_score: description: An array containing the score at which the system will mark a message as spam. The system considers mail that matches this score to be spam. items: example: 5 format: float type: number type: array score: description: An array of the symbolic test names and their scores. items: example: ACT_NOW_CAPS 5 type: string type: array whitelist_from: description: An array of the email addresses on the whitelist. items: example: username@example.com format: email 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 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 SpamAssassin™ settings tags: - SpamAssassin - Spam Management x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n SpamAssassin \\\n update_user_preference \\\n preference='score'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/SpamAssassin/update_user_preference?preference=score - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file SpamAssassin_update_user_preference.live.pl and put this code into that\ \ file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend//\n\ # to .../frontend//api_examples/SpamAssassin_update_user_preference.live.pl\n#--------------------------------------------------------------------------------------\n\ \nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this\ \ once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response =\ \ $cpanel->uapi(\n q/SpamAssassin/,\n q/update_user_preference/,\n {\n 'preference' => 'score',\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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file SpamAssassin_update_user_preference.live.php and put this code into that\ \ file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend//\n\ // to .../frontend//api_examples/SpamAssassin_update_user_preference.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'SpamAssassin',\n 'update_user_preference',\n array (\n \ \ 'preference' => 'score',\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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 70 /Stats/get_bandwidth: get: x-readonly: true description: 'This function retrieves a list of bandwidth records for the domains on a cPanel account. **Note:** This function also returns the bandwidth use of a [distributed cPanel account](https://docs.cpanel.net/knowledge-base/cpanel-product/cpanel-glossary#distributed-cpanel-account). **Warning:** This function requires the _Bandwidth Stats_ feature. To enable this feature, use WHM''s [_Feature Manager_](https://go.cpanel.net/whmdocsFeatureManager) interface (_WHM >> Home >> Packages >> Feature Manager_).' operationId: Stats-get_bandwidth parameters: - description: 'The timezone in which to report the data, in [Olson tz format](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). **Note:** This parameter defaults to the server''s timezone.' in: query name: timezone required: false schema: example: America/Chicago 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_bandwidth type: string module: description: The name of the module called. example: Stats type: string result: properties: data: items: properties: bytes: description: The domain's bandwidth usage, in bytes. example: 74845 minimum: 0 type: integer domain: description: 'The domain for which to display bandwidth statistics. **Note:** The function only returns this value if the `protocol` return''s value is `http`.' example: example.com format: domain type: string month_start: description: The beginning of the report window. example: 1561957200 format: unix_timestamp type: integer protocol: description: "The protocol for which to provide data.\n * `http`\n * `imap`\n * `smtp`\n\ \ * `pop3`\n * `ftp`" enum: - http - imap - smtp - pop3 - ftp example: imap 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 statistics for all domains tags: - Stats - Domain Statistics x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n Stats \\\n get_bandwidth\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/Stats/get_bandwidth - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file Stats_get_bandwidth.live.pl and put this code into that file.\n# 5) In\ \ your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend//\n# to\ \ .../frontend//api_examples/Stats_get_bandwidth.live.pl\n#--------------------------------------------------------------------------------------\n\ \nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this\ \ once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response =\ \ $cpanel->uapi(\n q/Stats/,\n q/get_bandwidth/\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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file Stats_get_bandwidth.live.php and put this code into that file.\n// 5)\ \ In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend//\n//\ \ to .../frontend//api_examples/Stats_get_bandwidth.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'Stats',\n 'get_bandwidth'\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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 84 /Stats/get_site_errors: get: x-readonly: true description: This function returns entries from a domain's error log. operationId: Stats-get_site_errors parameters: - description: The domain for which to return error log entries. in: query name: domain required: true schema: example: example.com format: domain type: string - description: 'The [Apache log file](https://go.cpanel.net/cpanellogfiles) to query. This parameter defaults to error. * `error` - The `/var/log/apache2/error_log` file. * `suexec` - The `/var/log/apache2/suexec_log` file.' in: query name: log required: false schema: enum: - error - suexec example: suexec type: string - description: The number of lines to retrieve from the error log. in: query name: maxlines required: false schema: default: 300 example: 250 maximum: 5000 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: get_site_errors type: string module: description: The name of the module called. example: Stats type: string result: properties: data: items: properties: date: description: The date that the system recorded the error. example: 1234576704 format: unix_timestamp type: integer entry: description: The error log entry. example: '[Fri Feb 13 19:58:24.420593 2009] [core:error] [pid 29228:tid 47876185720577] (13)Permission denied: [client 10.0.0.2:62908] AH00132: file permissions deny server access: /home/user/public_html/index.html' 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 * `0` - Failed. Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: 'List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 domain access log tags: - Stats - Domain Statistics x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n Stats \\\n get_site_errors \\\n domain='example.com'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/Stats/get_site_errors?domain=example.com - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file Stats_get_site_errors.live.pl and put this code into that file.\n# 5) In\ \ your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend//\n# to\ \ .../frontend//api_examples/Stats_get_site_errors.live.pl\n#--------------------------------------------------------------------------------------\n\ \nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this\ \ once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response =\ \ $cpanel->uapi(\n q/Stats/,\n q/get_site_errors/,\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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file Stats_get_site_errors.live.php and put this code into that file.\n//\ \ 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend//\n\ // to .../frontend//api_examples/Stats_get_site_errors.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'Stats',\n 'get_site_errors',\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}\n\ else {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 84 /Stats/get_stats_daily: get: x-readonly: true description: This function returns the daily AwStats statistics for a domain. operationId: Stats-get_stats_daily parameters: - description: The domain to retrieve statistics for. Must be owned by the current cPanel user. in: query name: domain required: true schema: example: example.com format: domain type: string responses: '200': content: application/json: examples: stats_by_domain: summary: Object containing daily stats for the domain value: result: data: domain: example.com stats: Thu Feb 01 2024 00:00:00 GMT+0000 (Coordinated Universal Time): bandwidth: 81110 hits: 6 pages: 6 visits: 5 Fri Feb 02 2024 00:00:00 GMT+0000 (Coordinated Universal Time): bandwidth: 888296 hits: 43 pages: 14 visits: 7 schema: properties: apiversion: description: The version of the API. example: 3 type: integer func: description: The name of the method called. example: get_stats_daily type: string module: description: The name of the module called. example: Stats type: string result: properties: data: properties: domain: description: 'The domain associated with the returned daily stats. ' example: example.com type: string stats: additionalProperties: properties: bandwidth: description: The bandwidth used on this day (in bytes). example: 81110 type: integer hits: description: The number of hits recorded on this day. example: 6 type: integer pages: description: The number of pages viewed on this day. example: 6 type: integer visits: description: The number of visits recorded on this day. example: 5 type: integer type: object description: 'A map of date strings (YYYY-MM-DD) to daily statistics. Up to 45 days of history are returned. Gaps between the first available stat and yesterday are filled with zeros. ' example: Thu Feb 01 2024 00:00:00 GMT+0000 (Coordinated Universal Time): bandwidth: 81110 hits: 6 pages: 6 visits: 5 Fri Feb 02 2024 00:00:00 GMT+0000 (Coordinated Universal Time): bandwidth: 888296 hits: 43 pages: 14 visits: 7 nullable: false 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 daily AwStats statistics for a domain tags: - Stats - Domain Statistics x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n Stats \\\n get_stats_daily \\\n domain='example.com'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/Stats/get_stats_daily?domain=example.com - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file Stats_get_stats_daily.live.pl and put this code into that file.\n# 5) In\ \ your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend//\n# to\ \ .../frontend//api_examples/Stats_get_stats_daily.live.pl\n#--------------------------------------------------------------------------------------\n\ \nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this\ \ once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response =\ \ $cpanel->uapi(\n q/Stats/,\n q/get_stats_daily/,\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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file Stats_get_stats_daily.live.php and put this code into that file.\n//\ \ 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend//\n\ // to .../frontend//api_examples/Stats_get_stats_daily.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'Stats',\n 'get_stats_daily',\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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}\n" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 132 /Stats/list_sites: get: x-readonly: true description: This function displays the Analog statistics for the domains on a cPanel account. operationId: Stats-list_sites parameters: - description: 'The statistics engine. * `webalizer` * `analog`' in: query name: engine required: true schema: enum: - webalizer - analog example: webalizer type: string - description: "The web traffic type.\n * `http`\n * `ftp`" in: query name: traffic required: false schema: default: http enum: - http - ftp example: http 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_sites type: string module: description: The name of the module called. example: Stats type: string result: properties: data: items: properties: all_domains: description: 'Whether the statistics file''s filepath is for all the domains on a cPanel account. * `1` - All domains. * `0` - An individual domain.' enum: - 0 - 1 example: 1 type: integer domain: description: The domain for which to display statistics. example: example.com format: domain type: string path: description: The filepath to the statistics file. example: /tmp/user/webalizer/index.html format: path type: string ssl: description: 'Whether the function generates statistics from SSL requests. * `1` - Generates statistics for SSL requests. * `0` - Generates statistics for non-SSL requests.' 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 Analog statistics for all domains tags: - Stats - Domain Statistics x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n Stats \\\n list_sites \\\n engine='webalizer'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/Stats/list_sites?engine=webalizer - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file Stats_list_sites.live.pl and put this code into that file.\n# 5) In your\ \ browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend//\n# to .../frontend//api_examples/Stats_list_sites.live.pl\n\ #--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI\ \ ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint\ \ \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n q/Stats/,\n \ \ q/list_sites/,\n {\n 'engine' => 'webalizer',\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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file Stats_list_sites.live.php and put this code into that file.\n// 5) In\ \ your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend//\n// \ \ to .../frontend//api_examples/Stats_list_sites.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'Stats',\n 'list_sites',\n array (\n 'engine' => 'webalizer',\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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 84 /Stats/list_stats_by_domain: get: x-readonly: true description: This function returns a domain's Analog statistics. operationId: Stats-list_stats_by_domain parameters: - description: The domain from which to retrieve statistics. in: query name: domain required: true schema: example: example.com format: domain type: string - description: The statistics engine. `analog` is the only possible value. in: query name: engine required: true schema: enum: - analog example: analog type: string - description: "Whether to return statistics from SSL requests.\n * `1` - Return statistics for SSL requests.\n *\ \ `0` - Return statistics for non-SSL requests." in: query name: ssl 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: list_stats_by_domain type: string module: description: The name of the module called. example: Stats type: string result: properties: data: items: properties: date: description: The current date and time. example: 1565795929 format: unix_timestamp type: integer url: description: The URL of the file from which the system generates statistics reports. example: tmp/cptest/analog/8.html.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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 Analog statistics for specified domain tags: - Stats - Domain Statistics x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n Stats \\\n list_stats_by_domain \\\n engine='analog'\ \ \\\n domain='example.com'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/Stats/list_stats_by_domain?engine=analog&domain=example.com - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file Stats_list_stats_by_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//\n\ # to .../frontend//api_examples/Stats_list_stats_by_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/Stats/,\n q/list_stats_by_domain/,\n {\n 'engine' => 'analog',\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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file Stats_list_stats_by_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//\n\ // to .../frontend//api_examples/Stats_list_stats_by_domain.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'Stats',\n 'list_stats_by_domain',\n array (\n 'engine'\ \ => 'analog',\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}\n\ else {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 84 /StatsBar/get_stats: get: x-readonly: true description: This function retrieves a cPanel account's statistics. operationId: StatsBar-get_stats parameters: - description: "A pipe-delimited list of the account's statistics.\n\n
\n Click for a list of available\ \ display parameters.\n\n * `addondomains` — Information about the account's addon domains.\n * `apacheversion`\ \ — The server's Apache version.\n * `autoresponders` — Information about the account's auto-responders.\n * `bandwidthusage`\ \ — Information about the account's bandwidth usage.\n * `cachedlistdiskusage` — The amount of cached mailing list\ \ disk space the account currently uses.\n * `cachedmysqldiskusage` — The amount of cached disk space that the\ \ account's MySQL® databases currently use.\n * `cachedpostgresdiskusage` — The amount of cached disk space that\ \ the account's PostgreSQL databases use.\n * `cpanelversion` — The server's cPanel version.\n * `dedicatedip`\ \ — Account websites that use dedicated IP addresses.\n * `diskusage` — Information the account's disk space usage.\n\ \ * `emailaccounts` — Information about the account's email accounts.\n * `emailfilters` — Information the account's\ \ email filters.\n * `emailforwarders` — Information about the account's forwarders.\n * `fileusage` — Information\ \ about the account's file usage.\n * `ftpaccounts` — Information about the account's FTP accounts.\n * `hostingpackage`\ \ — The account's hosting package.\n * `hostname` — The server's hostname.\n * `kernelversion` — The operating\ \ system's kernel version.\n * `localip` — Account websites that use local IP addresses.\n * `machinetype` — The\ \ type of operating system that the server uses.\n * `mailinglists` — Information the account's mailing lists.\n\ \ * `mysqldatabases` — The number of MySQL databases the account possesses.\n * `mysqldiskusage` — The amount\ \ of disk space that the account's MySQL databases use.\n * `mysqlversion` — The server's MySQL version.\n * `operatingsystem`\ \ — The server's operating system.\n * `parkeddomains` — Information about the account's parked domains (aliases).\n\ \ * `perlpath` — The Perl binary's absolute path.\n * `perlversion` — The server's Perl version.\n * `phpversion`\ \ — The server's PHP version.\n * `postgresqldatabases` — The number of PostgreSQL databases the cPanel account\ \ possesses.\n * `postgresdiskusage` — The amount of disk space that the cPanel account's PostgreSQL databases\ \ use.\n * `sendmailpath` — The path to the system's sendmail binary.\n * `sharedip` — Any of the account's websites\ \ that use a shared IP address.\n * `shorthostname` — The short version of your server's hostname.\n * `sqldatabases`\ \ — Information about the all of the account's SQL databases.\n * `subdomains` — Information about the account's\ \ subdomains.\n * `theme` — The account's current theme.\n
\n\n**Note:**\n\n* This function may require\ \ URI-encode format (`%7C`) or quotes (`\"`) in some\ncontexts, such as the command line tool.\n* Some display parameters\ \ may be unavailable based on the server's configuration." in: query name: display required: true schema: example: bandwidthusage|diskusage type: string - description: The absolute file path to an alternative infinity symbol image. in: query name: infinityimg required: false schema: default: null example: /home/example/infinity.png nullable: true type: string - description: A phrase to represent infinity that the locales system can use. in: query name: infinitylang required: false schema: default: null example: infinity nullable: true type: string - description: 'The type of row. * `odd` * `even`' in: query name: rowcounter required: false schema: default: null example: even nullable: true type: string - description: The minimum level at which to return warnings. in: query name: warninglevel required: false schema: default: null example: 87 maximum: 100 minimum: 1 nullable: true type: integer - description: 'Whether to return all results with a warning. * `1` — Return only warnings that **exceed** the `warninglevel` parameter''s value. * `0` — Return all results.' in: query name: warnings required: false schema: enum: - 1 - 0 example: 0 nullable: true type: integer - description: 'Whether to display results with a value of `100%`. * `1` — Display results with a value of `100%`. * `0` — Hide results with a value of `100%`.' in: query name: warnout required: false schema: enum: - 1 - 0 example: 0 nullable: true 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_stats type: string module: description: The name of the module called. example: StatsBar type: string result: properties: data: description: An array of objects containing results from the queried account. example: - _count: '0.00' _max: '1024.00' _maxed: 0 count: 0 bytes feature: bandwidth id: bandwidthusage is_maxed: 0 item: Monthly Bandwidth Transfer max: 1 GB maxed_phrase: You have transferred your maximum allotment of data ([format_bytes,_1]) for this month. module: Stats name: bandwidthusage near_limit_phrase: You have transferred [format_bytes,_1] of your [format_bytes,_2] data allotment for this month. normalized: 1 percent: 0 percent10: 0 percent20: 0 percent5: 0 phrase: Monthly Bandwidth Transfer rowtype: even units: MB zeroisunlimited: 1 - _count: '1.75' _max: '1024.00' _maxed: 0 count: 1.75 MB id: diskusage is_maxed: 0 item: Disk Space Usage langkey: INDXDiskUsage max: 1 GB maxed_phrase: You are using your maximum storage allotment, [format_bytes,_1]. module: Quota name: diskusage near_limit_phrase: You are using [format_bytes,_1] of the [format_bytes,_2] of storage available to you. normalized: 1 percent: 0 percent10: 0 percent20: 0 percent5: 0 phrase: Disk Space Usage rowtype: odd units: MB zeroisunlimited: 1 items: properties: _count: description: The queried data's value. type: string _max: description: The queried parameter's limit. type: string _maxed: description: 'Whether the queried value reached its maximum value. * `1` — Reached maximum value. * `0` — Has **not** reached maximum value.' enum: - 1 - 0 type: integer condition: description: 'Whether the queried data''s value possesses a conditional requirement. * `1` — Possesses a condition. * `0` — Does **not** possess a condition. **Note:** The function will **only** return this value if it determines that the related statistic meets the subsystem installation requirements.' enum: - 1 - 0 type: integer count: description: The queried data's value. type: string feature: description: The queried item's feature name. type: string id: description: The queried item's reference name. type: string is_maxed: description: 'Whether the queried value has reached its maximum value. * `1` — The queried value has reached its maximum value. * `0` — The queried value has **not** reached its maximum value.' enum: - 1 - 0 type: integer item: description: A human-readable version of the queried item. type: string max: description: The queried value's maximum limit. type: string maxed_phrase: description: 'The [`maketext`-formatted](https://go.cpanel.net/locale) message that the interface displays when the user reaches their maximum allowed value.' type: string module: description: The module that retrieved the information. example: Quota type: string name: description: The display key. example: diskusage type: string near_limit_phrase: description: 'The [`maketext`-formatted](https://go.cpanel.net/locale) message that the interface displays when the user approaches their maximum allowed value.' type: string normalized: description: 'Whether the function normalized the output values. * `1` — Normalized. * `0` — Did **not** normalize.' enum: - 1 - 0 type: integer percent: description: The percentage of value, if applicable. type: integer percent10: description: The percentage of value that the system rounds to the nearest ten, if applicable. multipleOf: 10 type: integer percent20: description: The percentage of value that the system rounds to the nearest twenty, if applicable. multipleOf: 20 type: integer percent5: description: The percentage of value that the system rounds to the nearest five, if applicable. multipleOf: 5 type: integer phrase: description: The human-readable name of the queried item. type: string role: description: 'The queried value''s role. * `CalendarContact` * `DNS` * `FileStorage` * `FTP` * `MailLocal` * `MailReceive` * `MailSend` * `MySQL` * `Postgres` * `SpamFilter` * `Webmail` * `WebDisk` * `WebServer`' enum: - CalendarContact - DNS - FileStorage - FTP - MailLocal - MailReceive - MailSend - MySQL - Postgres - SpamFilter - Webmail - WebDisk - WebServer type: string rowtype: description: 'The queried value''s row type. * `even` * `odd`' enum: - even - odd type: string units: description: The queried value's unit of measure. type: string zeroisunlimited: description: 'Whether a value of `0` means unlimited or zero. * `1` — Unlimited. * `0` — Zero.' enum: - 1 - 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. * `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 statistics tags: - StatsBar - Resource Usage and Statistics x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n StatsBar \\\n get_stats \\\n display='bandwidthusage|diskusage'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/StatsBar/get_stats?display=bandwidthusage%7cdiskusage - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file StatsBar_get_stats.live.pl and put this code into that file.\n# 5) In your\ \ browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend//\n# to .../frontend//api_examples/StatsBar_get_stats.live.pl\n\ #--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI\ \ ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint\ \ \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n q/StatsBar/,\n\ \ q/get_stats/,\n {\n 'display' => 'bandwidthusage|diskusage',\n }\n);\n\n# Handle the response\n\ if ($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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file StatsBar_get_stats.live.php and put this code into that file.\n// 5)\ \ In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend//\n//\ \ to .../frontend//api_examples/StatsBar_get_stats.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'StatsBar',\n 'get_stats',\n array (\n 'display' =>\ \ 'bandwidthusage|diskusage',\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}\n\ else {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 11.42 /StatsManager/get_configuration: get: x-readonly: true description: 'This function lists the configuration of the web log anayzers for each domain on the cPanel account. **Important:** When you disable the WebServer role the system disables this function. For more information, read our How to Use [Server Profiles documentation](https://docs.cpanel.net/knowledge-base/general-systems-administration/how-to-use-server-profiles/). **Note** Additional web log analyzer configuration such as if the user can edit their own configuration is provided in the metadata section of the return.' operationId: StatsManager-get_configuration 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_configuration type: string module: description: The name of the module called. example: StatsManager type: string result: properties: data: description: A list of domains and the status of each of the web log analyzers available in cPanel for that domain. items: properties: analyzers: description: List of log analyzer configuration objects for this domain. Only analyzers that are enabled for this user on the system are shown. example: - enabled: 1 enabled_by_user: 1 name: awstats - enabled: 0 enabled_by_user: 0 name: analog - enabled: 0 enabled_by_user: 1 name: webalizer items: properties: enabled: description: 'Whether the analyzer is turned on or off for the domain. - `1` - the analyzer is enabled. - `0` - the analyzer is disabled. **Note:** This is the cumulative effect of the choices the server admin and user make.' enum: - 1 - 0 type: integer enabled_by_user: description: 'Whether the analyzer is turned on or off for the domain specifically by this user. - `1` - the analyzer is enabled by the user. - `0` - the analyzer is disabled by the user.' enum: - 1 - 0 type: integer name: description: 'Name of the analyzer. It must be one of the following: - `analog` - Analog weblog analyzer. - `awstats` - AWStats weblog analyzer. - `webalizer` - The Webalizer weblog analyzer.' enum: - analog - awstats - webalizer type: string type: object type: array domain: description: The domain. example: domain.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: analyzers: description: System configruation for each analyzer. example: - available_for_user: 1 enabled_by_default: 0 name: analog - available_for_user: 1 enabled_by_default: 1 name: awstats - available_for_user: 1 enabled_by_default: 0 name: webalizer items: properties: available_for_user: description: 'Whether the analyzer can be configured by this user. - `1` - the analyzer can be configured by this user. - `0` - the analyzer cannot be configured by this user.' enum: - 1 - 0 type: integer enabled_by_default: description: 'Whether the analyzer is turned on or off by default for all users. - `1` - the analyzer is enabled for all users on the server. - `0` - the analyzer is disabled for all users on the server.' enum: - 1 - 0 type: integer name: description: 'Name of the analyzer. It must be one of the following: - `analog` - Analog weblog analyzer. - `awstats` - AWStats weblog analyzer. - `webalizer` - The Webalizer weblog analyzer.' enum: - analog - awstats - webalizer type: string type: object type: array locked: description: 'Whether the analyzer can be turned on or off for the domain by the cPanel user. - `1` - the analyzer cannot be managed by the cPanel user. The reseller or `root` controls the configuration. - `0` - the analyzer can be managed by the cPanel user.' enum: - 1 - 0 type: integer transformed: description: Post-processing may have transformed the data. enum: - 1 example: 1 type: integer status: description: '- 1 - Success - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API. example: null items: type: string nullable: true type: array type: object type: object description: HTTP Request was successful. summary: Returns weblog analyzers' configuration tags: - StatsManager - Weblog Settings x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n StatsManager \\\n get_configuration\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/StatsManager/get_configuration - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file StatsManager_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//\n\ # to .../frontend//api_examples/StatsManager_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/StatsManager/,\n q/get_configuration/\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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file StatsManager_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//\n\ // to .../frontend//api_examples/StatsManager_get_configuration.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'StatsManager',\n 'get_configuration'\n);\n\n// Handle the response\n\ if ($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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: 90 /StatsManager/save_configuration: post: x-readonly: false x-rollback: none description: 'This function saves the users choice about which web log anayzers are enabled for each domain on their cPanel users account. If the log anayzers are controlled by the reseller or root account, the user cannot manage which log analyzers are enabled or disabled. **Important:** When you disable the WebServer role the system disables this function. For more information, read our How to Use Server Profiles documentation.' operationId: StatsManager-save_configuration requestBody: content: application/json: schema: properties: changes: items: properties: analyzers: description: List of log analyzer configuration objects. example: - enabled: 1 name: awstats - enabled: 0 name: analog - enabled: 0 name: webalizer items: properties: enabled: description: 'Whether the analyzer is turned on or off for the domain. - `1` - the analyzer is enabled. - `0` - the analyzer is disabled.' enum: - 1 - 0 type: integer name: description: 'Name of the analyzer. It must be one of the following: - `analog` - Analog weblog analyzer. - `awstats` - AWStats weblog analyzer. - `webalizer` - The Webalizer weblog analyzer.' enum: - analog - awstats - webalizer type: string type: object type: array domain: description: Domain you want to configure. example: domain.com type: string type: object type: array type: object description: List of domains and what web log analyzers to change. responses: '200': content: 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: StatsManager type: string result: properties: data: description: A list of domains and the status of each of the web log analyzers available in cPanel for that domain. items: properties: analyzers: description: List of log analyzer configuration objects for this domain example: - available: 1 enabled: 1 locked: 0 name: awstats - available: 1 enabled: 0 locked: 0 name: analog - available: 0 enabled: 0 locked: 0 name: webalizer items: properties: available: description: 'Whether the analyzer is turned on or off for the whole server. - `1` - the analyzer is enabled on the server. - `0` - the analyzer is disabled on the server.' enum: - 1 - 0 type: integer enabled: description: 'Whether the analyzer is turned on or off for the domain. - `1` - the analyzer is enabled. - `0` - the analyzer is disabled.' enum: - 1 - 0 type: integer locked: description: 'Whether the analyzer can be turned on or off for the domain by the cPanel user. - `1` - the analyzer can be managed by the cPanel user. - `0` - the analyzer cannot be managed by the cPanel user. The reseller or `root` controls the configuration.' enum: - 1 - 0 type: integer name: description: 'Name of the analyzer. It must be one of the following: - `analog` - Analog weblog analyzer. - `awstats` - AWStats weblog analyzer. - `webalizer` - The Webalizer weblog analyzer.' enum: - analog - awstats - webalizer type: string type: object type: array domain: description: The domain. 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 current user's weblog analyzers configuration tags: - StatsManager - Weblog Settings x-codeSamples: - label: CLI lang: Shell source: "echo '{\"changes\":[{\"analyzers\":[{\"enabled\":\"1\",\"name\":\"awstats\"},{\"enabled\":\"0\",\"name\"\ :\"analog\"},{\"enabled\":\"0\",\"name\":\"webalizer\"}],\"domain\":\"domain.com\"}]}' | \\\nuapi --input=json --output=jsonpretty\ \ \\\n --user=username \\\n StatsManager \\\n save_configuration" - label: HTTP Request (Wire Format) lang: HTTP source: 'POST /cpsess##########/execute/StatsManager/save_configuration HTTP/1.1 Host: example.com:2083 Cookie: ################################### Content-Type: application/json Content-Length: 151 {"changes":[{"analyzers":[{"enabled":"1","name":"awstats"},{"enabled":"0","name":"analog"},{"enabled":"0","name":"webalizer"}],"domain":"domain.com"}]}' x-cpanel-api-version: UAPI x-cpanel-available-version: 90 /SubDomain/addsubdomain: get: x-readonly: false x-rollback: none description: 'This function creates a subdomain. **Important:** When you disable the [Web Server role](https://go.cpanel.net/serverroles#roles), the system **disables** this function.' operationId: SubDomain-addsubdomain parameters: - description: The subdomain name to create. in: query name: domain required: true schema: example: subdomain type: string - description: The domain on which to create the new subdomain. The domain **must** already exist on the cPanel account. in: query name: rootdomain required: true schema: example: example.com format: domain type: string - description: 'Whether to use a canonical name (CNAME) in the [Apache® configuration for self-referential URLs](https://httpd.apache.org/docs/2.4/mod/core.html#usecanonicalname). * `1` - Use the CNAME. * `0` - Do **not** use the CNAME.' in: query name: canoff required: false schema: default: 1 enum: - 0 - 1 example: 1 type: integer - description: 'The subdomain''s document `root` within the home directory, given as a valid directory path relative to the user''s home directory. This value defaults to the user''s home directory `/public_html/` path. **Note:** If the *Restrict document roots to public_html* value is set to *Off* in WHM''s [*Tweak Settings*](https://go.cpanel.net/whmdocsTweakSettings#domains) interface (*WHM >> Home >> Server Configuration >> Tweak Settings*), this parameter defaults to the `/username/` path. For example, the `username` user''s subdomain `example` would default to the `/home/username/example` path.' in: query name: dir required: false schema: example: /public_html/directory_name format: path type: string - description: 'Whether to remove the dot (`.`) characters from the `domain` value. * `1` - Remove dots from the domain. * `0` - Do **not** remove dots from the domain.' in: query name: disallowdot 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: addsubdomain type: string module: description: The name of the module called. example: SubDomain 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 * `0` - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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 subdomain tags: - SubDomain x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n SubDomain \\\n addsubdomain \\\n domain='subdomain'\ \ \\\n rootdomain='example.com'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/SubDomain/addsubdomain?domain=subdomain&rootdomain=example.com - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file SubDomain_addsubdomain.live.pl and put this code into that file.\n# 5)\ \ In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend//\n# \ \ to .../frontend//api_examples/SubDomain_addsubdomain.live.pl\n#--------------------------------------------------------------------------------------\n\ \nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this\ \ once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response =\ \ $cpanel->uapi(\n q/SubDomain/,\n q/addsubdomain/,\n {\n 'domain' => 'subdomain',\n 'rootdomain'\ \ => '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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file SubDomain_addsubdomain.live.php and put this code into that file.\n//\ \ 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend//\n\ // to .../frontend//api_examples/SubDomain_addsubdomain.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'SubDomain',\n 'addsubdomain',\n array (\n 'domain'\ \ => 'subdomain',\n 'rootdomain' => '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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 70 /SubDomain/changedocroot: get: x-readonly: false x-rollback: none description: "This function changes the document root for a subdomain or addon domain\nthat the calling cPanel user\ \ owns.\n\n**Important:**\n\n- This function does **not** apply to the account's primary domain.\n Use the WHM API\ \ `set_primary_domain_docroot` function to change the document root for a primary domain.\n- The target directory\ \ must already exist before you call this function.\n The function does not create it.\n- This function does **not**\ \ move any files. You must ensure that the files\n exist in the new path when you call this function.\n- Any parked\ \ domains (`ServerAlias` entries) on the affected domain will\n inherit the new document root.\n- AutoSSL HTTP-01\ \ renewals will fail if the new document root is empty\n or missing at renewal time.\n- To revert a document root\ \ change, call this function again with the\n original path.\n\nWhen you disable the [Web Server role](https://go.cpanel.net/serverroles#roles),\n\ the system **disables** this function." operationId: SubDomain-changedocroot parameters: - description: 'The new document root as a path relative to the user''s home directory. The target directory **must** already exist, and the path **must** begin with `public_html/` if the *Restrict document roots to public_html* value is set to *On* in WHM''s [*Tweak Settings*](https://go.cpanel.net/TweakSettings-Domains) interface (*WHM >> Home >> Server Configuration >> Tweak Settings*).' in: query name: docroot required: true schema: example: public_html/myapp/public format: path type: string - description: The full domain name of the subdomain or addon domain whose document root you want to change. The domain must belong to the calling cPanel user. in: query name: domain required: true schema: example: sub.example.com format: domain type: string responses: '200': content: application/json: schema: properties: data: properties: documentroot: description: The absolute path of the new document root. example: /home/username/public_html/myapp/public type: string type: object errors: items: type: string type: array messages: items: type: string type: array metadata: properties: transformed: type: integer type: object status: description: '* `1` — Success. * `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: items: type: string type: array type: object description: HTTP Request was successful. summary: Change a subdomain or addon domain document root tags: - Subdomains x-codeSamples: - label: CLI lang: Shell source: "uapi --user=username --output=jsonpretty \\\n SubDomain \\\n changedocroot \\\n domain='sub.example.com'\ \ \\\n docroot='public_html/myapp/public'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/SubDomain/changedocroot?domain=sub.example.com&docroot=public_html%2Fmyapp%2Fpublic x-cpanel-api-version: UAPI x-cpanel-available-version: '11' /SubDomain/delsubdomain: get: description: "This function removes a subdomain from the cPanel account.\n\n**Important:**\n\n- If any addon domain\ \ is parked on the subdomain, the system refuses to\n remove it and names the addon domains in the `errors` field.\ \ Remove\n those addon domains first with the\n `AddonDomain::deladdondomain` function.\n- This function does **not**\ \ remove the subdomain's document root or the\n files in it.\n\nWhen you disable the [Web Server role](https://go.cpanel.net/serverroles#roles),\n\ the system **disables** this function." operationId: SubDomain-delsubdomain parameters: - description: The subdomain to remove. Give this value either as the underscore-separated `subdomain_rootdomain` form that the `SubDomain::listsubdomains` function returns in its `domainkey` field, or as a fully qualified domain name. in: query name: domain required: true schema: example: subdomain_example.com type: string - description: 'Whether to remove the dot (`.`) characters from the subdomain label in the `domain` value. * `1` - Remove dots from the subdomain label. * `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. * `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 subdomain tags: - SubDomain x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n SubDomain \\\n delsubdomain \\\n domain='subdomain_example.com'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/SubDomain/delsubdomain?domain=subdomain_example.com - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/\n\ # 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file SubDomain_delsubdomain.live.pl and put this code\ \ into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend//\n\ # to .../frontend//api_examples/SubDomain_delsubdomain.live.pl\n#--------------------------------------------------------------------------------------\n\ \nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this\ \ once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response =\ \ $cpanel->uapi(\n q/SubDomain/,\n q/delsubdomain/,\n {\n 'domain' => 'subdomain_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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/\n\ // 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file SubDomain_delsubdomain.live.php and put this\ \ code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend//\n\ // to .../frontend//api_examples/SubDomain_delsubdomain.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'SubDomain',\n 'delsubdomain',\n array (\n 'domain'\ \ => 'subdomain_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//--------------------------------------------------------------------------------------\n\ function 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 /SubDomain/getreservedsubdomains: get: description: 'This function lists the subdomain labels that the system reserves, and that an account therefore cannot use to create a subdomain. **Note:** The returned labels are **not** sorted.' operationId: SubDomain-getreservedsubdomains parameters: [] responses: '200': content: application/json: schema: properties: data: description: One entry for each reserved subdomain label. items: description: A reserved subdomain label. example: www type: string 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. * `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 reserved subdomain names tags: - SubDomain x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n SubDomain \\\n getreservedsubdomains\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/SubDomain/getreservedsubdomains - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/\n\ # 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file SubDomain_getreservedsubdomains.live.pl and put\ \ this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from:\ \ .../frontend//\n# to .../frontend//api_examples/SubDomain_getreservedsubdomains.live.pl\n\ #--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI\ \ ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint\ \ \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n q/SubDomain/,\n\ \ q/getreservedsubdomains/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n \ \ my $data = $response->{cpanelresult}{result}{data};\n # Do something with the $data\n # So you can see\ \ the data shape we print it here.\n print to_json($data);\n}\nelse {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n\ }\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/\n\ // 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file SubDomain_getreservedsubdomains.live.php and\ \ put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url\ \ from: .../frontend//\n// to .../frontend//api_examples/SubDomain_getreservedsubdomains.live.php\n\ //--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL\ \ object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\ \n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n\ \ 'SubDomain',\n 'getreservedsubdomains'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status'])\ \ {\n $data = $response['cpanelresult']['result']['data'];\n // Do something with the $data\n // So you\ \ can see the data shape we print it here.\n print to_json($data);\n}\nelse {\n // Report errors:\n print\ \ to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n\ $cpanel->end();\n\n//--------------------------------------------------------------------------------------\n//\ \ Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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 /SubDomain/listsubdomains: get: description: This function lists the subdomains on the cPanel account, including the subdomains that the account's addon domains are parked on. operationId: SubDomain-listsubdomains parameters: - description: 'A Perl regular expression. The system returns only the subdomains whose fully qualified name matches this pattern, case-insensitively. If this value is not a valid Perl regular expression, the function fails and reports the error in the `errors` field.' in: query name: regex required: false schema: example: ^shop type: string - description: 'Whether to include the `can_https_redirect` and `is_https_redirecting` fields in each entry. * `1` - Include the HTTPS redirect status. * `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 subdomain on the account, sorted by the `domainkey` value. items: properties: basedir: description: The subdomain's document root, relative to the account's home directory. example: public_html/shop type: string can_https_redirect: description: 'Whether the system can redirect the subdomain to `HTTPS`. The system only returns this field when you pass the `return_https_redirect_status` parameter. * `1` - The system can redirect the subdomain. * `0` - The system cannot redirect the subdomain.' enum: - 0 - 1 example: 1 type: integer dir: description: The absolute path to the subdomain's document root. example: /home/username/public_html/shop format: path type: string domain: description: The subdomain's fully qualified domain name. example: shop.example.com format: domain type: string domainkey: description: The subdomain in the underscore-separated `subdomain_rootdomain` form. Pass this value to the `SubDomain::delsubdomain` function to remove the subdomain. example: shop_example.com type: string is_https_redirecting: description: 'Whether the system currently redirects the subdomain to `HTTPS`. The system only returns this field when you pass the `return_https_redirect_status` parameter. * `1` - The system redirects the subdomain. * `0` - The system does **not** redirect the subdomain.' enum: - 0 - 1 example: 0 type: integer reldir: description: The subdomain's document root, relative to the account's home directory and prefixed with `home:`. example: home:public_html/shop type: string rootdomain: description: The domain that the subdomain belongs to. example: example.com format: domain type: string status: description: The subdomain's rewrite status, or the URL that it redirects to. example: '' type: string subdomain: description: The subdomain's label, without the root domain. example: shop type: string web_subdomain_aliases: description: The built-in service subdomain aliases, for example `www`, that the system serves for the subdomain. 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. * `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 subdomains tags: - SubDomain x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n SubDomain \\\n listsubdomains\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/SubDomain/listsubdomains - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/\n\ # 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file SubDomain_listsubdomains.live.pl and put this\ \ code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend//\n\ # to .../frontend//api_examples/SubDomain_listsubdomains.live.pl\n#--------------------------------------------------------------------------------------\n\ \nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this\ \ once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response =\ \ $cpanel->uapi(\n q/SubDomain/,\n q/listsubdomains/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status})\ \ {\n my $data = $response->{cpanelresult}{result}{data};\n # Do something with the $data\n # So you can\ \ see the data shape we print it here.\n print to_json($data);\n}\nelse {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n\ }\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/\n\ // 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file SubDomain_listsubdomains.live.php and put this\ \ code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend//\n\ // to .../frontend//api_examples/SubDomain_listsubdomains.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'SubDomain',\n 'listsubdomains'\n);\n\n// Handle the response\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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 /SubDomain/validregex: get: description: 'This function retrieves the regular expression that the system uses to validate a subdomain label. **Note:** Use this value to validate a subdomain label in an interface before you call the `SubDomain::addsubdomain` function. It does **not** replace the server-side validation that `SubDomain::addsubdomain` performs.' operationId: SubDomain-validregex parameters: [] responses: '200': content: application/json: schema: properties: data: description: A single-element array holding the validation pattern. items: description: The regular expression that a subdomain label must match. example: ^[A-Za-z0-9][A-Za-z0-9-]*$ type: string 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. * `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 the subdomain validation pattern tags: - SubDomain x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n SubDomain \\\n validregex\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/SubDomain/validregex - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/\n\ # 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file SubDomain_validregex.live.pl and put this code\ \ into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend//\n\ # to .../frontend//api_examples/SubDomain_validregex.live.pl\n#--------------------------------------------------------------------------------------\n\ \nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this\ \ once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response =\ \ $cpanel->uapi(\n q/SubDomain/,\n q/validregex/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status})\ \ {\n my $data = $response->{cpanelresult}{result}{data};\n # Do something with the $data\n # So you can\ \ see the data shape we print it here.\n print to_json($data);\n}\nelse {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n\ }\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/\n\ // 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file SubDomain_validregex.live.php and put this\ \ code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend//\n\ // to .../frontend//api_examples/SubDomain_validregex.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'SubDomain',\n 'validregex'\n);\n\n// Handle the response\nif\ \ ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function 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 /Team/add_roles: get: x-readonly: false x-rollback: none description: "This function adds roles to a team user.\n\n**Note:**\n\n This action may result in team users gaining\ \ access to team owner level privileges." operationId: Team-add_roles parameters: - description: The role or roles to add to the team user. Current roles include admin, database, email, web. in: query name: role required: true schema: example: database type: string - description: The username of the team user. in: query name: user required: true schema: example: teamuser 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_roles type: string module: description: The name of the module called. example: Team 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 - 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: Add roles to a team user tags: - Team Users x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n Team \\\n add_roles \\\n user='teamuser' \\\n role='database'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/Team/add_roles?user=teamuser&role=database - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file Team_add_roles.live.pl and put this code into that file.\n# 5) In your\ \ browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend//\n# to .../frontend//api_examples/Team_add_roles.live.pl\n\ #--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI\ \ ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint\ \ \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n q/Team/,\n \ \ q/add_roles/,\n {\n 'user' => 'teamuser',\n 'role' => '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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file Team_add_roles.live.php and put this code into that file.\n// 5) In your\ \ browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend//\n// to .../frontend//api_examples/Team_add_roles.live.php\n\ //--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL\ \ object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\ \n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n\ \ 'Team',\n 'add_roles',\n array (\n 'user' => 'teamuser',\n 'role' => '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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: 108 /Team/add_team_user: get: x-readonly: false x-rollback: none description: "This function creates and adds a new team user.\n\n**Note:**\n\n This action may result in team users\ \ gaining access to team owner level privileges." operationId: Team-add_team_user parameters: - description: The contact email for the new team user. in: query name: email1 required: true schema: example: teamuser@example.com type: string - description: The username of the team user. Follows cPanel standards. in: query name: user required: true schema: example: teamuser type: string - description: "Send an email to the team user that allows them to set their own password.\n* `1` - Enabled.\n\n**Note:**\n\ \n * You must pass either the `password` or `activation_email` parameter." in: query name: activation_email required: false schema: example: 1 type: integer - description: The secondary email for the new team user. in: query name: email2 required: false schema: example: teamuser-backup@example.com type: string - description: The epoch time on which the team user account expires, or the offset from the current time, in days. Integers are treated as Unix Epoch Time unless followed by 'days'. examples: offset: value: 120days unix-timestamp: value: 1649948169 in: query name: expire_date required: false schema: oneOf: - type: integer - type: string - description: The reason for expiration. in: query name: expire_reason required: false schema: example: teamUser gave a two week notice. type: string - description: Notes about the new team user. This field should not contain private information. Maximum of 100 characters. in: query name: notes required: false schema: example: This is a note about teamuser type: string - description: "The password to set for the new team user.\n\n**Note:**\n\n * You must pass either the `password` or\ \ `activation_email` parameter." in: query name: password required: false schema: example: securepassword type: string - description: "A comma-separated list of roles assigned to the new team user. Current roles include admin, database,\ \ email, web.\n\n**Note:**\n\n * This parameter is named `roles`, not `role`. This function rejects the `role` parameter\ \ with an error.\n * A team user with no roles **cannot** use any features. To assign roles after you create the\ \ team user, use the `set_roles` or `add_roles` functions." in: query name: roles required: false schema: example: email,database type: string - description: 'Whether to create an email subaccount for the team user. A subaccount is always created for a team user, but it does not have any associated service subaccounts by default. * `1` - Create an email subaccount. * `0` - **Do Not** create an email subaccount.' in: query name: services.email.enabled required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: 'The maximum amount of disk space, in megabytes (MB), allocated to the team user''s email account. * `0` or `unlimited` - The subaccount has unlimited disk space. This value defaults to the defined system value. **Note:** This value **cannot** be larger than the system''s maximum email quota.' in: query name: services.email.quota required: false schema: example: '500' type: string - description: 'Whether to create an FTP subaccount for the team user. A subaccount is always created for a team user, but it does not have any associated service subaccounts by default. * `1` - Create an FTP subaccount. * `0` - **Do Not** create an FTP subaccount.' in: query name: services.ftp.enabled required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: 'The team user''s FTP home directory, relative to the cPanel account''s home directory. **Note:** * This parameter is **required** if you enabled the `services.ftp.homedir` parameter. * The directory **must** exist.' in: query name: services.ftp.homedir required: false schema: example: /Teamusername format: path type: string - description: 'Whether to create a Web Disk subaccount for the team user. A subaccount is always created for a team user, but it does not have any associated service subaccounts by default. * `1` - Create a Web Disk subaccount. * `0` - **Do Not** create a Web Disk subaccount.' in: query name: services.webdisk.enabled required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: "Whether to enable the Web Disk Digest Authentication.\n\n* `1` - Enabled.\n* `0` - Disabled.\n\n**Note:**\n\ \n* **Only** enable Digest Authentication for clients that require additional compatibility support on\n certain\ \ versions of Windows® operating systems. This compatibility support is **only** required on servers\n that use\ \ a self-signed certificate for the `cpsrvd` and `cpdavd` daemons.\n* We recommend that you do **not** use Digest\ \ Authentication." in: query name: services.webdisk.enabledigest required: false schema: default: 0 enum: - 0 - 1 example: 0 type: integer - description: 'The team user''s Web Disk home directory, relative to the cPanel account''s home directory. **Note:** This parameter is **required** if you enable the `services.webdisk.enabled` parameter.' in: query name: services.webdisk.homedir required: false schema: example: /Teamusername format: path type: string - description: "The team user's file permissions for its Web Disk home directory.\n\n* `ro` - Read-only permissions.\n\ * `rw` - Read and write permissions.\n\n**Note:**\n\n The `services.webdisk.homedir` parameter determines the team\ \ user's Web Disk home directory." in: query name: services.webdisk.perms required: false schema: default: rw example: rw type: string - description: 'Whether to set the directory''s permissions to public or private. * `1` - Private (`0700`). * `0` - Public (`0755`).' in: query name: services.webdisk.private 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_team_user type: string module: description: The name of the module called. example: Team type: string result: properties: data: description: The unix timestamp that represents when the team user expires. example: 1674575562 format: unix-timestamp 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 - 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: Add a team user tags: - Team Users x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n Team \\\n add_team_user \\\n user='teamuser' \\\n\ \ email1='teamuser@example.com'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/Team/add_team_user?user=teamuser&email1=teamuser%40example.com - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/\n\ # 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Team_add_team_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//\n\ # to .../frontend//api_examples/Team_add_team_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/Team/,\n q/add_team_user/,\n {\n 'user' => 'teamuser',\n 'email1' =>\ \ 'teamuser@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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/\n\ // 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Team_add_team_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//\n\ // to .../frontend//api_examples/Team_add_team_user.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'Team',\n 'add_team_user',\n array (\n 'user' => 'teamuser',\n\ \ 'email1' => 'teamuser@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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}\n" x-cpanel-api-version: UAPI x-cpanel-available-version: 104 /Team/cancel_expire: get: x-readonly: false x-rollback: none description: This function stops a team user from expiring. operationId: Team-cancel_expire parameters: - description: The username of the team user. in: query name: user required: true schema: example: teamUser 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: expire_team_user type: string module: description: The name of the module called. example: Team 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 - 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: Stop a team user from expiring tags: - Team Users x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n Team \\\n cancel_expire \\\n user='teamUser'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/Team/cancel_expire?user=teamUser - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/\n\ # 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Team_cancel_expire.live.pl and put this code into\ \ that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend//\n\ # to .../frontend//api_examples/Team_cancel_expire.live.pl\n#--------------------------------------------------------------------------------------\n\ \nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this\ \ once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response =\ \ $cpanel->uapi(\n q/Team/,\n q/cancel_expire/,\n {\n 'user' => 'teamUser',\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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/\n\ // 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Team_cancel_expire.live.php and put this code\ \ into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend//\n\ // to .../frontend//api_examples/Team_cancel_expire.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'Team',\n 'cancel_expire',\n array (\n 'user' => 'teamUser',\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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}\n" x-cpanel-api-version: UAPI x-cpanel-available-version: 110 /Team/edit_team_user: get: x-readonly: false x-rollback: none description: This function modifies a team user. operationId: Team-edit_team_user parameters: - description: The username of the team user. in: query name: user required: true schema: example: teamUser type: string - description: The role or roles to add to the team user. in: query name: add_role required: false schema: example: database type: string - description: The primary contact email address to set for the team user. in: query name: email1 required: false schema: example: teamuser@example.com type: string - description: The secondary contact email address to set for the team user. in: query name: email2 required: false schema: example: teamuser@example.com type: string - description: The reason for expiration. in: query name: expire_reason required: false schema: example: teamUser gave a two week notice. type: string - description: Notes about the new team user. This field should not contain private information. in: query name: notes required: false schema: example: This is a note about teamUser type: string - description: The password to set for the team user. in: query name: password required: false schema: example: securepassword type: string - description: The role or roles to remove from the team user. in: query name: remove_role required: false schema: example: database type: string - description: 'Whether to create or remove an email subaccount for the team user. A subaccount is always created for a team user, but it does not have any associated service subaccounts by default. * `1` - Create and associate an email subaccount. * `0` - Remove any associated email subaccounts.' in: query name: services.email.enabled required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: 'The maximum amount of disk space, in megabytes (MB), allocated to the team user''s email account. * `0` or `unlimited` - The subaccount has unlimited disk space. This value defaults to the defined system value. **Note:** This value **cannot** be larger than the system''s maximum email quota.' in: query name: services.email.quota required: false schema: example: '500' type: string - description: 'Whether to create or remove an FTP subaccount for the team user. A subaccount is always created for a team user, but it does not have any associated service subaccounts by default. * `1` - Create and associate an FTP subaccount. * `0` - Remove any associated FTP subaccounts.' in: query name: services.ftp.enabled required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: 'The team user''s FTP home directory, relative to the cPanel account''s home directory. **Note:** * This parameter is **required** if you enabled the `services.ftp.homedir` parameter. * The directory **must** exist.' in: query name: services.ftp.homedir required: false schema: example: /Teamusername format: path type: string - description: 'Whether to create or remove a Web Disk subaccount for the team user. A subaccount is always created for a team user, but it does not have any associated service subaccounts by default. * `1` - Create and associate a Web Disk subaccount. * `0` - Remove any associated Web Disk subaccounts.' in: query name: services.webdisk.enabled required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: "Whether to enable the Web Disk Digest Authentication.\n\n* `1` - Enabled.\n* `0` - Disabled.\n\n**Note:**\n\ \n* **Only** enable Digest Authentication for clients that require additional compatibility support on\n certain\ \ versions of Windows® operating systems. This compatibility support is **only** required on servers\n that use\ \ a self-signed certificate for the `cpsrvd` and `cpdavd` daemons.\n* We recommend that you do **not** use Digest\ \ Authentication." in: query name: services.webdisk.enabledigest required: false schema: default: 0 enum: - 0 - 1 example: 0 type: integer - description: 'The team user''s Web Disk home directory, relative to the cPanel account''s home directory. **Note:** This parameter is **required** if you enable the `services.webdisk.enabled` parameter.' in: query name: services.webdisk.homedir required: false schema: example: /Teamusername format: path type: string - description: "The team user's file permissions for its Web Disk home directory.\n\n* `ro` - Read-only permissions.\n\ * `rw` - Read and write permissions.\n\n**Note:**\n\n The `services.webdisk.homedir` parameter determines the team\ \ user's Web Disk home directory." in: query name: services.webdisk.perms required: false schema: default: rw example: rw type: string - description: 'Whether to set the directory''s permissions to public or private. * `1` - Private (`0700`). * `0` - Public (`0755`).' in: query name: services.webdisk.private required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: The epoch time the team user account expires on or the offset in days. examples: offset: value: 120days unix-timestamp: value: 1649948169 in: query name: set_expire required: false schema: oneOf: - type: integer - type: string - description: The role or roles to set for the team user. in: query name: set_role required: false schema: 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: edit_team_user type: string module: description: The name of the module called. example: Team 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 - 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: Edit a team user tags: - Team Users x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n Team \\\n edit_team_user \\\n user='teamUser'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/Team/edit_team_user?user=teamUser - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/\n\ # 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Team_edit_team_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//\n\ # to .../frontend//api_examples/Team_edit_team_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/Team/,\n q/edit_team_user/,\n {\n 'user' => 'teamUser',\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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/\n\ // 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Team_edit_team_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//\n\ // to .../frontend//api_examples/Team_edit_team_user.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'Team',\n 'edit_team_user',\n array (\n 'user' => 'teamUser',\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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}\n" x-cpanel-api-version: UAPI x-cpanel-available-version: 110 /Team/get_team_users_with_roles_count: get: x-readonly: true description: This function returns the current and maximum number of team users with roles. operationId: Team-get_team_users_with_roles_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_team_users_with_roles_count type: string module: description: The name of the module called. example: Team type: string result: properties: data: properties: max: description: 'Maximum number of team users with roles. **Note:** This value is stored in the package.' example: 7 type: integer used: description: The current number of team users with roles. example: 2 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. - `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: Get number of team users with roles tags: - Team Users x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n Team \\\n get_team_users_with_roles_count\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/Team/get_team_users_with_roles_count - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/\n\ # 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Team_get_team_users_with_roles_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//\n# to .../frontend//api_examples/Team_get_team_users_with_roles_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/Team/,\n \ \ q/get_team_users_with_roles_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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/\n\ // 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Team_get_team_users_with_roles_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//\n// to .../frontend//api_examples/Team_get_team_users_with_roles_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\ \ 'Team',\n 'get_team_users_with_roles_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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}\n" x-cpanel-api-version: UAPI x-cpanel-available-version: 118 /Team/list_team: get: x-readonly: false x-rollback: none description: 'This function lists the team users connected to a cPanel account. This list is given in an array by default, but can be given in a hash.' operationId: Team-list_team parameters: - description: The format in which the team data is listed. in: query name: format required: false schema: example: array 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_team type: string module: description: The name of the module called. example: Team type: string result: properties: data: oneOf: - $ref: '#/components/schemas/TeamArray' - $ref: '#/components/schemas/TeamHash' errors: description: List of errors if the API failed. example: null items: type: string 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 - 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: List Team Users tags: - Team Users x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n Team \\\n list_team\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/Team/list_team - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file Team_list_team.live.pl and put this code into that file.\n# 5) In your\ \ browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend//\n# to .../frontend//api_examples/Team_list_team.live.pl\n\ #--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI\ \ ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint\ \ \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n q/Team/,\n \ \ q/list_team/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n my $data = $response->{cpanelresult}{result}{data};\n\ \ # Do something with the $data\n # So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file Team_list_team.live.php and put this code into that file.\n// 5) In your\ \ browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend//\n// to .../frontend//api_examples/Team_list_team.live.php\n\ //--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL\ \ object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\ \n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n\ \ 'Team',\n 'list_team'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status'])\ \ {\n $data = $response['cpanelresult']['result']['data'];\n // Do something with the $data\n // So you\ \ can see the data shape we print it here.\n print to_json($data);\n}\nelse {\n // Report errors:\n print\ \ to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n\ $cpanel->end();\n\n//--------------------------------------------------------------------------------------\n//\ \ Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: 104 /Team/password_reset_request: get: x-readonly: false x-rollback: none description: This function enables a team user to reset the password by sending a password reset request link. operationId: Team-password_reset_request parameters: - description: The username of the team user. in: query name: user required: true schema: example: teamuser 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: password_reset_request type: string module: description: The name of the module called. example: Team 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 - 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: Sends a password reset request link to team user. tags: - Team Users x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n Team \\\n password_reset_request \\\n user='teamuser'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/Team/password_reset_request?user=teamuser - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file Team_password_reset_request.live.pl and put this code into that file.\n\ # 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend//\n\ # to .../frontend//api_examples/Team_password_reset_request.live.pl\n#--------------------------------------------------------------------------------------\n\ \nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this\ \ once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response =\ \ $cpanel->uapi(\n q/Team/,\n q/password_reset_request/,\n {\n 'user' => 'teamuser',\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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file Team_password_reset_request.live.php and put this code into that file.\n\ // 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend//\n\ // to .../frontend//api_examples/Team_password_reset_request.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'Team',\n 'password_reset_request',\n array (\n 'user'\ \ => 'teamuser',\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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: 108 /Team/reinstate_team_user: get: x-readonly: false x-rollback: none description: This function reinstates a team user by removing any suspended or expired statuses. The reason field is also cleared. operationId: Team-reinstate_team_user parameters: - description: The username of the team user. in: query name: user required: true schema: example: teamUser 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: reinstate_team_user type: string module: description: The name of the module called. example: Team 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 - 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: Reinstate a team user tags: - Team Users x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n Team \\\n reinstate_team_user \\\n user='teamUser'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/Team/reinstate_team_user?user=teamUser - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/\n\ # 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Team_reinstate_team_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//\n\ # to .../frontend//api_examples/Team_reinstate_team_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/Team/,\n q/reinstate_team_user/,\n {\n 'user' => 'teamUser',\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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/\n\ // 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Team_reinstate_team_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//\n\ // to .../frontend//api_examples/Team_reinstate_team_user.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'Team',\n 'reinstate_team_user',\n array (\n 'user'\ \ => 'teamUser',\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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}\n" x-cpanel-api-version: UAPI x-cpanel-available-version: 108 /Team/remove_roles: get: x-readonly: false x-rollback: none description: This function removes roles from a team user. operationId: Team-remove_roles parameters: - description: The role or roles to remove from the team user. in: query name: role required: true schema: example: database type: string - description: The username of the team user. in: query name: user required: true schema: example: teamuser 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_roles type: string module: description: The name of the module called. example: Team 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 - 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: Remove roles from a team user tags: - Team Users x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n Team \\\n remove_roles \\\n user='teamuser' \\\n \ \ role='database'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/Team/remove_roles?user=teamuser&role=database - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file Team_remove_roles.live.pl and put this code into that file.\n# 5) In your\ \ browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend//\n# to .../frontend//api_examples/Team_remove_roles.live.pl\n\ #--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI\ \ ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint\ \ \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n q/Team/,\n \ \ q/remove_roles/,\n {\n 'user' => 'teamuser',\n 'role' => '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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file Team_remove_roles.live.php and put this code into that file.\n// 5) In\ \ your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend//\n// \ \ to .../frontend//api_examples/Team_remove_roles.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'Team',\n 'remove_roles',\n array (\n 'user' => 'teamuser',\n\ \ 'role' => '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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: 108 /Team/remove_team_user: get: x-readonly: false x-rollback: none description: This function removes a team user. operationId: Team-remove_team_user parameters: - description: The username of the team user. in: query name: user required: true schema: example: teamuser 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_team_user type: string module: description: The name of the module called. example: Team 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 - 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: Remove a team user tags: - Team Users x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n Team \\\n remove_team_user \\\n user='teamuser'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/Team/remove_team_user?user=teamuser - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file Team_remove_team_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//\n# to\ \ .../frontend//api_examples/Team_remove_team_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/Team/,\n q/remove_team_user/,\n {\n 'user' => 'teamuser',\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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file Team_remove_team_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//\n\ // to .../frontend//api_examples/Team_remove_team_user.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'Team',\n 'remove_team_user',\n array (\n 'user' =>\ \ 'teamuser',\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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: 108 /Team/set_contact_email: get: x-readonly: false x-rollback: none description: This function sets or changes primary and secondary email addresses. operationId: Team-set_contact_email parameters: - description: The username of the team user. in: query name: user required: true schema: example: teamUser type: string - description: The primary contact email address to set for the team user. in: query name: email1 required: false schema: example: email1@example.com type: string - description: The secondary contact email address to set for the team user. in: query name: email2 required: false schema: example: email2@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: set_contact_email type: string module: description: The name of the module called. example: Team 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 - 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: Set a contact email address for a team user tags: - Team Users x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n Team \\\n set_contact_email \\\n user='teamUser'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/Team/set_contact_email?user=teamUser - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/\n\ # 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Team_set_contact_email.live.pl and put this code\ \ into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend//\n\ # to .../frontend//api_examples/Team_set_contact_email.live.pl\n#--------------------------------------------------------------------------------------\n\ \nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this\ \ once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response =\ \ $cpanel->uapi(\n q/Team/,\n q/set_contact_email/,\n {\n 'user' => 'teamUser',\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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/\n\ // 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Team_set_contact_email.live.php and put this\ \ code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend//\n\ // to .../frontend//api_examples/Team_set_contact_email.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'Team',\n 'set_contact_email',\n array (\n 'user' =>\ \ 'teamUser',\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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}\n" x-cpanel-api-version: UAPI x-cpanel-available-version: 110 /Team/set_expire: get: x-readonly: false x-rollback: none description: 'This function expires a team user after a specified amount of time. If the team user already has an expire date set, it''s replaced with a new date and reason.' operationId: Team-set_expire parameters: - description: The epoch time on which the team user account expires, or the offset from the current time, in days. Integers are treated as Unix Epoch Time unless followed by 'days'. examples: offset: value: 120days unix-timestamp: value: 1649948169 in: query name: date required: true schema: oneOf: - type: integer - type: string - description: The username of the team user. in: query name: user required: true schema: example: teamUser type: string - description: The reason for expiration. in: query name: reason required: false schema: example: teamUser gave a two week notice. 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_expire type: string module: description: The name of the module called. example: Team type: string result: properties: data: description: The unix timestamp that represents when the team user expires. type: integer format: unix-timestamp example: 1674575562 errors: description: List of errors if the API failed. example: null items: type: string 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 - 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: Set a team user to expire tags: - Team Users x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n Team \\\n set_expire \\\n user='teamUser' \\\n date='120days'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/Team/set_expire?user=teamUser&date=120days - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/\n\ # 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Team_set_expire.live.pl and put this code into\ \ that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend//\n\ # to .../frontend//api_examples/Team_set_expire.live.pl\n#--------------------------------------------------------------------------------------\n\ \nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this\ \ once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response =\ \ $cpanel->uapi(\n q/Team/,\n q/set_expire/,\n {\n 'user' => 'teamUser',\n 'date' => '120days',\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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/\n\ // 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Team_set_expire.live.php and put this code\ \ into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend//\n\ // to .../frontend//api_examples/Team_set_expire.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'Team',\n 'set_expire',\n array (\n 'user' => 'teamUser',\n\ \ 'date' => '120days',\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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}\n" x-cpanel-api-version: UAPI x-cpanel-available-version: 110 /Team/set_locale: get: x-readonly: false x-rollback: none description: This function sets locale for a team user. operationId: Team-set_locale parameters: - description: The new locale for the team user. in: query name: locale required: true schema: example: es_es type: string - description: The username of the team user. in: query name: user required: true schema: example: teamuser 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: Team 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 - 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: Set locale for a team user tags: - Team Users x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n Team \\\n set_locale \\\n user='teamuser' \\\n locale='es_es'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/Team/set_locale?user=teamuser&locale=es_es - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file Team_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//\n# to .../frontend//api_examples/Team_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/Team/,\n \ \ q/set_locale/,\n {\n 'user' => 'teamuser',\n 'locale' => 'es_es',\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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file Team_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//\n// \ \ to .../frontend//api_examples/Team_set_locale.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'Team',\n 'set_locale',\n array (\n 'user' => 'teamuser',\n\ \ 'locale' => 'es_es',\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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: 108 /Team/set_notes: get: x-readonly: false x-rollback: none description: This function replaces the current notes field with new text. operationId: Team-set_notes parameters: - description: The content of the notes field. in: query name: notes required: true schema: example: teamUser is a good employee type: string - description: The username of the team user. in: query name: user required: true schema: example: teamUser 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_notes type: string module: description: The name of the module called. example: Team 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 - 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: Set notes for a team user tags: - Team Users x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n Team \\\n set_notes \\\n user='teamUser' \\\n notes='teamUser\ \ '\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/Team/set_notes?user=teamUser¬es=teamUser%20 - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/\n\ # 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Team_set_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//\n\ # to .../frontend//api_examples/Team_set_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/Team/,\n q/set_notes/,\n {\n 'user' => 'teamUser',\n 'notes' => 'teamUser\ \ ',\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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/\n\ // 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Team_set_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//\n\ // to .../frontend//api_examples/Team_set_notes.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'Team',\n 'set_notes',\n array (\n 'user' => 'teamUser',\n\ \ 'notes' => 'teamUser ',\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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}\n" x-cpanel-api-version: UAPI x-cpanel-available-version: 110 /Team/set_password: get: x-readonly: false x-rollback: none description: This function replaces the current password with a new one. operationId: Team-set_password parameters: - description: The password to set for the team user. in: query name: password required: true schema: example: securepassword type: string - description: The username of the team user. in: query name: user required: true schema: example: teamuser 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: Team 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 - 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: Set password for a team user tags: - Team Users x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n Team \\\n set_password \\\n user='teamuser' \\\n \ \ password='securepassword'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/Team/set_password?user=teamuser&password=securepassword - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/\n\ # 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Team_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//\n\ # to .../frontend//api_examples/Team_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/Team/,\n q/set_password/,\n {\n 'user' => 'teamuser',\n 'password' =>\ \ 'securepassword',\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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/\n\ // 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Team_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//\n\ // to .../frontend//api_examples/Team_set_password.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'Team',\n 'set_password',\n array (\n 'user' => 'teamuser',\n\ \ 'password' => 'securepassword',\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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}\n" x-cpanel-api-version: UAPI x-cpanel-available-version: 106 /Team/set_roles: get: x-readonly: false x-rollback: none description: "This function sets roles for a team user.\n\n**Note:**\n\n This action may result in team users gaining\ \ access to team owner level privileges." operationId: Team-set_roles parameters: - description: The username of the team user. in: query name: user required: true schema: example: teamuser type: string - description: "The role or roles to set for the team user. Current roles include admin, database, email, web.\n\n**Note:**\n\ \n * This function replaces the team user's current roles. If you omit this parameter, the team user loses every\ \ role and **cannot** use any features." in: query name: role required: false 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: set_roles type: string module: description: The name of the module called. example: Team 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 - `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: Set roles for a team user tags: - Team Users x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n Team \\\n set_roles \\\n user='teamuser'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/Team/set_roles?user=teamuser - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/\n\ # 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Team_set_roles.live.pl and put this code into\ \ that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend//\n\ # to .../frontend//api_examples/Team_set_roles.live.pl\n#--------------------------------------------------------------------------------------\n\ \nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this\ \ once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response =\ \ $cpanel->uapi(\n q/Team/,\n q/set_roles/,\n {\n 'user' => 'teamuser',\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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/\n\ // 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Team_set_roles.live.php and put this code into\ \ that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend//\n\ // to .../frontend//api_examples/Team_set_roles.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'Team',\n 'set_roles',\n array (\n 'user' => 'teamuser',\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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}\n" x-cpanel-api-version: UAPI x-cpanel-available-version: 108 /Team/suspend_team_user: get: x-readonly: false x-rollback: none description: This function immediately suspends a team user. operationId: Team-suspend_team_user parameters: - description: The username of the team user. in: query name: user required: true schema: example: teamuser type: string - description: The reason for suspension. in: query name: reason required: false schema: example: teamuser is on vacation 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_team_user type: string module: description: The name of the module called. example: Team 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 - 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: Suspend a team user tags: - Team Users x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n Team \\\n suspend_team_user \\\n user='teamuser'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/Team/suspend_team_user?user=teamuser - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file Team_suspend_team_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//\n# \ \ to .../frontend//api_examples/Team_suspend_team_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/Team/,\n q/suspend_team_user/,\n {\n 'user' => 'teamuser',\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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file Team_suspend_team_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//\n\ // to .../frontend//api_examples/Team_suspend_team_user.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'Team',\n 'suspend_team_user',\n array (\n 'user' =>\ \ 'teamuser',\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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: 108 /TeamRoles/list_feature_descriptions: get: x-readonly: true description: This function gives a list of all team roles and their included features. operationId: TeamRoles-list_feature_descriptions 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_feature_descriptions type: string module: description: The name of the module called. example: TeamRoles type: string result: properties: data: $ref: '#/components/schemas/FeatureDescriptions' errors: description: List of errors if the API failed. example: null items: type: string 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 - 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: List all role feature descriptions tags: - Team Roles x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n TeamRoles \\\n list_feature_descriptions\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/TeamRoles/list_feature_descriptions - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file TeamRoles_list_feature_descriptions.live.pl and put this code into that\ \ file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend//\n\ # to .../frontend//api_examples/TeamRoles_list_feature_descriptions.live.pl\n#--------------------------------------------------------------------------------------\n\ \nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this\ \ once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response =\ \ $cpanel->uapi(\n q/TeamRoles/,\n q/list_feature_descriptions/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status})\ \ {\n my $data = $response->{cpanelresult}{result}{data};\n # Do something with the $data\n # So you can\ \ see the data shape we print it here.\n print to_json($data);\n}\nelse {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n\ }\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file TeamRoles_list_feature_descriptions.live.php and put this code into that\ \ file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend//\n\ // to .../frontend//api_examples/TeamRoles_list_feature_descriptions.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'TeamRoles',\n 'list_feature_descriptions'\n);\n\n// Handle the\ \ response\nif ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: 108 /Themes/get_theme_base: get: x-readonly: true deprecated: true description: This function is deprecated and does not return useful output. operationId: Themes-get_theme_base 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_theme_base type: string module: description: The name of the module called. example: Themes type: string result: properties: data: description: 'The cPanel account''s base theme. The function returns **only** one of the following strings: * `jupiter` * `unknown` — The function returns this value when it cannot determine the base theme that you modified to create the custom theme.' enum: - jupiter - unknown example: jupiter 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 theme tags: - Themes - Theme Settings x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n Themes \\\n get_theme_base\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/Themes/get_theme_base - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file Themes_get_theme_base.live.pl and put this code into that file.\n# 5) In\ \ your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend//\n# to\ \ .../frontend//api_examples/Themes_get_theme_base.live.pl\n#--------------------------------------------------------------------------------------\n\ \nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this\ \ once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response =\ \ $cpanel->uapi(\n q/Themes/,\n q/get_theme_base/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status})\ \ {\n my $data = $response->{cpanelresult}{result}{data};\n # Do something with the $data\n # So you can\ \ see the data shape we print it here.\n print to_json($data);\n}\nelse {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n\ }\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file Themes_get_theme_base.live.php and put this code into that file.\n//\ \ 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend//\n\ // to .../frontend//api_examples/Themes_get_theme_base.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'Themes',\n 'get_theme_base'\n);\n\n// Handle the response\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 11.50 /Themes/list: get: x-readonly: true description: "This function lists available themes.\n\n**Note:**\n\n The `/usr/local/cpanel/scripts/modify_accounts`\ \ script allows you to modify the style and theme for many or all accounts on the server. For more information, read\ \ our [The modify_accounts Script](https://go.cpanel.net/modifyaccounts) documentation." operationId: Themes-list parameters: - description: 'Whether to list the account''s mail themes. * `1` — List mail themes. * `0` — Do **not** list mail themes.' in: query name: show_mail_themes 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: list type: string module: description: The name of the module called. example: Themes type: string result: properties: data: description: An array that contains the account's themes. items: example: jupiter 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 themes tags: - Themes - Theme Settings x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n Themes \\\n list\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/Themes/list - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file Themes_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//\n# to .../frontend//api_examples/Themes_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/Themes/,\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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file Themes_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//\n// to .../frontend//api_examples/Themes_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\ \ 'Themes',\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}\n\ else {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 11.42 /Themes/update: get: x-readonly: false x-rollback: none description: "This function applies a new theme to the cPanel interface.\n\n**Note:**\n\n The `/usr/local/cpanel/scripts/modify_accounts`\ \ script allows you to modify the theme for many or all accounts on the server. For more information, read our [The\ \ modify_accounts Script](https://go.cpanel.net/modifyaccounts) documentation." operationId: Themes-update parameters: - description: The theme name. in: query name: theme required: true schema: example: jupiter 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: update type: string module: description: The name of the module called. example: Themes 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: {} status: description: 'Whether the theme changed. * `1` — The theme changed. * `0` — The theme did **not** change, or the function failed. **Note:** If the function fails, check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 current theme tags: - Themes - Theme Settings x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n Themes \\\n update \\\n theme='jupiter'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/Themes/update?theme=jupiter - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file Themes_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//\n# to .../frontend//api_examples/Themes_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/Themes/,\n \ \ q/update/,\n {\n 'theme' => '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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file Themes_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//\n// to .../frontend//api_examples/Themes_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\ \ 'Themes',\n 'update',\n array (\n 'theme' => 'jupiter',\n )\n);\n\n// Handle the response\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 11.42 /Tokens/create_full_access: get: x-readonly: false x-rollback: none description: 'This function creates a new API token with full access to all of a cPanel account''s features. **Note:** The token **only** grants access to the features that the account has access to. For example, if you disable the [*File Manager*](https://go.cpanel.net/cpaneldocsFileManager) feature, the token can''t access it.' operationId: Tokens-create_full_access parameters: - description: 'The API token''s name. **Note:** The name may **only** contain alphanumeric characters, dashes (`-`), and underscores (`_`).' in: query name: name required: true schema: example: example maxLength: 50 type: string - description: 'The API token''s expiration time. **Important:** * When an API token expires the system does **not** delete it. You **must** manually delete expired API tokens. * If you do not use this parameter, the API token will **not** expire.' in: query name: expires_at required: false schema: example: 1609372800 format: unix_timestamp type: integer - description: 'Restrict the API token to read-only operations. **Note:** A read-only token retains full access to the account''s features but may only call operations that do not modify state. Write operations are rejected server-side.' in: query name: readonly 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: create_full_access type: string module: description: The name of the module called. example: Tokens type: string result: properties: data: properties: create_time: description: The API token's creation date and time. example: 1549467298 format: unix_timestamp type: integer token: description: The generated API token. example: JPQNSRU0DH448UJLGXH7KVJECC5QN9N9 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 cPanel API token tags: - Tokens - API Token Management x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n Tokens \\\n create_full_access \\\n name='example'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/Tokens/create_full_access?name=example - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file Tokens_create_full_access.live.pl and put this code into that file.\n#\ \ 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend//\n\ # to .../frontend//api_examples/Tokens_create_full_access.live.pl\n#--------------------------------------------------------------------------------------\n\ \nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this\ \ once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response =\ \ $cpanel->uapi(\n q/Tokens/,\n q/create_full_access/,\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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file Tokens_create_full_access.live.php and put this code into that file.\n\ // 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend//\n\ // to .../frontend//api_examples/Tokens_create_full_access.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'Tokens',\n 'create_full_access',\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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 80 /Tokens/list: get: x-readonly: true description: This function returns a list of a cPanel account's API tokens. operationId: Tokens-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: Tokens type: string result: properties: data: description: An array of objects containing the account's API tokens. items: properties: create_time: description: The API token's creation date and time. example: 1549471343 format: unix_timestamp type: integer expires_at: description: 'The API token''s expiration time. * null — The API token does **not** expire.' example: 1609372800 format: unix_timestamp nullable: true type: integer features: description: 'The account features that the API token has access to. * An empty array — The API token has full access.' example: [] items: type: string type: array has_full_access: description: 'Whether the API token has full access to the account''s features. * `1` — The API token has full access to the account''s features. * `0` — The API token does **not** have full access to the account''s features.' enum: - 1 - 0 example: 1 type: integer name: description: The API token's name. example: exampletoken type: string readonly: description: 'Whether the API token is restricted to read-only operations. * `1` — The API token may only call operations classified read-only; write operations are rejected server-side. * `0` — The API token may perform write operations. This property is present and `1` only for read-only tokens; otherwise it is absent or `0`. It is orthogonal to `has_full_access`, which describes feature access rather than read/write ability.' enum: - 1 - 0 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. * `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 API tokens tags: - Tokens - API Token Management x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n Tokens \\\n list\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/Tokens/list - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file Tokens_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//\n# to .../frontend//api_examples/Tokens_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/Tokens/,\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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file Tokens_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//\n// to .../frontend//api_examples/Tokens_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\ \ 'Tokens',\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}\n\ else {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 80 /Tokens/rename: get: x-readonly: false x-rollback: clean description: This function renames a cPanel account's existing API token. operationId: Tokens-rename parameters: - description: The API token's name. in: query name: name required: true schema: example: example type: string - description: 'The new name for the API token. **Note:** The name may only contain alphanumeric characters, dashes (`-`), and underscores (`_`).' in: query name: new_name required: true schema: example: newexample maxLength: 50 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 type: string module: description: The name of the module called. example: Tokens 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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 cPanel API token's name tags: - Tokens - API Token Management x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n Tokens \\\n rename \\\n name='example' \\\n new_name='newexample'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/Tokens/rename?name=example&new_name=newexample - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file Tokens_rename.live.pl and put this code into that file.\n# 5) In your browser\ \ login to a cPanel account.\n# 6) Manually change the url from: .../frontend//\n# to .../frontend//api_examples/Tokens_rename.live.pl\n\ #--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI\ \ ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint\ \ \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n q/Tokens/,\n \ \ q/rename/,\n {\n 'name' => 'example',\n 'new_name' => 'newexample',\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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file Tokens_rename.live.php and put this code into that file.\n// 5) In your\ \ browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend//\n// to .../frontend//api_examples/Tokens_rename.live.php\n\ //--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL\ \ object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\ \n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n\ \ 'Tokens',\n 'rename',\n array (\n 'name' => 'example',\n 'new_name' => 'newexample',\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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 80 /Tokens/revoke: get: x-readonly: false x-rollback: none description: This function removes an API token from a cPanel account. operationId: Tokens-revoke parameters: - description: The API token to remove. 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: revoke type: string module: description: The name of the module called. example: Tokens type: string result: properties: data: description: 'Whether the system removed the API token. * `1` - The system removed the API token or the API token doesn''t exist. * `0` - The system did **not** remove the API token. **Note:** The system returns the data value in the function''s metadata. This differs from our usual API return format. For more information, read our [UAPI Introduction](/cpanel/introduction/) 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 cPanel API token tags: - Tokens - API Token Management x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n Tokens \\\n revoke \\\n name='example'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/Tokens/revoke?name=example - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file Tokens_revoke.live.pl and put this code into that file.\n# 5) In your browser\ \ login to a cPanel account.\n# 6) Manually change the url from: .../frontend//\n# to .../frontend//api_examples/Tokens_revoke.live.pl\n\ #--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI\ \ ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint\ \ \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n q/Tokens/,\n \ \ q/revoke/,\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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file Tokens_revoke.live.php and put this code into that file.\n// 5) In your\ \ browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend//\n// to .../frontend//api_examples/Tokens_revoke.live.php\n\ //--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL\ \ object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\ \n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n\ \ 'Tokens',\n 'revoke',\n array (\n 'name' => 'example',\n )\n);\n\n// Handle the response\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 80 /Trash/remove: post: description: Force-deletes a single item from the current user's ~/.trash directory. Unlike Fileman.fileop op=unlink, this uses a non-safe recursive delete, so permission-locked entries (e.g. a 0444 file or a 0555 subdirectory preserved from a backup) are actually removed instead of being silently skipped and falsely reported as deleted. The path parameter must resolve strictly within ~/.trash (symlinks and `..` traversal are resolved before the confinement check runs); the trash root itself can never be the target. If the target is already absent, this is an idempotent success rather than an error. On success, the stale line (if any) for the removed item is pruned from the trash's restore map. operationId: remove parameters: - description: Home-relative path of the item to permanently delete. Must resolve strictly within ~/.trash. in: query name: path required: true schema: type: string responses: '200': content: application/json: schema: properties: apiversion: example: 3 type: integer func: example: remove type: string module: example: Trash type: string result: properties: data: properties: alreadyGone: description: True when the target was already absent (idempotent success); omitted otherwise. example: false type: boolean removed: 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: Permanently delete a single item from the trash tags: - Trash x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n Trash \\\n remove \\\n path=/.trash/backup-7.14.2026_16-35-25_alonglonglon\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/Trash/remove x-cpanel-api-version: UAPI x-cpanel-available-version: 136 x-cpanel-plugin: Trash /TwoFactorAuth/generate_user_configuration: get: x-readonly: false x-rollback: none description: This function generates an authentication code to enable configuration of two-factor authentication. operationId: TwoFactorAuth-generate_user_configuration 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: generate_user_configuration type: string module: description: The name of the module called. example: TwoFactorAuth type: string result: properties: data: properties: otpauth_str: description: A one-time authentication URL to encode as the QR code. example: otpauth://totp/Example%20cPanel%20L.L.C.:fakedomain?secret=S3I4WUY7MTHRMMWN&issuer=Example%20cPanel%20L.L.C. type: string secret: description: A generated code for use with two-factor authentication. example: S3I4WUY7MTHRMMWN 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 2FA authentication code tags: - TwoFactorAuth - Two-Factor Settings x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n TwoFactorAuth \\\n generate_user_configuration\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/TwoFactorAuth/generate_user_configuration - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file TwoFactorAuth_generate_user_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//\n\ # to .../frontend//api_examples/TwoFactorAuth_generate_user_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/TwoFactorAuth/,\n q/generate_user_configuration/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status})\ \ {\n my $data = $response->{cpanelresult}{result}{data};\n # Do something with the $data\n # So you can\ \ see the data shape we print it here.\n print to_json($data);\n}\nelse {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n\ }\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file TwoFactorAuth_generate_user_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//\n\ // to .../frontend//api_examples/TwoFactorAuth_generate_user_configuration.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'TwoFactorAuth',\n 'generate_user_configuration'\n);\n\n// Handle\ \ the response\nif ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 54 /TwoFactorAuth/get_team_user_configuration: get: x-readonly: false x-rollback: none description: This function retrieves a [team user's](https://go.cpanel.net/manage-team) configuration settings for two-factor authentication. operationId: TwoFactorAuth-get_team_user_configuration parameters: - description: 'The team user''s username. **Note:** The username will always precede the cPanel account''s primary domain.' in: query name: team_user 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_team_user_configuration type: string module: description: The name of the module called. example: TwoFactorAuth type: string result: properties: data: properties: is_enabled: description: 'Whether two-factor authentication is enabled for the team user. * `1` - Enabled. * `0` - Disabled.' enum: - 0 - 1 example: 1 type: integer issuer: description: The authentication code issuer's name. example: Example WebPros International, LLC 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 team user 2FA config tags: - TwoFactorAuth - Two-Factor Settings x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n TwoFactorAuth \\\n get_team_user_configuration \\\n\ \ team_user=teamuser\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/TwoFactorAuth/get_team_user_configuration - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file TwoFactorAuth_get_team_user_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//\n\ # to .../frontend//api_examples/TwoFactorAuth_get_team_user_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/TwoFactorAuth/,\n q/get_team_user_configuration/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status})\ \ {\n my $data = $response->{cpanelresult}{result}{data};\n # Do something with the $data\n # So you can\ \ see the data shape we print it here.\n print to_json($data);\n}\nelse {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n\ }\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file TwoFactorAuth_get_team_user_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//\n\ // to .../frontend//api_examples/TwoFactorAuth_get_team_user_configuration.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'TwoFactorAuth',\n 'get_team_user_configuration'\n);\n\n// Handle\ \ the response\nif ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 54 /TwoFactorAuth/get_user_configuration: get: x-readonly: true description: This function retrieves the cPanel account user's configuration settings for two-factor authentication. operationId: TwoFactorAuth-get_user_configuration 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_user_configuration type: string module: description: The name of the module called. example: TwoFactorAuth type: string result: properties: data: properties: is_enabled: description: 'Whether two-factor authentication is enabled for the account. * `1` - Enabled. * `0` - Disabled.' enum: - 0 - 1 example: 1 type: integer issuer: description: The authentication code issuer's name. example: Example WebPros International, LLC 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 2FA config tags: - TwoFactorAuth - Two-Factor Settings x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n TwoFactorAuth \\\n get_user_configuration\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/TwoFactorAuth/get_user_configuration - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file TwoFactorAuth_get_user_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//\n\ # to .../frontend//api_examples/TwoFactorAuth_get_user_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/TwoFactorAuth/,\n q/get_user_configuration/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status})\ \ {\n my $data = $response->{cpanelresult}{result}{data};\n # Do something with the $data\n # So you can\ \ see the data shape we print it here.\n print to_json($data);\n}\nelse {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n\ }\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file TwoFactorAuth_get_user_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//\n\ // to .../frontend//api_examples/TwoFactorAuth_get_user_configuration.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'TwoFactorAuth',\n 'get_user_configuration'\n);\n\n// Handle\ \ the response\nif ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 54 /TwoFactorAuth/remove_user_configuration: get: x-readonly: false x-rollback: none description: This function removes the user from the two-factor authentication `userdata` file. operationId: TwoFactorAuth-remove_user_configuration 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: remove_user_configuration type: string module: description: The name of the module called. example: TwoFactorAuth type: string result: properties: data: properties: tfa_removed: description: 'Whether the system removed the user from the two-factor authentication `userdata` file. * `1` - Removed. **Note:** If a removal fails, the system sends a failure response with the reason in the metadata.' 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: {} status: description: '* `1` - Success. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 2FA config tags: - TwoFactorAuth - Two-Factor Settings x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n TwoFactorAuth \\\n remove_user_configuration\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/TwoFactorAuth/remove_user_configuration - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file TwoFactorAuth_remove_user_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//\n\ # to .../frontend//api_examples/TwoFactorAuth_remove_user_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/TwoFactorAuth/,\n q/remove_user_configuration/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status})\ \ {\n my $data = $response->{cpanelresult}{result}{data};\n # Do something with the $data\n # So you can\ \ see the data shape we print it here.\n print to_json($data);\n}\nelse {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n\ }\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file TwoFactorAuth_remove_user_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//\n\ // to .../frontend//api_examples/TwoFactorAuth_remove_user_configuration.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'TwoFactorAuth',\n 'remove_user_configuration'\n);\n\n// Handle\ \ the response\nif ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 54 /TwoFactorAuth/set_user_configuration: get: x-readonly: false x-rollback: none description: This function configures the two-factor authentication settings for an account. operationId: TwoFactorAuth-set_user_configuration parameters: - description: The 16-character string that UAPI's `TwoFactorAuth::generate_user_configuration` function generates. in: query name: secret required: true schema: example: JBSWY3DPEHPK3PXP maxLength: 16 type: string - description: The six-digit security code that the time-based one-time password (TOTP) authentication app generates. in: query name: tfa_token required: true schema: example: 528112 maxLength: 6 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_user_configuration type: string module: description: The name of the module called. example: TwoFactorAuth type: string result: properties: data: properties: tfa_configured: description: 'Whether two-factor authentication is enabled. * `1` - Enabled. * `1` - 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 2FA config tags: - TwoFactorAuth - Two-Factor Settings x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n TwoFactorAuth \\\n set_user_configuration \\\n secret='JBSWY3DPEHPK3PXP'\ \ \\\n tfa_token='528112'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/TwoFactorAuth/set_user_configuration?secret=JBSWY3DPEHPK3PXP&tfa_token=528112 - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file TwoFactorAuth_set_user_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//\n\ # to .../frontend//api_examples/TwoFactorAuth_set_user_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/TwoFactorAuth/,\n q/set_user_configuration/,\n {\n 'secret' => 'JBSWY3DPEHPK3PXP',\n\ \ 'tfa_token' => '528112',\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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file TwoFactorAuth_set_user_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//\n\ // to .../frontend//api_examples/TwoFactorAuth_set_user_configuration.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'TwoFactorAuth',\n 'set_user_configuration',\n array (\n \ \ 'secret' => 'JBSWY3DPEHPK3PXP',\n 'tfa_token' => '528112',\n )\n);\n\n// Handle the response\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 54 /UserData/get_scoped_userdata: get: x-readonly: false x-rollback: none description: This function returns all userdata key/value pairs for a given scope. operationId: UserData-get_scoped_userdata parameters: - description: The scope name whose userdata you wish to retrieve. in: query name: scope required: true schema: example: example_scope 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_scoped_userdata type: string module: description: The name of the module called. example: UserData type: string result: properties: data: description: The requested scoped userdata mapping. example: theme: dark items_per_page: '50' show_help_tour: '0' type: object additionalProperties: description: A stored value associated with a key in the scope. 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. * `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 scoped userdata mapping tags: - UserData x-codeSamples: - label: CLI lang: Shell source: 'uapi --output=jsonpretty \ --user=username \ UserData \ get_scoped_userdata \ scope=ui_prefs ' - label: URL lang: HTTP source: 'https://hostname.example.com:2083/cpsess##########/execute/UserData/get_scoped_userdata?scope=ui_prefs ' - 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/UserData/,\n q/get_scoped_userdata/,\n q/scope=ui_prefs/,\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();\n\ sub to_json { require JSON; JSON->new->pretty->encode($_[0]) }\n" - label: LiveAPI PHP lang: PHP source: "uapi('UserData', 'get_scoped_userdata', array('scope' => 'ui_prefs'));\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' /UserData/set_scoped_userdata: get: x-readonly: false x-rollback: none description: This function sets (creates or updates) a userdata key/value pair within a specified scope and returns the full updated mapping for that scope. operationId: UserData-set_scoped_userdata parameters: - description: The scope name to modify. in: query name: scope required: true schema: type: string example: example_scope - description: 'A json string to save to the specified scope. **Note:** The "json" argument cannot be used with the "key" or "value" arguments.' in: query name: json required: false schema: type: string example: '{"theme":"dark"}' - description: 'The userdata key to set. **Note:** The "json" argument cannot be used with the "key" or "value" arguments.' in: query name: key required: false schema: type: string example: theme - description: 'The value to assign to the key. **Note:** The "json" argument cannot be used with the "key" or "value" arguments.' in: query name: value required: false schema: type: string example: dark responses: '200': content: 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_scoped_userdata type: string module: description: The name of the module called. example: UserData type: string result: properties: data: description: The updated scoped userdata mapping after the key/value was set. example: theme: dark items_per_page: '50' show_help_tour: '0' type: object additionalProperties: description: A stored value associated with a key in the scope. 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. * `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: Set scoped userdata key/value tags: - UserData x-codeSamples: - label: CLI lang: Shell source: 'uapi --output=jsonpretty \ --user=username \ UserData \ set_scoped_userdata \ scope=ui_prefs \ key=theme \ value=dark ' - label: URL lang: HTTP source: 'https://hostname.example.com:2083/cpsess##########/execute/UserData/set_scoped_userdata?scope=ui_prefs&key=theme&value=dark ' - 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/UserData/,\n q/set_scoped_userdata/,\n q/scope=ui_prefs/,\n\ \ q/key=theme/,\n q/value=dark/,\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();\n\ sub to_json { require JSON; JSON->new->pretty->encode($_[0]) }\n" - label: LiveAPI PHP lang: PHP source: "uapi('UserData', 'set_scoped_userdata', array('scope' => 'ui_prefs', 'key'\ \ => 'theme', 'value' => 'dark'));\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' /UserManager/change_password: get: x-readonly: false x-rollback: none description: This function updates the password of the main cPanel account, from the User Manager interface. It applies to the account owner only. operationId: UserManager-change_password parameters: - description: The new password. in: query name: newpass required: true schema: example: MyNewPassw0rd! format: password type: string - description: The current password. in: query name: oldpass required: true schema: example: ThisWasMyPassword! format: password type: string - description: 'Whether to update the cPanel account''s MySQL password. * `1` - Update MySQL password. * `0` - Do not update MySQL passowrd.' in: query name: enablemysql 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: change_password type: string module: description: The name of the module called. example: UserManager 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 * `0` - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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 cPanel account password (User Manager) tags: - UserManager - Account Management x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n UserManager \\\n change_password \\\n oldpass='MyPreviousPassword'\ \ \\\n newpass='MyUpdatedPassword'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/UserManager/change_password?oldpass=12346=newpass=ThisIs4It! - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file UserManager_change_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//\n\ # to .../frontend//api_examples/UserManager_change_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/UserManager/,\n q/change_password/,\n {\n 'oldpass' => 'PreviousPassword',\n\ \ 'newpass' => 'B3tt3rP4ssw0rd!',\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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file UserManager_change_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//\n\ // to .../frontend//api_examples/UserManager_change_password.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'UserManager',\n 'change_password',\n array (\n 'oldpass'\ \ => 'PreviousPassword',\n 'newpass' => 'B3tt3rP4ssw0rd!',\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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 116 /UserManager/check_account_conflicts: get: x-readonly: true description: 'This function lists the other Subaccounts or services accounts that conflict with the specified username. **Note:** If the function returns more than one account, it will return some values multiple times within the return arrays.' operationId: UserManager-check_account_conflicts parameters: - description: The Subaccount's username and domain name. in: query name: full_username 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: check_account_conflicts type: string module: description: The name of the module called. example: UserManager type: string result: properties: data: properties: accounts: description: An object containing the service accounts that match the queried `full_username` parameter. 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 URL to the user's Subaccount profile image file. 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. * `1` — Can delete. * `0` — **Cannot** delete.' enum: - 1 - 0 example: 0 type: integer can_set_password: description: 'Whether the cPanel account user can change the Subaccount''s password. * `1` — Can change the password. * `0` — **Cannot** change the password. **Note:** the function returns `0` for Subaccounts that inherit their password from the cPanel account.' enum: - 1 - 0 example: 1 type: integer can_set_quota: description: 'Whether the cPanel account user can change the Subaccount''s disk usage quota. * `1` — Can change the Subaccount''s disk usage quota. * `0` — **Cannot** change the Subaccount''s disk useage quota.' enum: - 1 - 0 example: 0 type: integer dismissed: description: 'Whether the cPanel account user dismissed the merge prompt for the service account. * `1` — Dismissed. * `0` — Did **not** dismiss. **Note:** **Only** service accounts return this value.' enum: - 1 - 0 example: 1 type: integer dismissed_merge_candidates: description: 'A list of the service accounts that the user dismissed the merge prompt for. **Note:** * This array **always** returns empty. * We reserved this return for future use.' items: type: string type: array domain: description: The Subaccount user's associated domain. example: example.com format: domain type: string full_username: description: The Subaccount's username. example: username@example.com format: email type: string guid: description: The Subaccount's system-assigned unique identifier. example: N4641:EXAMPLE.COM:564CC8A7:A82EA007D8348AC631C0170F9418EC1DEB0D164CC5A722A87C55EF5DD2AD98D4 type: string has_expired_invite: description: 'Whether the Subaccount owns an expired invitation. * `1` — Owns an expired invitation. * `0` — Does **not** own an expired invitation.' enum: - 1 - 0 example: 0 type: integer has_invite: description: 'Whether the Subaccount owns an active invitation. * `1` — Own an active invitation. * `0` — Does **not** own an active invitation.' enum: - 1 - 0 example: 0 type: integer has_siblings: description: 'Whether the service account shares the queried `full_username` value with another service account. * `1` — Shares the service account. * `0` — Does **not** share the service account.' enum: - 1 - 0 example: 0 type: integer invite_expiration: description: 'The time at which the new Subaccount invitation will expire. * `null` — The account does **not** own an active invitation.' example: 1600162200 format: unix_timestamp nullable: true type: integer issues: description: An array of objects containing information about any issues or problems with the Subaccount. items: properties: area: description: The affected section of cPanel & WHM. example: info type: string limit: description: The set megabyte (MB) quota limit for the affected Subaccount. example: 1500 minimum: 1 type: integer message: description: A description of the issue. example: Your account is over quota. type: string service: description: 'The affected service. * `email` * `ftp` * `webdisk`' enum: - email - ftp - webdisk example: email type: string type: description: 'The type of issue. * `error` * `warning` * `info`' enum: - error - warning - info example: info type: string used: description: The number of megabytes (MB) the account currently uses. example: 2000 minimum: 1 type: integer type: object type: array merge_candidates: description: An array of objects containing the service accounts that the system could merge for this Subaccount. items: properties: parent_type: description: 'The type of account that could own the service account. * `sub` — A Subaccount. * `hypothetical` — A hypothetical Subaccount that does **not** yet exist, but that the user could create as part of a merge. * `null` — **Not** a merge candidate.' enum: - sub - hypothetical nullable: true type: string phone_number: description: 'The Subaccount user''s phone number, in [ITU-T-recommended E.164](https://en.wikipedia.org/wiki/E.164) format.' example: '+15551234567' type: string real_name: description: The name of the Subaccount 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 that indicates the Subaccount's email status. properties: enabled: description: 'Whether the Subaccount can access Webmail, POP, and IMAP services. * `1` — Has service access. * `0` — Does **not** have service access.' enum: - 1 - 0 example: 1 type: integer quota: description: 'The Subaccount''s email disk space quota, in megabytes (MB). * `0` — The account has an unlimited email disk space quota.' example: 100 maximum: 999999 minimum: 0 type: integer type: object ftp: description: Information about the Subaccount's FTP status. properties: enabled: description: 'Whether the Subaccount can access FTP. * `1` — Has FTP service access. * `0` — Does **not** have FTP service access.' enum: - 1 - 0 example: 0 type: integer homedir: description: The Subaccount's FTP directory, relative to the cPanel account's home directory. example: /Subaccount type: string quota: description: 'The Subaccount''s FTP maximum disk space quota, in megabytes (MB). * `0` — The account has an unlimited disk space quota.' example: 100 minimum: 0 type: integer type: object webdisk: description: Information about the Subaccount's Web Disk status. properties: enabled: description: 'Whether the Subaccount can access Web Disk. * `1` — Has Web Disk service access. * `0` — Does **not** have Web Disk service access.' enum: - 1 - 0 example: 0 type: integer homedir: description: The Subaccount's Web Disk directory, relative to the cPanel account's home directory. example: /username type: string perms: description: 'Whether the Web Disk has read or read and write permissions. * `ro` — Read-only permissions. * `rw` — Read and write permissions.' enum: - ro - rw example: rw type: string private: description: 'Whether the Web Disk directory permissions are public or private. * `1` — Private (`0700`). * `0` — Public (`0755`).' enum: - 1 - 0 example: 0 type: integer type: object type: object special: description: 'Whether the account is a system-created special account that the user **cannot** remove. * `1` — The user can remove the account. * `0` — The user **cannot** remove the account.' enum: - 1 - 0 example: 1 type: integer sub_account_exists: description: 'Whether a Subaccount exists with the same username. * `1` — Exists. * `0` — Does **not** exist. * `null` — The account is **not** a Subaccount.' enum: - 1 - 0 example: 0 nullable: true type: integer synced_password: description: 'Whether the user has synchronized the passwords for each of the Subaccount''s service accounts. * `1` — Synchronized. * `0` — **Not** synchronized. * `null` — The account is **not** a Subaccount.' enum: - 1 - 0 example: 0 nullable: true type: integer type: description: 'The type of account. * `sub` — A Subaccount. * `hypothetical` — A hypothetical Subaccount that does **not** yet exist, but that the user could create as part of a merge. * `service` — A service account. * `cpanel` — A cPanel account.' enum: - sub - hypothetical - service - cpanel example: sub type: string username: description: 'The username for the Subaccount. **Note:** This value does **not** include the domain name.' example: username format: username type: string type: object type: array type: object conflict: description: 'Whether the system detected an account conflict. * `1` — Conflict. * `0` — **No** conflict.' 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. * `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 Subaccounts and service accounts conflicts tags: - UserManager - Subaccount Management x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n UserManager \\\n check_account_conflicts \\\n full_username='username@example.com'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/UserManager/check_account_conflicts?full_username=username%40example.com - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file UserManager_check_account_conflicts.live.pl and put this code into that\ \ file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend//\n\ # to .../frontend//api_examples/UserManager_check_account_conflicts.live.pl\n#--------------------------------------------------------------------------------------\n\ \nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this\ \ once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response =\ \ $cpanel->uapi(\n q/UserManager/,\n q/check_account_conflicts/,\n {\n 'full_username' => '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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file UserManager_check_account_conflicts.live.php and put this code into that\ \ file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend//\n\ // to .../frontend//api_examples/UserManager_check_account_conflicts.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'UserManager',\n 'check_account_conflicts',\n array (\n \ \ 'full_username' => '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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 56 /UserManager/create_user: get: x-readonly: false x-rollback: none description: This function creates a Subaccount. operationId: UserManager-create_user parameters: - description: The Subaccount user's associated domain that the cPanel account owns. in: query name: domain required: true schema: example: example.com format: domain type: string - description: "The Subaccount's password.\n\n**Note:**\n\n Email, FTP, and Web Disk services use this password." in: query name: password required: true schema: example: 123456luggage format: password type: string - description: 'The username for the Subaccount. The username can only contain alphanumeric characters, dots (`.`), hyphens (`-`), and underscores (`_`). **Note:** This value does **not** include the domain name.' in: query name: username required: true schema: example: example format: username maxLength: 64 type: string - description: "An alternate email address for the Subaccount's user.\n\n**Note:**\n\n You **must** use this parameter\ \ if you set the `send_invite` value to `1`." in: query name: alternate_email required: false schema: example: user@example.com format: email type: string - description: 'The URL path to the user''s Subaccount profile photo. **Note:** You **must** use the HTTPS protocol to prevent mixed content warnings when users view the image from another HTTPS URL. **Warning:** We reserved this parameter for future use. Do **not** use this parameter.' in: query name: avatar_url required: false schema: example: https://img.example.com/avatars/example.jpg format: url type: string - description: 'A phone number for the Subaccount user that conforms to [ITU-T](https://en.wikipedia.org/wiki/ITU-T)''s [E.164](https://en.wikipedia.org/wiki/E.164) standards. **Warning:** We reserved this parameter for future use. Do **not** use this parameter.' in: query name: phone_number required: false schema: example: '+15551234567' type: string - description: The Subaccount user's first and/or last name. in: query name: real_name required: false schema: example: John Doe type: string - description: 'Whether to send a reset password email to the Subaccount''s alternate email address. * `1` - Send. * `0` - Do not send.' in: query name: send_invite required: false schema: default: 0 enum: - 0 - 1 example: 0 type: integer - description: 'Whether to grant the Subaccount email access. * `1` - Can access. * `0` - **Cannot** access.' in: query name: services.email.enabled required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: 'The maximum amount of disk space, in megabytes (MB), allocated to Subaccount''s email account. * `0` or `unlimited` - The subaccount has unlimited disk space. This value defaults to the defined system value. **Note:** This value **cannot** be larger than the system''s maximum email quota.' in: query name: services.email.quota required: false schema: example: '500' type: string - description: 'Whether to send client configuration instructions to the account. * `1` - Send the instructions. * `0` - Do **not** send the instructions.' in: query name: services.email.send_welcome_email required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: 'Whether to grant the Subaccount FTP access. * `1` - Can access. * `0` - **Cannot** access.' in: query name: services.ftp.enabled required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: 'The Subaccount''s FTP home directory, relative to the cPanel account''s home directory. **Note:** * This parameter is **required** if you enabled the `services.ftp.homedir` parameter. * The directory **must** exist.' in: query name: services.ftp.homedir required: false schema: example: /Subaccount format: path type: string - description: 'Whether to grant the Subaccount Web Disk access. * `1` _ Can access. * `0` - **Cannot** access.' in: query name: services.webdisk.enabled required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: "Whether to enable the Web Disk Digest Authentication.\n\n* `1` - Enabled.\n* `0` - Disabled.\n\n**Note:**\n\ \n* **Only** enable Digest Authentication for clients that require additional compatibility support on\n certain\ \ versions of Windows® operating systems. This compatibility support is **only** required on servers\n that use\ \ a self-signed certificate for the `cpsrvd` and `cpdavd` daemons.\n* We recommend that you do **not** use Digest\ \ Authentication." in: query name: services.webdisk.enabledigest required: false schema: default: 0 enum: - 0 - 1 example: 0 type: integer - description: 'The Subaccount''s Web Disk home directory, relative to the cPanel account''s home directory. **Note:** This parameter is **required** if you enable the `services.webdisk.enabled` parameter.' in: query name: services.webdisk.homedir required: false schema: example: /Subaccount format: path type: string - description: "The Subaccount's file permissions for its Web Disk home directory.\n\n* `ro` - Read-only permissions.\n\ * `rw` - Read and write permissions.\n\n**Note:**\n\n The `services.webdisk.homedir` parameter determines the Subaccount's\ \ Web Disk home directory." in: query name: services.webdisk.perms required: false schema: default: rw example: rw type: string - description: 'Whether to set the directory''s permissions to public or private. * `1` - Private (`0700`). * `0` - Public (`0755`).' in: query name: services.webdisk.private required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: 'The type of account. * `sub` - A Subaccount.' in: query name: type required: false schema: default: sub enum: - sub example: sub 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: UserManager type: string result: properties: data: $ref: '#/components/schemas/CreateUserResponse' errors: description: List of errors if the API failed. example: null items: type: string nullable: true type: array messages: description: List of messages generated by the API. example: null items: type: string nullable: true type: array metadata: properties: {} status: description: '* `1` - Success. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 Subaccount tags: - UserManager - Subaccount Management x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n UserManager \\\n create_user \\\n domain='example.com'\ \ \\\n password='123456luggage' \\\n username='example'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/UserManager/create_user?domain=example.com&password=123456luggage&username=example - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file UserManager_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//\n# \ \ to .../frontend//api_examples/UserManager_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/UserManager/,\n q/create_user/,\n {\n 'domain' => 'example.com',\n 'password'\ \ => '123456luggage',\n '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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file UserManager_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//\n\ // to .../frontend//api_examples/UserManager_create_user.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'UserManager',\n 'create_user',\n array (\n 'domain'\ \ => 'example.com',\n 'password' => '123456luggage',\n '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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 54 /UserManager/delete_user: get: x-readonly: false x-rollback: none description: 'This function deletes a Subaccount. This function returns only metadata if no other service accounts exist with the same username and domain. * If one service account uses the same username and domain, the function returns the service account''s information. * If two or more service accounts use the same username and domain, the function returns a hypothetical Subaccount. **Note:** * A hypothetical Subaccount consists of two or more service accounts that use the same username and domain. * This function returns only metadata if the specified username and domain do **not** match any service accounts or hypothetical Subaccounts.' operationId: UserManager-delete_user parameters: - description: The Subaccount's associated domain. The domain **must** be one that the cPanel account owns. in: query name: domain required: true schema: example: example.com format: domain type: string - description: 'The Subaccount''s username. * Characters — `a-z`, `A-Z`, `0-9`, dot (`.`), hyphen (`-`), underscore (`_`) **Note:** This value does **not** include the domain name.' in: query name: username required: true schema: example: example maxLength: 64 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: UserManager type: string result: properties: data: properties: alternate_email: description: An alternate email address for the account's user. example: user@example.com format: email type: string avatar_url: description: The user's account profile photo. The URL must point to an 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 account. * `1` - Can delete. * `0` - **Cannot** delete.' enum: - 0 - 1 example: 0 type: integer can_set_password: description: 'Whether the cPanel account user can change the account''s password. * `1` - Can change password. * `0` - **Cannot** change password. **Note:** The function returns `0` for accounts 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 account''s disk usage quota. * `1` - Can change quota. * `0` - **Cannot** change quota.' enum: - 0 - 1 example: 0 type: integer dismissed: description: 'Whether the cPanel account user dismissed the merge prompt for the service account. * `1` - Dismissed prompt. * `0` - Did **not** dismiss prompt. **Note:** **Only** service accounts return this value.' enum: - 0 - 1 example: 1 type: integer dismissed_merge_candidates: description: 'An array of objects that represent the service accounts that the user dismissed the merge prompt for. This array will always return empty. **Note:** We reserved this return for future use.' items: type: object type: array domain: description: The account user's associated domain. example: example.com format: domain type: string full_username: description: The account's username and domain name, separated by the `@` character. example: user@example.com type: string guid: description: The account unique identifier. example: N4641:EXAMPLE.COM:564CC8A7:A82EA007D8348AC631C0170F9418EC1DEB0D164CC5A722A87C55EF5DD2AD98D4 type: string has_expired_invite: description: 'Whether the Subaccount owns an expired invitation. * `1` - Owns an expired invitation. * `0` - Does **not** own an expired invitation.' enum: - 0 - 1 example: 0 type: integer has_invite: description: 'Whether the Subaccount owns an active invitation. * `1` - Owns an invitation. * `0` - Does **not** own an invitation.' enum: - 0 - 1 example: 0 type: integer has_siblings: description: 'Whether the service account shares a `full_username` value with another service account. * `1` - Shares. * `0` - Does not share.' enum: - 0 - 1 example: 0 type: integer invite_expiration: description: 'The time at which the new Subaccount invitation will expire, given as a valid Unix epoch time or null. If the account does not own an active invitation, this value returns `null`.' example: 1466258282 format: unix_timestamp nullable: true type: integer issues: description: Information about any issues or problems with the account. 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 account. 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. * `email` * `ftp` * `webdisk`' enum: - email - ftp - webdisk example: email type: string type: description: 'The type of issue. * `error` * `warning` * `info`' enum: - error - warning - info example: info type: string used: description: The number of megabytes (MB) that the account currently uses. example: 2000 minimum: 0 type: integer type: array merge_candidates: description: 'The service accounts that the system could merge for this account. **Note:** You can find descriptions for this array''s returns within this table.' items: properties: alternate_email: type: string avatar_url: type: string can_delete: type: integer can_set_password: type: integer can_set_quota: type: integer dismissed: type: integer dismissed_merge_candidates: items: type: string type: array domain: format: domain type: string full_username: type: string guid: type: string has_expired_invite: type: integer has_invite: type: integer has_siblings: type: integer invite_expiration: type: integer issues: items: type: string type: array merge_candidates: items: type: string type: array parent_type: type: string phone_number: type: string real_name: type: string services: type: object special: type: integer sub_account_exists: type: integer synced_password: type: integer type: type: string username: format: username type: string type: object type: array parent_type: description: 'The type of account that could own the service account. * `sub` - An account. * `hypothetical` - A hypothetical account does **not** yet exist, but that the user could create as part of a merge. * `null` - **Not** a merge candidate.' enum: - sub - hypothetical example: hypothetical nullable: true type: string phone_number: description: 'The account user''s phone number. * A valid phone number that conforms to [ITU-T](https://en.wikipedia.org/wiki/ITU-T)''s [E.164-recommended standard](https://en.wikipedia.org/wiki/E.164) for the representation of telephone numbers.' example: '+15551234567' type: string real_name: description: 'The name of the account''s user. * A first name, a last name, or a first name and last name. * An empty string.' example: John Doe type: string services: description: Information about the account's access to email, FTP, and Web Disk. properties: email: description: Information that indicates the account's email status. properties: enabled: description: 'Whether the account can access Webmail, POP, and IMAP services. * `1` - Can access. * `0` - **Cannot** access.' enum: - 1 - 0 example: 1 type: integer quota: description: 'The account''s email disk space quota. * The set quota megabyte (MB) limit for the account''s email disk space. * `0` - Unlimited.' example: 100 maximum: 999999 minimum: 0 type: integer type: object ftp: description: Information about the account's FTP status. properties: enabled: description: 'Whether the account can access FTP. * `1` - Can access. * `0` - **Cannot** access.' enum: - 1 - 0 example: 0 type: integer homedir: description: 'The account''s FTP home directory. * A valid path, relative to the cPanel account''s home directory.' example: /account format: path type: string quota: description: 'The account''s FTP disk space quota. * An integer that represents the account''s maximum FTP disk usage, in megabytes (MB). * `0` - Unlimited.' example: 100 minimum: 0 type: integer type: object webdisk: description: Information about the account's Web Disk status. properties: enabled: description: 'Whether the account can access Web Disk. * `1` - Can access. * `0` - **Cannot** access.' enum: - 1 - 0 example: 0 type: integer homedir: description: 'The account''s Web Disk directory. * A valid path, relative to the cPanel account''s home directory.' example: /bob format: path type: string perms: description: 'Whether to grant write permissions to the account. * `ro` - Read-only permissions. * `rw` - Read and write permissions.' example: rw type: string private: description: 'Whether to set the Web Disk directory''s permissions to public or private. * `1` - Private (0700). * `0` - Public (0755).' enum: - 1 - 0 example: 0 type: integer type: object type: object special: description: 'Whether the account is a system-created special account that the user **cannot** remove. * `1` - A special account. * `0` - **Not** a special account.' enum: - 1 - 0 example: 1 type: integer sub_account_exists: description: 'Whether an account exists with the same username. * `1` - Exists. * `0` - Does not exist. * `null` - The account is **not** a service account.' enum: - 1 - 0 example: 0 nullable: true type: integer synced_password: description: 'Whether the user has synchronized the passwords for each of the account''s service accounts. * `1` - Synchronized. * `0` - **Not** synchronized. * `null` - The account is **not** a Subaccount' enum: - 1 - 0 example: 0 nullable: true type: integer type: description: 'The type of account. * `hypothetical` - A hypothetical account that does not exist, but that the user could create as part of a merge. * `service` - A service account.' enum: - hypothetical - service example: service type: string username: description: 'The account username. The username must meet the account name limitations. * Characters - `a-z`, `A-Z`, `0-9`, dot (`.`), hyphen (`-`), underscore (`_`) **Note::** This value does **not** include the domain name.' format: username maxLength: 64 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 * `0` - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 Subaccount tags: - UserManager - Subaccount Management x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n UserManager \\\n delete_user \\\n username='example'\ \ \\\n domain='example.com'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/UserManager/delete_user?username=example&domain=example.com - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file UserManager_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//\n# \ \ to .../frontend//api_examples/UserManager_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/UserManager/,\n q/delete_user/,\n {\n 'username' => 'example',\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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file UserManager_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//\n\ // to .../frontend//api_examples/UserManager_delete_user.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'UserManager',\n 'delete_user',\n array (\n 'username'\ \ => 'example',\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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 54 /UserManager/dismiss_merge: get: x-readonly: false x-rollback: none description: 'This function removes a service account as a link candidate to create a subaccount or link to a subaccount. When you use this function, the system removes the *Link* option in cPanel''s [*User Manager*](https://go.cpanel.net/cpaneldocsUserManager) interface (_cPanel >> Home >> Preferences >> User Manager_). **Note:** You **must** use at least one of the following parameters: * `services.email.dismiss` * `services.ftp.dismiss` * `services.webdisk.dismiss`' operationId: UserManager-dismiss_merge parameters: - description: The service account's associated domain. in: query name: domain required: true schema: example: example.com format: domain type: string - description: 'The username for the service account. **Note:** This parameter does **not** include the domain name.' in: query name: username required: true schema: example: example1 format: username maxLength: 64 type: string - description: 'Whether to dismiss the merge of the email service account. * `1` - Dismiss. * `0` - Do **not** dismiss.' in: query name: services.email.dismiss required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: 'Whether to dismiss the merge of the FTP service account. * `1` - Dismiss. * `0` - Do **not** dismiss.' in: query name: services.ftp.dismiss required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: 'Whether to dismiss the merge of the Web Disk service account. * `1` - Dismiss. * `0` - Do **not** dismiss.' in: query name: services.webdisk.dismiss 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: dismiss_merge type: string module: description: The name of the module called. example: UserManager 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 service account link request tags: - UserManager - Subaccount Management x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n UserManager \\\n dismiss_merge \\\n username='example1'\ \ \\\n domain='example.com'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/UserManager/dismiss_merge?username=example1&domain=example.com - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file UserManager_dismiss_merge.live.pl and put this code into that file.\n#\ \ 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend//\n\ # to .../frontend//api_examples/UserManager_dismiss_merge.live.pl\n#--------------------------------------------------------------------------------------\n\ \nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this\ \ once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response =\ \ $cpanel->uapi(\n q/UserManager/,\n q/dismiss_merge/,\n {\n 'username' => 'example1',\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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file UserManager_dismiss_merge.live.php and put this code into that file.\n\ // 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend//\n\ // to .../frontend//api_examples/UserManager_dismiss_merge.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'UserManager',\n 'dismiss_merge',\n array (\n 'username'\ \ => 'example1',\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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 54 /UserManager/edit_user: get: x-readonly: false x-rollback: none description: This function edits a Subaccount. operationId: UserManager-edit_user parameters: - description: 'The Subaccount user''s associated domain. A domain that the cPanel account owns.' in: query name: domain required: true schema: example: example.com format: domain type: string - description: "The Subaccount's username.\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." in: query name: username required: true schema: example: example type: string - description: "An alternate email address for the Subaccount's user.\n\n**Note:**\n\n The cPanel account user could\ \ use this email address to contact the Subaccount user if their primary email address's domain is unavailable." in: query name: alternate_email required: false schema: default: null example: user@example.com format: email nullable: true type: string - description: "**Warning:**\n\n We reserved this parameter for future use. Do **not** use this parameter.\n\nThe user's\ \ Subaccount profile photo.\n\n**Note:**\n\n You **must** use the HTTPS protocol to prevent mixed content warnings\ \ when users view the photo from another HTTPS URL." in: query name: avatar_url required: false schema: default: null example: https://img.example.com/avatars/example.jpg format: url nullable: true type: string - description: "The Subaccount's new password.\n\n**Note:**\n\n The Subaccount uses this password for email, FTP, and\ \ Web Disk services." in: query name: password required: false schema: example: 12345luggage type: string - description: "The Subaccount user's phone number.\n\n**Warning:**\n\n We reserved this parameter for future use. Do\ \ **not** use this parameter.\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." in: query name: phone_number required: false schema: default: null example: '+15551234567' nullable: true type: string - description: 'The Subaccount user''s name. * A first name. * A last name. * A first name and last name. * An empty string.' in: query name: real_name required: false schema: default: null example: John Doe nullable: true type: string - description: 'Whether to grant the Subaccount email access. * `1` - Can access. * `0` - **Cannot** access.' in: query name: services.email.enabled required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: "The maximum amount of disk space, in megabytes (MB), that the subaccount's email account may use.\n\n\ If you do not declare a value, the system defaults to the defined system value.\n\n**Note:**\n\n This value **cannot**\ \ be greater than the maximum email quota.\n\n* `0` or `unlimited` - The subaccount possesses unlimited disk space." in: query name: services.email.quota required: false schema: example: 500 type: integer - description: 'Whether to grant the Subaccount FTP access. * `1` - Can access. * `0` - **Cannot** access.' in: query name: services.ftp.enabled required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: "The Subaccount's FTP home directory.\n\n**Note:**\n\n This parameter is **required** if you enable FTP\ \ access.\n\nA relative path from the cPanel account's home directory.\n\n**Note:**\n\n The specified directory\ \ **must** exist." in: query name: services.ftp.homedir required: false schema: example: /Subaccount format: path type: string - description: 'Whether to grant the Subaccount Web Disk access. * `1` - Can access. * `0` - **Cannot** access.' in: query name: services.webdisk.enabled required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: "Whether to enable Web Disk digest authentication.\n\n**Notes:**\n\n * **Only** enable Digest Authentication\ \ for clients that require additional compatibility support on certain versions of Windows® operating systems. This\ \ compatibility support is **only** required on servers that use a self-signed certificate for the `cpsrvd` and\ \ `cpdavd` daemons.\n * We recommend that you do **not** use Digest Authentication.\n\n\n* `1` - Enabled\n* `0`\ \ - Disabled." in: query name: services.webdisk.enabledigest required: false schema: default: 0 enum: - 0 - 1 example: 0 type: integer - description: "The Subaccount's Web Disk home directory.\n\n**Note:**\n\n This parameter is **required** if you enable\ \ Web Disk access.\n\nA relative path from the cPanel account's home directory." in: query name: services.webdisk.homedir required: false schema: example: /Subaccount format: path type: string - description: "Whether to grant write permissions to the Subaccount.\n\n**Note:**\n\n The `services.webdisk.homedir`\ \ parameter determines the Subaccount's Web Disk home directory.\n\n* `ro` - Read-only permissions.\n* `rw` - Read\ \ and write permissions." in: query name: services.webdisk.perms required: false schema: default: rw enum: - ro - rw example: rw type: string - description: 'Whether to set the Web Disk directory''s permissions to public or private. * `1` - Private (`0700`). * `0` - Public (`0755`).' in: query name: services.webdisk.private required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: 'The type of account. * `sub` - A Subaccount.' in: query name: type required: false schema: default: sub enum: - sub example: sub 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_user type: string module: description: The name of the module called. example: UserManager type: string result: properties: data: allOf: - $ref: '#/components/schemas/EditUserSubaccountBase' - $ref: '#/components/schemas/SubaccountMergeCandidates' properties: dismissed_merge_candidates: description: An array of objects of service candidates that the system dismissed from merges. items: $ref: '#/components/schemas/SubaccountMergeCandidates' 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 Subaccount settings tags: - UserManager - Subaccount Management x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n UserManager \\\n edit_user \\\n domain='example.com'\ \ \\\n password='12345luggage' \\\n username='example'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/UserManager/edit_user?domain=example.com&password=12345luggage&username=example - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file UserManager_edit_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//\n# to\ \ .../frontend//api_examples/UserManager_edit_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/UserManager/,\n q/edit_user/,\n {\n 'domain' => 'example.com',\n 'password'\ \ => '12345luggage',\n '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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file UserManager_edit_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//\n\ // to .../frontend//api_examples/UserManager_edit_user.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'UserManager',\n 'edit_user',\n array (\n 'domain'\ \ => 'example.com',\n 'password' => '12345luggage',\n '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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 54 /UserManager/list_users: get: x-readonly: true description: This function lists the cPanel account's Subaccounts. operationId: UserManager-list_users parameters: - description: 'Whether to return Subaccounts with the same name under the merge_candidates array. * `1` - Do **not** return. * `0` - Return.' in: query name: flat 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_users type: string module: description: The name of the module called. example: UserManager type: string result: properties: data: items: 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. * `1` - Can delete. * `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. * `1` - Can change. * `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 dismissed_merge_candidates: description: An array of objects containing information about service candidates that the system dismissed from merges. example: [] items: type: string type: array 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 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. * `1` - Expired account invitation exists. * `0` - Expired account invitation does **not** exist.' enum: - 0 - 1 example: 0 type: integer has_invite: description: 'Whether an account login invitation exists. * `1` - Account invitation exists. * `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. * `1` - Shares. * `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 format: megabytes minimum: 1 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 - warning - info example: info type: string used: description: The number of megabytes (MB) that the account currently uses. example: 2000 format: megabytes type: integer type: object type: array merge_candidates: description: An array of objects that represents the service accounts that the system could merge for this subaccount. example: [] items: type: string type: array parent_type: description: 'The type of account that could own the service account. * `sub` - A subaccount. * `hypothetical` - A hypothetical subaccount that does **not** yet exist, but the user could create as part of a merge. * `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](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. example: John Doe type: string services: description: An object containing information about the subaccount's access to email, FTP, and Web Disk. properties: email: description: An object containing the information that indicates the subaccount's email status. properties: enabled: description: 'Whether the subaccount can access Webmail, POP, and IMAP services. * `1` - Can access. * `0` - **Cannot** access.' enum: - 0 - 1 example: 1 type: integer quota: description: The maximum amount of disk space allocated to subaccount's email account. example: 100 format: megabytes minimum: 1 type: integer type: object ftp: description: An object containing the information that indicates the subaccount's FTP status. properties: enabled: description: 'Whether the subaccount can access FTP. * `1` - Can access. * `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. example: /subaccount format: path type: string quota: description: 'The subaccount''s FTP disk space quota. * `0` - Unlimited.' example: 100 format: megabytes maximum: 999999 minimum: 0 type: integer type: object special: description: 'Whether the account is a system-created special account that the user cannot remove. * `1` - A special account. * `0` - **Not** a special account.' enum: - 0 - 1 example: 1 type: integer webdisk: description: An object containing information that indicates the subaccount's Web Disk status. properties: enabled: description: 'Whether the subaccount can access Web Disk. * `1` - Can access. * `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 to grant write permissions to the subaccount. * `ro` - Read-only permissions. * `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. * `1` - Private (0700). * `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. * `1` — A special account. * `0` — **Not** a special account.' enum: - 0 - 1 example: 0 type: integer sub_account_exists: description: 'Whether a subaccount exists with the same username. * `1` - Exists. * `0` - Does **not** exist. **Note:** The 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. * `1` - Synchronized. * `0` - Not synchronized. **Note:** The 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. * `sub` - A subaccount. * `hypothetical` - A hypothetical subaccount that does not exist, but that the user could create as part of a merge. * `service` - A service account. * `cpanel` - The cPanel account.' enum: - sub - hypothetical - service - cpanel example: sub type: string username: description: 'The username for the subaccount. A username that meets the subaccount name limitations. - Length 64 characters. - Characters a-z, A-Z, 0-9, dot (.), hyphen (-), underscore (_). **Note:** This value does **not** include the domain name.' example: example maxLength: 64 minLength: 1 pattern: ^[\w\.]{1,64}$ 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 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 cPanel account's Subaccounts tags: - UserManager - Subaccount Management x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n UserManager \\\n list_users\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/UserManager/list_users - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file UserManager_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//\n# \ \ to .../frontend//api_examples/UserManager_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/UserManager/,\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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file UserManager_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//\n\ // to .../frontend//api_examples/UserManager_list_users.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'UserManager',\n 'list_users'\n);\n\n// Handle the response\n\ if ($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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 54 /UserManager/lookup_service_account: get: x-readonly: true description: This function lists a service account's information. operationId: UserManager-lookup_service_account parameters: - description: The full username for the system account. in: query name: full_username required: true schema: example: username@example.com type: string - description: 'The type of system account. * `email` * `ftp` * `webdisk`' in: query name: type required: true schema: enum: - email - ftp - webdisk 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: lookup_service_account type: string module: description: The name of the module called. example: UserManager type: string result: properties: data: allOf: - $ref: '#/components/schemas/LookupServiceAccountSubaccountBase' - $ref: '#/components/schemas/LookupServiceAccountSubaccountMergeCandidates' properties: dismissed_merge_candidates: description: An array of objects of service candidates that the system dismissed from merges. items: $ref: '#/components/schemas/LookupServiceAccountSubaccountMergeCandidates' 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 service account's information tags: - UserManager - Subaccount Management x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n UserManager \\\n lookup_service_account \\\n type='email'\ \ \\\n full_username='username@example.com'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/UserManager/lookup_service_account?type=email&full_username=username%40example.com - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file UserManager_lookup_service_account.live.pl and put this code into that\ \ file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend//\n\ # to .../frontend//api_examples/UserManager_lookup_service_account.live.pl\n#--------------------------------------------------------------------------------------\n\ \nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this\ \ once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response =\ \ $cpanel->uapi(\n q/UserManager/,\n q/lookup_service_account/,\n {\n 'type' => 'email',\n \ \ 'full_username' => '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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file UserManager_lookup_service_account.live.php and put this code into that\ \ file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend//\n\ // to .../frontend//api_examples/UserManager_lookup_service_account.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'UserManager',\n 'lookup_service_account',\n array (\n \ \ 'type' => 'email',\n 'full_username' => 'username@example.com',\n )\n);\n\n// Handle the response\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 54 /UserManager/lookup_user: get: x-readonly: true description: This function lists a single Subaccount's information. operationId: UserManager-lookup_user parameters: - description: The Subaccount's unique identifier. in: query name: guid required: true schema: example: EXAMPLE1:EXAMPLE.COM:564CD663%3AFE50072F2620B50988EA4E5F46022546FBE6BDDE3C36C2F2534F4967C661EC37 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_user type: string module: description: The name of the module called. example: UserManager type: string result: properties: data: allOf: - $ref: '#/components/schemas/ServiceAccount' - properties: dismissed_merge_candidates: description: An array of service account objects that the system dismissed from merges. items: $ref: '#/components/schemas/ServiceAccount' type: array has_expired_invite: description: 'Whether an expired account login invitation exists. * `1` - Expired account invitation exists. * `0` - Expired account invitation does not exist.' enum: - 0 - 1 example: 0 type: integer has_invite: description: 'Whether an account login invitation exists. * `1` - Account invitation exists. * `0` - Account invitation does not exist.' enum: - 0 - 1 example: 0 type: integer invite_expiration: description: When the invitation expires. example: 1591718154 format: unix_timestamp nullable: true 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 Subaccount's information tags: - UserManager - Subaccount Management x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n UserManager \\\n lookup_user \\\n guid='EXAMPLE1:EXAMPLE.COM:564CD663%3AFE50072F2620B50988EA4E5F46022546FBE6BDDE3C36C2F2534F4967C661EC37'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/UserManager/lookup_user?guid=EXAMPLE1%3aEXAMPLE.COM%3a564CD663%253AFE50072F2620B50988EA4E5F46022546FBE6BDDE3C36C2F2534F4967C661EC37 - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file UserManager_lookup_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//\n# \ \ to .../frontend//api_examples/UserManager_lookup_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/UserManager/,\n q/lookup_user/,\n {\n 'guid' => 'EXAMPLE1:EXAMPLE.COM:564CD663%3AFE50072F2620B50988EA4E5F46022546FBE6BDDE3C36C2F2534F4967C661EC37',\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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file UserManager_lookup_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//\n\ // to .../frontend//api_examples/UserManager_lookup_user.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'UserManager',\n 'lookup_user',\n array (\n 'guid'\ \ => 'EXAMPLE1:EXAMPLE.COM:564CD663%3AFE50072F2620B50988EA4E5F46022546FBE6BDDE3C36C2F2534F4967C661EC37',\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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 54 /UserManager/merge_service_account: get: x-readonly: false x-rollback: none description: 'This function links service accounts to subaccounts and creates a subaccount if one does not exist. **Note:** You can only link email, FTP, or Web Disk accounts. **Important** You must use at least **one** of the following parameters: * services.email.merge * services.ftp.merge * services.webdisk.merge To link multiple service accounts, the service accounts **must** share the same username and domain.' operationId: UserManager-merge_service_account parameters: - description: The service account's associated domain. in: query name: domain required: true schema: example: example.com format: domain type: string - description: 'The username for the service account that meets the account name limitations. * Length - 64 characters * Characters — `a-z`, `A-Z`, `0-9`, dot (`.`), hyphen (`-`), underscore (`_`). **Note:** This value does **not** include the domain name.' in: query name: username required: true schema: example: example format: username type: string - description: 'Whether to link the email account to the subaccount. * `1` - Merge. * `0` - Do **not** merge.' in: query name: services.email.merge required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: 'Whether to link the FTP account to the subaccount. * `1` - Merge. * `0` - Do **not** merge.' in: query name: services.ftp.merge required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: 'Whether to link the Web Disk account to the subaccount. * `1` - Merge. * `0` - Do **not** merge.' in: query name: services.webdisk.merge 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: merge_service_account type: string module: description: The name of the module called. example: UserManager type: string result: properties: data: 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. * `1` - Can delete. * `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. * `1` - Can change. * `0` - **Cannot** change. **Note:** 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. * `1` - Can change. * `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. **Note:** Only service accounts return this value. * `1` - Dismissed. * `0` - Did **not** dismiss.' enum: - 0 - 1 example: 1 type: integer dismissed_merge_candidates: description: An array of objects of service candidates that the system dismissed from merges. items: 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. * `1` - Can delete. * `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. * `1` - Can change. * `0` - **Cannot** change. **Note:** 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. * `1` - Can change. * `0` - **Cannot** change.' enum: - 0 - 1 example: 0 type: integer domain: description: The subaccount user's associated 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 format: email type: string guid: description: The subaccount unique identifier. The system assigned unique value. example: N4641:EXAMPLE.COM:564CC8A7:A82EA007D8348AC631C0170F9418EC1DEB0D164CC5A722A87C55EF5DD2AD98D4 type: string has_siblings: description: 'Whether the service account shares a `full_username` value with another service account. * `1` - Shares. * `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. * `email` * `ftp` * `webdisk`' enum: - email - ftp - webdisk example: email type: string type: description: 'The type of issue. * `error` * `warning` * `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. * `sub` - A subaccount. * `hypothetical` - A hypothetical subaccount that does not yet exist, but the user could create as part of a merge. * `null` - **Not** a merge candidate.' enum: - sub - hypothetical example: hypothetical nullable: true type: string phone_number: description: The subaccount user's phone number. example: '+15551234567' type: string real_name: description: 'The name of the subaccount''s user. * A first name. * Last name. * First name and last name. * 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. * `1` - Can access. * `0` - **Cannot** access.' enum: - 0 - 1 example: 1 type: integer quota: description: 'The maximum amount of disk space allocated to subaccount''s email account. A positive integer that represents the maximum disk space that the subaccount may use, in megabytes (MB). **Note:** 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. * `1` - Can access. * `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 subaccount''s FTP disk space quota. * >= `1` - Represents the maximum disk space that the subaccount may use, in megabytes (MB). * `0` - Unlimited.' example: 100 maximum: 999999 minimum: 0 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. * `1` - Can access. * `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. * `ro` - Read-only permissions. * `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. * `1` - Private (0700). * `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. * `1` - A special account. * `0` - **Not** a special account.' enum: - 0 - 1 example: 1 type: integer sub_account_exists: description: 'Whether a subaccount exists with the same username. * `1` - Exists. * `0` - Does **not** exist. **Note:** The 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. * `1` - Synchronized. * `0` - **Not** synchronized. **Note:** The 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. * `sub` - A subaccount. * `hypothetical` - A hypothetical subaccount that does **not** exist, but that the user could create as part of a merge. * `service` - A service account. * `cpanel` - The cPanel account.' enum: - sub - hypothetical - service - cpanel example: sub type: string username: description: The username for the subaccount. example: example format: username type: string type: object type: array domain: description: The subaccount user's associated domain. A 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 format: email type: string guid: description: The subaccount unique identifier. The system assigned unique value. example: N4641:EXAMPLE.COM:564CC8A7:A82EA007D8348AC631C0170F9418EC1DEB0D164CC5A722A87C55EF5DD2AD98D4 type: string has_expired_invite: description: 'Whether an expired account login invitation exists. * `1` - Expired account invitation exists. * `0` - Expired account invitation does **not** exist.' enum: - 0 - 1 example: 0 type: integer has_invite: description: 'Whether an account login invitation exists. * `1` - Account invitation exists. * `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. * `1` - Shares. * `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 minimum: 1 type: integer message: description: The description of the issue. example: Your account is over quota. type: string service: description: 'The affected service. * `email` * `ftp` * `webdisk`' enum: - email - ftp - webdisk example: email type: string type: description: 'The type of issue. * `error` * `warning` * `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 merge_candidates: description: An array of objects that represents the service accounts that the system could merge for this subaccount. items: 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. * `1` - Can delete. * `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. * `1` - Can change. * `0` - **Cannot** change. **Note:** 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. * `1` - Can change. * `0` - **Cannot** change.' enum: - 0 - 1 example: 0 type: integer domain: description: The subaccount user's associated domain. A 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 format: email type: string guid: description: The subaccount unique identifier. The system assigned unique value. example: N4641:EXAMPLE.COM:564CC8A7:A82EA007D8348AC631C0170F9418EC1DEB0D164CC5A722A87C55EF5DD2AD98D4 type: string has_siblings: description: 'Whether the service account shares a `full_username` value with another service account. * `1` - Shares. * `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. * `email` * `ftp` * `webdisk`' enum: - email - ftp - webdisk example: email type: string type: description: 'The type of issue. * `error` * `warning` * `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. * `sub` - A subaccount. * `hypothetical` - A hypothetical subaccount that does **not** yet exist, but the user could create as part of a merge. * `null` - Not a merge candidate.' enum: - sub - hypothetical example: hypothetical nullable: true type: string phone_number: description: The subaccount user's phone number. example: '+15551234567' type: string real_name: description: 'The name of the subaccount''s user. * A first name. * Last name. * First name and last name. * 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. * `1` - Can access. * `0` - **Cannot** access.' enum: - 0 - 1 example: 1 type: integer quota: description: 'The maximum amount of disk space allocated to subaccount''s email account. A positive integer that represents the maximum disk space that the subaccount may use, in megabytes (MB). **Note:** 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. * `1` - Can access. * `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 subaccount''s FTP disk space quota. * >= `1` - Represents the maximum disk space that the subaccount may use, in megabytes (MB). * `0` - Unlimited.' example: 100 maximum: 999999 minimum: 0 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. * `1` - Can access. * `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. * `ro` - Read-only permissions. * `rw` - Read and write permissions.' example: rw type: string private: description: 'Whether to set the Web Disk directory''s permissions to public or private. * `1` - Private (0700). * `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. * `1` - A special account. * `0` - **Not** a special account.' enum: - 0 - 1 example: 1 type: integer sub_account_exists: description: 'Whether a subaccount exists with the same username. * `1` - Exists. * `0` - Does **not** exist. **Note:** The 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. * `1` - Synchronized. * `0` - **Not** synchronized. **Note:** The 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. * `sub` - A subaccount. * `hypothetical` - A hypothetical subaccount that does **not** exist, but that the user could create as part of a merge. * `service` - A service account. * `cpanel` - The cPanel account.' enum: - sub - hypothetical - service - cpanel example: sub type: string username: description: 'The username for the service account that meets the account name limitations. * Length - 64 characters * Characters — `a-z`, `A-Z`, `0-9`, dot (`.`), hyphen (`-`), underscore (`_`). **Note:** This value does **not** include the domain name.' example: example format: username type: string type: object type: array parent_type: description: 'The type of account that could own the service account. * `sub` - A subaccount. * `hypothetical` - A hypothetical subaccount that does **not** yet exist, but the user could create as part of a merge. * `null` - Not a merge candidate.' enum: - sub - hypothetical example: hypothetical nullable: true type: string phone_number: description: The subaccount user's phone number. example: '+15551234567' type: string real_name: description: 'The name of the subaccount''s user. * A first name. * Last name. * First name and last name. * 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. * `1` - Can access. * `0` - **Cannot** access.' enum: - 0 - 1 example: 1 type: integer quota: description: 'The maximum amount of disk space allocated to subaccount''s email account. A positive integer that represents the maximum disk space that the subaccount may use, in megabytes (MB). **Note:** 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. * `1` - Can access. * `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 subaccount''s FTP disk space quota. * >= `1` - Represents the maximum disk space that the subaccount may use, in megabytes (MB). * `0` - Unlimited.' example: 100 maximum: 999999 minimum: 0 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. * `1` - Can access. * `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. * `ro` - Read-only permissions. * `rw` - Read and write permissions.' example: rw type: string private: description: 'Whether to set the Web Disk directory''s permissions to public or private. * `1` - Private (0700). * `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. * `1` - A special account. * `0` - **Not** a special account.' enum: - 0 - 1 example: 1 type: integer sub_account_exists: description: 'Whether a subaccount exists with the same username. * `1` - Exists. * `0` - Does **not** exist. **Note:** The 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. * `1` - Synchronized. * `0` - **Not** synchronized. **Note:** The 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. * `sub` - A subaccount. * `hypothetical` - A hypothetical subaccount that does **not** exist, but that the user could create as part of a merge. * `service` - A service account. * `cpanel` - The cPanel account.' example: sub type: string username: description: 'The username for the subaccount. The username for the service account that meets the account name limitations. * Length - 64 characters * Characters — `a-z`, `A-Z`, `0-9`, dot (`.`), hyphen (`-`), underscore (`_`). **Note:** This value does **not** include the domain name.' example: example 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 * `0` - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 service account to Subaccount tags: - UserManager - Subaccount Management x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n UserManager \\\n merge_service_account \\\n username='example'\ \ \\\n domain='example.com'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/UserManager/merge_service_account?username=example&domain=example.com - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file UserManager_merge_service_account.live.pl and put this code into that file.\n\ # 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend//\n\ # to .../frontend//api_examples/UserManager_merge_service_account.live.pl\n#--------------------------------------------------------------------------------------\n\ \nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this\ \ once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response =\ \ $cpanel->uapi(\n q/UserManager/,\n q/merge_service_account/,\n {\n 'username' => 'example',\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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file UserManager_merge_service_account.live.php and put this code into that\ \ file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend//\n\ // to .../frontend//api_examples/UserManager_merge_service_account.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'UserManager',\n 'merge_service_account',\n array (\n \ \ 'username' => 'example',\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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 54 /UserManager/unlink_service_account: get: x-readonly: false x-rollback: none description: This function unlinks a service account from a subaccount. operationId: UserManager-unlink_service_account parameters: - description: The subaccount's associated domain. in: query name: domain required: true schema: example: example.com format: domain type: string - description: 'The service to unlink. * `email` * `ftp` * `webdisk`' in: query name: service required: true schema: enum: - email - ftp - webdisk example: ftp type: string - description: 'The subaccount''s username. **Note:** This value does **not** include the domain name.' in: query name: username required: true schema: example: example format: username type: string - description: "Whether to dismiss the service account as a merge candidate.\n* `1` - Dismiss as merge candidate.\n\ * `0` - Display as merge candidate.\n\n**Note:**\n\n If any email, FTP, or Web Disk accounts use the same username,\ \ cPanel's [*User Manager*](https://go.cpanel.net/cpaneldocsUserManager) interface (*cPanel >> Home >> Preferences\ \ >> User Manager*) allows you to merge those accounts into a subaccount." in: query name: dismiss 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: unlink_service_account type: string module: description: The name of the module called. example: UserManager 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 * `0` - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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 service account from Subaccount tags: - UserManager - Subaccount Management x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n UserManager \\\n unlink_service_account \\\n username='example'\ \ \\\n domain='example.com' \\\n service='ftp'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/UserManager/unlink_service_account?username=example&domain=example.com&service=ftp - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file UserManager_unlink_service_account.live.pl and put this code into that\ \ file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend//\n\ # to .../frontend//api_examples/UserManager_unlink_service_account.live.pl\n#--------------------------------------------------------------------------------------\n\ \nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this\ \ once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response =\ \ $cpanel->uapi(\n q/UserManager/,\n q/unlink_service_account/,\n {\n 'username' => 'example',\n\ \ 'domain' => 'example.com',\n 'service' => 'ftp',\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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file UserManager_unlink_service_account.live.php and put this code into that\ \ file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend//\n\ // to .../frontend//api_examples/UserManager_unlink_service_account.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'UserManager',\n 'unlink_service_account',\n array (\n \ \ 'username' => 'example',\n 'domain' => 'example.com',\n 'service' => 'ftp',\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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 56 /UserTasks/delete: get: x-readonly: false x-rollback: none description: 'This function deletes a process from the user task queue. Each cPanel account uses a separate user task queue in order to ensure that processes for one user do not impede another user on the server. * For example, the [*Git Version Control*](https://go.cpanel.net/GitVersionControl) interface (*cPanel >> Home >> Files >> Git Version Control*) uses the user task queue to clone repositories (via the `VersionControl::create` function). * For more information, read our [Task Queue Monitor](https://go.cpanel.net/whmdocsTaskQueueMonitor) documentation.' operationId: UserTasks-delete parameters: - description: The task's ID number. in: query name: id required: true schema: example: 00000000\/5a9ec8dd4c345d 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: UserTasks 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. * `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: Remove item from task queue tags: - UserTasks - SSE Task Management x-codeSamples: - label: CLI lang: Shell source: uapi --output=jsonpretty --user=username UserTasks delete id='00000000\/5a9ec8dd4c345d' - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/UserTasks/delete?id=00000000%5c%2f5a9ec8dd4c345d - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file UserTasks_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//\n# to .../frontend//api_examples/UserTasks_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/UserTasks/,\n\ \ q/delete/,\n {\n 'id' => '00000000\\/5a9ec8dd4c345d',\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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file UserTasks_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//\n// \ \ to .../frontend//api_examples/UserTasks_delete.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'UserTasks',\n 'delete',\n array (\n 'id' => '00000000\\\ /5a9ec8dd4c345d',\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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 72 /UserTasks/retrieve: get: x-readonly: true description: 'This function retrieves a cPanel account''s user task queue information. Each cPanel account uses a separate user task queue in order to ensure that processes for one user do not impede another user on the server. * For example, the [*Git Version Control*](https://go.cpanel.net/GitVersionControl) interface (*cPanel >> Home >> Files >> Git Version Control*) uses the user task queue to clone repositories (via the `VersionControl::create` function). * For more information, read our [Task Queue Monitor](https://go.cpanel.net/whmdocsTaskQueueMonitor) documentation.' operationId: UserTasks-retrieve 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: retrieve type: string module: description: The name of the module called. example: UserTasks type: string result: properties: data: description: An array of objects containing data for a task in the user task queue. example: - action: create args: {} id: 00000000\/5a9ec8dd4c345d subsystem: VersionControl - action: create args: repository_root: /home/user/public_html/example id: 00000000/h39dnn27suc13l subsystem: VersionControl items: properties: action: description: 'The task''s action. * `create` **Note:** `create` is the only possible value.' enum: - create example: create type: string args: description: 'An object containing one or more action- and subsystem-specific arguments, if any exist. For example, a task that returns an `action` value of `create` and a `subsystem` value of `VersionControl` will include the `repository_root` argument.' properties: repository_root: description: The absolute path to the repostiory's `root` directory. type: string type: object id: description: The task's ID number. example: 00000000\/5a9ec8dd4c345d type: string subsystem: description: 'The subsystem that will handle the process. * `VersionControl` **Note:** `VersionControl` is the only possible value.' enum: - VersionControl example: VersionControl 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. * `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 task queue information tags: - UserTasks - SSE Task Management x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n UserTasks \\\n retrieve\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/UserTasks/retrieve - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file UserTasks_retrieve.live.pl and put this code into that file.\n# 5) In your\ \ browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend//\n# to .../frontend//api_examples/UserTasks_retrieve.live.pl\n\ #--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI\ \ ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint\ \ \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n q/UserTasks/,\n\ \ q/retrieve/\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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file UserTasks_retrieve.live.php and put this code into that file.\n// 5)\ \ In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend//\n//\ \ to .../frontend//api_examples/UserTasks_retrieve.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'UserTasks',\n 'retrieve'\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}\n\ else {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 72 /Users/change_password: get: x-readonly: false x-rollback: none description: This function updates the cPanel account's password. operationId: Users-change_password parameters: - description: The new password. in: query name: newpass required: true schema: example: MyNewPassw0rd! format: password type: string - description: The current password. in: query name: oldpass required: true schema: example: ThisWasMyPassword! format: password type: string - description: "Whether to use Digest Authentication.\n* `1` - Use Digest Auth.\n* `0` - Do not use Digest Auth.\n\n\ **Note:**\n\n* Windows® Vista, Windows® 7, Windows® 8, and Windows® 10 require that you use Digest Authentication\n\ \ in order to access your Web Disk over a clear text, unencrypted connection." in: query name: enabledigest required: false schema: enum: - 0 - 1 example: 0 type: integer - description: 'Whether to update the cPanel account''s MySQL password. * `1` - Update MySQL password. * `0` - Do not update MySQL password.' in: query name: enablemysql 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: change_password type: string module: description: The name of the module called. example: Users 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 * `0` - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 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 cPanel account password tags: - Users - Account Management x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n Users \\\n change_password \\\n oldpass='MyPreviousPassword'\ \ \\\n newpass='MyUpdatedPassword'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/Users/change_password?oldpass=12346=newpass=ThisIs4It! - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file Users_change_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//\n# to\ \ .../frontend//api_examples/Users_change_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/Users/,\n q/change_password/,\n {\n 'oldpass' => 'PreviousPassword',\n \ \ 'newpass' => 'B3tt3rP4ssw0rd!',\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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file Users_change_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//\n\ // to .../frontend//api_examples/Users_change_password.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'Users',\n 'change_password',\n array (\n 'oldpass'\ \ => 'PreviousPassword',\n 'newpass' => 'B3tt3rP4ssw0rd!',\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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: 116 /Variables/get_server_information: get: x-readonly: true description: This function retrieves the configuration settings for the cPanel & WHM server on which an account exists. This is useful, for example, to verify which applications and functionality are available on the account. operationId: Variables-get_server_information parameters: - description: "The server configuration settings to return.\n\n
\nClick to view information about\ \ the available server configuration settings.\n\n* `default_theme` - The cPanel interface's default theme.\n\ * `email_filter_storage_directory` - The location of the Exim email filter storage directory.\n* `allow_park_subdomain_on_hostname`\ \ - Whether the system allows users to park subdomains of the server's hostname.\n* `allow_remote_domains` - Whether\ \ the system allows users to create addon domains or aliases that resolve to other servers.\n* `allow_unregistered_domains`\ \ - Whether the system allows users to add domains they didn't register with a domain name registrar.\n* `apache_port`\ \ - The IP address or IP address with a firewall port number that Apache® uses to listen for requests and serve\ \ web pages over an unsecured connection.\n* `apache_ssl_port` - The port or IP address that Apache uses to listen\ \ for requests and serve web pages over a secure connection.\n* `api_shell` - Whether the user can access cPanel's\ \ [*API Shell*](https://go.cpanel.net/cpaneldocsAPIShell) interface (*cPanel >> Home >> Advanced >> API Shell*).\n\ * `awstats_browser_update` - Whether the user can update their [AWStats](http://awstats.sourceforge.net/) software.\n\ * `awstats_reverse_dns` - Whether the AWStats statistical analysis software interprets visitors' domain names as\ \ IP addresses.\n* `cpanel_root_directory` - The cPanel `root` directory.\n* `database_prefix_required` - Whether\ \ the account requires database prefixing.\n* `display_cpanel_doclinks` - Whether the system displays links to cPanel\ \ feature documentation in the cPanel interface.\n* `dnsadmin_app` - The application that processes DNS management\ \ requests.\n* `empty_trash_days` - The minimum age of files that the system will automatically purge from `.trash`\ \ folders in user home directories.\n* `enable_file_protect` - Whether [EasyApache 4's *FileProtect* option](https://go.cpanel.net/EasyApache4FileprotectOption)\ \ is enabled.\n* `file_upload_maximum_bytes` - The maximum file size, in megabytes (MB), that a user can upload\ \ to a server.\n* `file_upload_must_leave_bytes` - The minimum filesystem quota that the system requires after a\ \ file uploads to a server.\n* `file_usage` - Whether file usage information displays in the cPanel *Home* interface's\ \ statistics bar.\n* `ftp_server` - The FTP server.\n* `htaccess_check_recurse` - The maximum number of directories\ \ deep to look for `.htaccess` files when you change the PHP handler.\n* `invite_sub` - Whether cPanel account users\ \ can send invitations to new Subaccount users via cPanel's [*User Manager*](https://go.cpanel.net/cpaneldocsUserManager)\ \ interface (*cPanel >> Home >> Preferences >> User Manager*).\n* `ipv6_listen` - Whether the `cpsrvd` daemon and\ \ other cPanel & WHM services listen on IPv6.\n* `local_nameserver_type` - The DNS nameserver's type.\n* `logout_redirect_url`\ \ - The logout redirection URL.\n* `mailbox_storage_format` - The mailbox storage format for new accounts.\n* `mail_server`\ \ - The mailserver type.\n* `minimum_password_strength` - The minimum strength for cPanel account passwords. \n\ * `minimum_password_strength_mysql` - The minimum strength for MySQL® or MariaDB® passwords.\n* `mysql_host` - The\ \ MySQL or MariaDB hostname or IP address.\n* `mysql_version` - The MySQL or MariaDB version.\n* `php_maximum_execution_time`\ \ - The number of seconds that a PHP script can run before the system terminates it.\n* `php_post_maximum_size`\ \ - The maximum size, in megabytes (MB), of a POST request.\n* `php_system_default_version` - The system's default\ \ version of PHP.\n* `php_upload_maximum_filesize` - The maximum file size, in megabytes (MB), that a PHP script\ \ may upload.\n* `php_loader` - The PHP loaders through which the system executes internal PHP scripts.\n* `php_open_basedir_home`\ \ - Whether PHP `open_basedir` protection is enabled on the server.\n* `phpmyadmin_disable_search_info_schema` -\ \ Whether the user can search for the phpMyAdmin information schema.\n* `docroots_in_public_html_only` - Whether\ \ the system restricts users from creating addon domains and subdomains outside of their `public_html` directory.\n\ * `require_ssl` - Whether the system requires passwords and other sensitive information use SSL encryption.\n* `allow_reset_password`\ \ - Whether cPanel's [*Reset Password*](https://go.cpanel.net/resetsubaccountpass) feature is enabled for the account.\n\ * `allow_reset_password_for_subaccounts` - Whether cPanel's [*Reset Password*](https://go.cpanel.net/resetsubaccountpass)\ \ feature is enabled for subaccounts on the account.\n* `disable_analog` - Whether users can access the [*Analog\ \ Stats*](https://go.cpanel.net/cpaneldocsAnalogStats) interface (*cPanel >> Home >> Metrics >> Analog Stats*).\n\ * `skip_apache_clients_optimizer` - Whether the Apache Client Optimizer is enabled.\n* `disable_awstats` - Whether\ \ the [AWStats](http://awstats.sourceforge.net/) software is enabled.\n* `skip_mailbox_warnings_check` - Whether\ \ mailbox usage warnings are enabled.\n* `disable_boxtrapper` - Whether [*BoxTrapper*](https://go.cpanel.net/cpaneldocsBoxTrapper)\ \ is enabled.\n* `skip_bandwidth_limit_check` - Whether the system automatically suspends HTTP service for accounts\ \ that exceed their bandwidth limit.\n* `disable_mailman` - Whether Mailman mailing lists are enabled.\n* `disable_roundcube`\ \ - Whether [Roundcube webmail](https://roundcube.net/) is enabled.\n* `disable_spamassassin` - Whether the Apache\ \ SpamAssassin™ spam filter is enabled.\n* `disable_spambox` - Whether Apache SpamAssassin's spam box feature is\ \ enabled.\n* `disable_webalizer` - Whether the [Webalizer](https://docs.cpanel.net/cpanel/metrics/webalizer/) statistics\ \ program is enabled.\n* `ssl_default_key_type` - The default SSL/TLS encryption algorithm used by the system.\n\ * `use_information_schema` - Whether the system uses the MySQL® `INFORMATION_SCHEMA` view. This view includes disk\ \ usage by all MySQL tables in the disk usage totals.\n* `use_mail_for_mailman_url` - Whether the system prefixes\ \ Mailman URLs with the `mail` prefix. For example, `http://mail.domain.com/mailman`.\n* `is_mod_userdir_enabled`\ \ - Whether the [Apache `mod_userdir` Tweak](https://go.cpanel.net/whmdocsApachemod_userdirTweak) is enabled.\n\ * `version` - The system's Linux® kernel version.\n
\n\n**Note:**\n\n* If you don't use this parameter,\ \ this function returns **all** of the server's configuration settings.\n* To retrieve multiple variables, increment\ \ this parameter. For example, `name-1=variable`, `name-2=variable`, `name-3=variable`." examples: multiple: summary: Get multiple configuration settings. value: name=allow_park_subdomain_on_hostname&name=allow_remote_domains&name=allow_reset_password single: summary: Get a single configuration setting. value: allow_park_subdomain_on_hostname in: query name: name required: false schema: enum: - default_theme - email_filter_storage_directory - allow_park_subdomain_on_hostname - allow_remote_domains - allow_unregistered_domains - apache_port - apache_ssl_port - api_shell - awstats_browser_update - awstats_reverse_dns - cpanel_root_directory - database_prefix_required - display_cpanel_doclinks - dnsadmin_app - empty_trash_days - enable_file_protect - file_upload_maximum_bytes - file_upload_must_leave_bytes - file_usage - ftp_server - htaccess_check_recurse - invite_sub - ipv6_listen - local_nameserver_type - logout_redirect_url - mailbox_storage_format - mail_server - minimum_password_strength - minimum_password_strength_mysql - mysql_host - mysql_version - php_maximum_execution_time - php_post_maximum_size - php_system_default_version - php_upload_maximum_filesize - php_loader - php_open_basedir_home - phpmyadmin_disable_search_info_schema - docroots_in_public_html_only - require_ssl - allow_reset_password - allow_reset_password_for_subaccounts - disable_analog - skip_apache_clients_optimizer - disable_awstats - skip_mailbox_warnings_check - disable_boxtrapper - skip_bandwidth_limit_check - disable_mailman - disable_roundcube - disable_spamassassin - disable_spambox - disable_webalizer - ssl_default_key_type - use_information_schema - use_mail_for_mailman_url - is_mod_userdir_enabled - version 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_server_information type: string module: description: The name of the module called. example: Variables type: string result: properties: data: properties: allow_park_subdomain_on_hostname: description: 'Whether the system allows users to park subdomains of the server''s hostname. * `1` - Allows. * `0` - Doesn''t allow.' enum: - 1 - 0 example: 0 nullable: true type: integer allow_remote_domains: description: 'Whether the system allows users to create addon domains or aliases that resolve to other servers. * `1` - Allows. * `0` - Doesn''t allow.' enum: - 1 - 0 example: 1 nullable: true type: integer allow_reset_password: description: 'Whether cPanel''s [*Reset Password*](https://go.cpanel.net/resetsubaccountpass) feature is enabled for the account. * `1` - *Reset Password* feature enabled. * `0` - *Reset Password* feature not enabled.' enum: - 1 - 0 example: 1 nullable: true type: integer allow_reset_password_for_subaccounts: description: 'Whether cPanel''s [*Reset Password*](https://go.cpanel.net/resetsubaccountpass) feature is enabled for subaccounts on the account. * `1` - *Reset Password* feature enabled. * `0` - *Reset Password* feature not enabled.' enum: - 1 - 0 example: 1 nullable: true type: integer allow_unregistered_domains: description: 'Whether the system allows users to add domains they didn''t register with a domain name registrar. * `1` - Allows. * `0` - Doesn''t allow.' enum: - 1 - 0 example: 1 nullable: true type: integer apache_port: description: The IP address or IP address with a firewall port number that Apache uses to listen for requests and serve web pages over an unsecured connection. example: 192.0.2.0:80 nullable: true type: string apache_ssl_port: description: The IP address or IP address with a firewall port number that Apache uses to listen for requests and serve web pages over a secure connection. example: 192.0.2.0:443 nullable: true type: string api_shell: description: 'Whether the user can access cPanel''s [*API Shell*](https://go.cpanel.net/cpaneldocsAPIShell) interface (*cPanel >> Home >> Advanced >> API Shell*). * `1` - Can access. * `0` - Can''t access.' enum: - 1 - 0 example: 0 nullable: true type: integer awstats_browser_update: description: 'Whether the user can update their [AWStats](http://awstats.sourceforge.net/) software. * `1` - Can update. * `0` - Can''t update.' enum: - 1 - 0 example: 0 nullable: true type: integer awstats_reverse_dns: description: 'Whether the AWStats statistical analysis software interprets visitors'' domain names as IP addresses. * `1` - Interprets visitors'' domain names as IP addresses. * `0` - Doesn''t interpret visitors'' domain names as IP addresses.' enum: - 1 - 0 example: 0 nullable: true type: integer cpanel_root_directory: description: The cPanel `root` directory. example: /usr/local/cpanel format: path nullable: true type: string database_prefix_required: description: 'Whether the account requires database prefixing. * `1` - Requires database prefixing. * `0` - Doesn''t require database prefixing.' enum: - 1 - 0 example: 1 nullable: true type: integer default_theme: description: The cPanel interface's default theme. example: jupiter nullable: true type: string disable_analog: description: 'Whether users can access the [*Analog Stats*](https://go.cpanel.net/cpaneldocsAnalogStats) interface (*cPanel >> Home >> Metrics >> Analog Stats*). * `1` - Enabled. * `0` - Not enabled.' enum: - 1 - 0 example: 0 nullable: true type: integer disable_awstats: description: 'Whether the [AWStats](http://awstats.sourceforge.net/) software is enabled. * `1` - Enabled. * `0` - Not enabled.' enum: - 1 - 0 example: 0 nullable: true type: integer disable_boxtrapper: description: 'Whether [*BoxTrapper*](https://go.cpanel.net/cpaneldocsBoxTrapper) is enabled. * `1` - Enabled. * `0` - Not enabled.' enum: - 1 - 0 example: 0 nullable: true type: integer disable_mailman: description: 'Whether Mailman mailing lists are enabled. * `1` - Enabled. * `0` - Not enabled.' enum: - 1 - 0 example: 0 nullable: true type: integer disable_roundcube: description: 'Whether [Roundcube webmail](https://roundcube.net/) is enabled. * `1` - Enabled. * `0` - Not enabled.' enum: - 1 - 0 example: 0 nullable: true type: integer disable_spamassassin: description: 'Whether the Apache SpamAssassin spam filter is enabled. * `1` - Enabled. * `0` - Not enabled.' enum: - 1 - 0 example: 0 nullable: true type: integer disable_spambox: description: 'Whether Apache SpamAssassin''s spam box feature is enabled. * `1` - Enabled. * `0` - Not enabled.' enum: - 1 - 0 example: 0 nullable: true type: integer disable_webalizer: description: 'Whether the [Webalizer](http://www.webalizer.org/) statistics program is enabled. * `1` - Enabled. * `0` - Not enabled.' enum: - 1 - 0 example: 0 nullable: true type: integer display_cpanel_doclinks: description: 'Whether the system displays links to cPanel feature documentation in the cPanel interface. * `1` - Displays documentation links. * `0` - Doesn''t display documentation links.' enum: - 1 - 0 example: 0 nullable: true type: integer dnsadmin_app: description: 'The application that processes DNS management requests. * The value is an application''s file path, relative to the user''s home directory. * `dnsadmin` * `auto-detect SSL`' example: dnsadmin nullable: true type: string anyOf: - description: The application's file path, relative to the user's home directory. type: string - enum: - dnsadmin - auto-detect SSL type: string docroots_in_public_html_only: description: 'Whether the system restricts users from creating addon domains and subdomains outside of their `public_html` directory. * `1` - Restricts users from creating addon domains and subdomains outside of their `public_html` directory. * `0` - Allows users to creating addon domains and subdomains outside of their `public_html` directory.' enum: - 1 - 0 example: 1 nullable: true type: integer email_filter_storage_directory: description: The location of the Exim email filter storage directory. example: /etc/vfilters format: path nullable: true type: string empty_trash_days: description: The minimum age of files that the system will automatically purge from `.trash` folders in user home directories. example: disabled nullable: true type: string enable_file_protect: description: 'Whether [EasyApache 4''s *FileProtect* option](https://go.cpanel.net/EasyApache4FileprotectOption) is enabled. * `1` - Enabled. * `0` - Not enabled.' enum: - 1 - 0 example: 1 nullable: true type: integer file_upload_maximum_bytes: description: The maximum file size, in megabytes (MB), that a user can upload to a server. example: null maximum: 10240 minimum: 1 nullable: true type: integer file_upload_must_leave_bytes: description: The minimum filesystem quota that the system requires after a file uploads to a server. example: 5 minimum: 1 nullable: true type: integer file_usage: description: 'Whether file usage information displays in the cPanel *Home* interface''s statistics bar. * `1` - Displays file usage information. * `0` - Doesn''t display file usage information.' enum: - 1 - 0 example: 0 nullable: true type: integer ftp_server: description: 'The FTP server. * `pure-ftpd` - The Pure-FTPD server. * `proftpd` - The ProFTPD FTP server. * `disabled` - FTP has been disabled on this server.' enum: - pure-ftpd - proftpd - disabled example: disabled nullable: true type: string htaccess_check_recurse: description: The maximum number of directories deep to look for `.htaccess` files when you change the PHP handler. example: 2 minimum: 0 nullable: true type: integer invite_sub: description: 'Whether cPanel account users can send invitations to new Subaccount users via cPanel''s [*User Manager*](https://go.cpanel.net/cpaneldocsUserManager) interface (*cPanel >> Home >> Preferences >> User Manager*). * `1` - Can send invitations. * `0` - Can''t send invitations.' enum: - 1 - 0 example: 1 nullable: true type: integer ipv6_listen: description: 'Whether the `cpsrvd` daemon and other cPanel & WHM services listen on IPv6. * `1` - Listen on IPv6. * `0` - Don''t listen on IPv6.' enum: - 1 - 0 example: 0 nullable: true type: integer is_mod_userdir_enabled: description: 'Whether the [Apache `mod_userdir` Tweak](https://go.cpanel.net/whmdocsApachemod_userdirTweak) is enabled. * `1` - Enabled. * `0` - Not enabled.' enum: - 1 - 0 example: 1 nullable: true type: integer local_nameserver_type: description: 'The DNS nameserver''s type. * `powerdns` - The PowerDNS nameserver. * `bind` - The bind nameserver. * `disabled` - Nameserver''s have been disabled on this server.' enum: - powerdns - bind - disabled example: powerdns nullable: true type: string logout_redirect_url: description: The logout redirection URL. example: https://cpanel.net format: url nullable: true type: string mail_server: description: 'The mailserver type. * `dovecot` - The Dovecot mailserver. * `disabled` - The mailserver is disabled on this system.' enum: - dovecot - disabled example: dovecot nullable: true type: string mailbox_storage_format: description: 'The mailbox storage format for new accounts. * `mdbox` - The mdbox storage format. * `maildir` - The maildir storage format.' enum: - mdbox - maildir example: maildir nullable: true type: string minimum_password_strength: description: The minimum strength for cPanel account passwords. example: 65 maximum: 100 minimum: 0 nullable: true type: integer minimum_password_strength_mysql: description: The minimum strength for MySQL or MariaDB passwords. example: 65 maximum: 100 minimum: 0 nullable: true type: integer mysql_host: description: The MySQL or MariaDB hostname or IP address. example: localhost type: string nullable: true oneOf: - format: domain type: string - format: ipv4 type: string mysql_version: description: The MySQL or MariaDB version. example: '5.7' nullable: true type: string php_loader: description: 'The PHP loaders through which the system executes internal PHP scripts. * `ioncube` - The ionCube PHP loader. * `sourceguardian` - The SourceGuardian PHP loader. * `ioncube,sourceguardian` - Both the ionCube and SourceGuardian PHP loaders are in use. * An emtpy string - PHP loader is not in use.' enum: - '' - ioncube - sourceguardian - ioncube,sourceguardian example: ioncube nullable: true type: string php_maximum_execution_time: description: The number of seconds that a PHP script can run before the system terminates it. example: 90 minimum: 90 nullable: true type: integer php_open_basedir_home: description: 'Whether PHP `open_basedir` protection is enabled on the server. * `1` - Enabled. * `0` - Not enabled. **Important:** We removed WHM''s *PHP open_basedir Tweak* interface (*WHM >> Home >> Security Center >> PHP open_basedir Tweak*)' enum: - 1 - 0 example: 0 nullable: true type: integer php_post_maximum_size: description: The maximum size, in megabytes (MB), of a POST request. example: 55 maximum: 2047 minimum: 55 nullable: true type: integer php_system_default_version: description: The system's default version of PHP. example: ea-php73 nullable: true type: string php_upload_maximum_filesize: description: The maximum file size, in megabytes (MB), that a PHP script may upload. example: 50 maximum: 2047 minimum: 50 nullable: true type: integer phpmyadmin_disable_search_info_schema: description: 'Whether the user can search for the phpMyAdmin information schema. * `1` - Searches are enabled. * `0` - Searches are **not** enabled.' enum: - 1 - 0 example: 0 nullable: true type: integer require_ssl: description: 'Whether the system requires passwords and other sensitive information use SSL encryption. * `1` - Requires SSL. * `0` - Doesn''t require SSL.' enum: - 1 - 0 example: 1 nullable: true type: integer skip_apache_clients_optimizer: description: 'Whether the Apache Client Optimizer is enabled. * `1` - Enabled. * `0` - Not enabled.' enum: - 1 - 0 example: 0 nullable: true type: integer skip_bandwidth_limit_check: description: 'Whether the system automatically suspends HTTP service for accounts that exceed their bandwidth limit. * `1` - Suspends HTTP service. * `0` - Doesn''t suspend HTTP service.' enum: - 1 - 0 example: 0 nullable: true type: integer skip_mailbox_warnings_check: description: 'Whether mailbox usage warnings are enabled. * `1` - Enabled. * `0` - Not enabled.' enum: - 1 - 0 example: 1 nullable: true type: integer ssl_default_key_type: description: 'The default SSL/TLS encryption algorithm used by the system. * `rsa-2048` - The rsa-2048 encryption algorithm. * `ecdsa-secp384r1` - The ecdsa-secp384r1 encryption algorithm. * `ecdsa-prime256v1` - The ecdsa-prime256v1 encryption algorithm. * `rsa-4096` - The rsa-4096 encryption algorithm.' enum: - rsa-2048 - ecdsa-secp384r1 - ecdsa-prime256v1 - rsa-4096 example: rsa-2048 nullable: true type: string use_information_schema: description: 'Whether the system uses the MySQL `INFORMATION_SCHEMA` view. This view includes disk usage by all MySQL tables in the disk usage totals. * `1` - Uses MySQL''s `INFORMATION_SCHEMA` view. * `0` - Doesn''t use MySQL''s `INFORMATION_SCHEMA` view.' enum: - 1 - 0 example: 1 nullable: true type: integer use_mail_for_mailman_url: description: 'Whether the system prefixes Mailman URLs with mail. For example, `http://mail.domain.com/mailman`. * `1` - Prefixes Mailman URLs with the `mail.` prefix. * `0` - Doesn''t prefix Mailman URLs with the `mail.` prefix.' enum: - 1 - 0 example: 0 nullable: true type: integer version: description: The system's Linux Kernel version. example: '3.4' 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 configuration settings tags: - cPanel Server Information - Variables x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n Variables \\\n get_server_information\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/Variables/get_server_information - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file Variables_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//\n\ # to .../frontend//api_examples/Variables_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/Variables/,\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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file Variables_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//\n\ // to .../frontend//api_examples/Variables_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\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'Variables',\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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 86 /Variables/get_session_information: get: x-readonly: true description: This function retrieves a web server's hostname. operationId: Variables-get_session_information parameters: - description: 'The web server environment variable to retrieve. You can **only** retrieve the web server''s hostname. * `host` is the only possible value.' in: query name: name required: false schema: default: host enum: - host example: host 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_session_information type: string module: description: The name of the module called. example: Variables type: string result: properties: data: properties: host: description: The web server's hostname. example: 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 hostname tags: - Variables - Login Information x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n Variables \\\n get_session_information\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/Variables/get_session_information - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file Variables_get_session_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//\n\ # to .../frontend//api_examples/Variables_get_session_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/Variables/,\n q/get_session_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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file Variables_get_session_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//\n\ // to .../frontend//api_examples/Variables_get_session_information.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'Variables',\n 'get_session_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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 86 /Variables/get_user_information: get: x-readonly: false x-rollback: none description: This function retrieves the user's account configuration settings. operationId: Variables-get_user_information parameters: - description: 'The user configuration variables to retrieve. If you don''t use this parameter, this function returns **all** of the user''s configuration data. **Note:** To retrieve multiple account configuration settings for a user, increment the parameter name. For example: `name-0`, `name-1`, and `name-2`.' examples: multiple: summary: Get multiple account configuration settings. value: name-1=mailbox_format&name-2=home&name-3=shell single: summary: Get a single account configuration setting. value: mailbox_format in: query name: name required: false schema: example: 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_user_information type: string module: description: The name of the module called. example: Variables type: string result: properties: data: properties: backup_enabled: description: 'Whether the user has backups enabled. * `1` - Backups enabled. * `0` - Backups not enabled.' enum: - 0 - 1 example: 1 type: integer bandwidth_limit: description: 'The account''s bandwidth limit. * `0` - unlimited * A maximum amount of bandwidth, in bytes.' example: 0 minimum: 0 type: integer cgi_enabled: description: 'Whether CGI is enabled. * `1` - Enabled. * `0` - Not enabled.' enum: - 0 - 1 example: 1 type: integer contact_email: description: The account's contact email address. example: user@example.com format: email type: string contact_email_2: description: The account's alternate contact email address, if one exists. example: user2@example.com format: email type: string cpanel_root_directory: description: The `root` directory. example: /usr/local/cpanel format: path type: string created: description: The account's creation date in [Unix time](http://en.wikipedia.org/wiki/Unix_time) format. example: 1432220941 format: unix_timestamp type: integer created_in_version: description: The version of cPanel used during account creation. example: 11.94.0.0 format: cPanel version type: string database_owner: description: 'The owner of the account''s databases. * `root` * A reseller account''s username. * The account''s username.' example: root format: username type: string dead_domains: description: The account's inactive domains. items: example: example.example.com format: domain type: string type: array demo_mode: description: 'Whether demo mode is enabled. * `1` - Enabled. * `0` - Not enabled.' enum: - 0 - 1 example: 1 type: integer disk_block_limit: description: 'The number of disk blocks for the account. * `0` - unlimited * A maximum amount of disk blocks, in kilobytes.' example: 100000000 minimum: 0 type: integer dkim_enabled: description: 'Whether DomainKeys Identified Mail (DKIM) is enabled. * `1` - Enabled. * `0` - Not enabled.' enum: - 0 - 1 example: 1 type: integer domain: description: The account's main domain. example: example.com format: domain type: string domains: description: list of the account's domains and subdomains. items: example: example.com format: domain type: string type: array feature: description: 'The available features on the account that exist in the `/var/cpanel/users/user` file`, where user represents the cPanel user. **Note:** This object returns any custom features that the hosting provider adds to the `/var/cpanel/users/user` file.' example: custom_feature: 1 properties: additionalProperties: description: 'Whether the feature is enabled. * `1` - Enabled. * `0` - Disabled. **Note:** The feature''s name is the return name.' enum: - 0 - 1 example: 1 type: integer x-additionalPropertiesName: feature type: object feature_list: description: The account's [feature list](https://go.cpanel.net/whmdocs84FeatureManager) name. example: feature_list type: string gid: description: The account's group ID. example: 5678 type: integer home: description: The user's home directory. example: /home/user format: path type: string home_directory_links: description: Any symlinks to the cPanel account's home directory. An array of one or more home directory symlinks. items: example: symlink type: array ip: description: The account's IPv4 address. example: 192.0.2.0 format: ipv4 type: string lang: description: The account's language. example: english type: string last_modified: description: 'The most recent modification time of the `/var/cpanel/users/user` file in [Unix time format](https://en.wikipedia.org/wiki/Unix_time). **Note:** `user` represents the cPanel user.' example: 1416586493 format: unix_timestamp type: integer legacy_backup_enabled: description: 'Whether legacy backups are enabled. * `1` - Enabled. * `0` - Disabled.' enum: - 0 - 1 example: 1 type: integer locale: description: The account's default locale, a two-letter [ISO-3166 code](http://www.iso.org/iso/country_codes.htm). example: en format: ISO-3166-1 (alpha-2) type: string mailbox_format: description: 'The storage format that the account''s mailboxes use. * `maildir` * `mbox`' enum: - maildir - mbox example: maildir type: string maximum_addon_domains: description: 'The account''s maximum number of addon domains. * `unlimited` * An integer that represents a number of addon domains.' example: unlimited oneOf: - enum: - unlimited type: string - minimum: 0 type: integer maximum_databases: description: 'The account''s maximum number of SQL databases. * `unlimited` * An integer that represents a number of SQL databases.' example: unlimited oneOf: - enum: - unlimited type: string - minimum: 0 type: integer maximum_defer_fail_percentage: description: 'The [percentage of failed or deferred email messages](https://go.cpanel.net/howtopreventspam) that the account can send per hour before outgoing mail is rate-limited. * `unlimited` * An integer value.' example: unlimited oneOf: - enum: - unlimited type: string - minimum: 0 type: integer maximum_email_account_disk_quota: description: 'The maximum size, that the account can define when it creates an email account. * `unlimited` * An integer value, in Megabytes (MB).' example: unlimited oneOf: - enum: - unlimited type: string - minimum: 0 type: integer maximum_emails_per_hour: description: 'The maximum number of emails that the account can send in one hour. * A positive integer. * `0` or `unlimited` - The account can send an unlimited number of emails.' example: unlimited oneOf: - enum: - unlimited type: string - minimum: 0 type: integer maximum_ftp_accounts: description: 'The account''s maximum number of FTP accounts. * `unlimited` * An integer that represents a number of FTP accounts.' example: unlimited oneOf: - enum: - unlimited type: string - minimum: 0 type: integer maximum_mail_accounts: description: 'The maximum number of email accounts for the account. * `unlimited` * An integer that represents a number of email accounts.' example: '0' oneOf: - enum: - unlimited type: string - minimum: 0 type: integer maximum_mailing_lists: description: 'The account''s maximum number of mailing lists. * `unlimited` * An integer that represents a number of mailing lists.' example: unlimited oneOf: - enum: - unlimited type: string - minimum: 0 type: integer maximum_parked_domains: description: 'The account''s maximum number of aliases. * `unlimited` * An integer that represents a number of aliases.' example: unlimited oneOf: - enum: - unlimited type: string - minimum: 0 type: integer maximum_passenger_apps: description: "The account's maximum number of Ruby applications.\n * `unlimited`\n * An integer\ \ that represents a number of applications." example: unlimited oneOf: - enum: - unlimited type: string - minimum: 0 type: integer maximum_subdomains: description: 'The account''s maximum number of subdomains. * `unlimited` * An integer that represents a number of subdomains.' example: unlimited oneOf: - enum: - unlimited type: string - minimum: 0 type: integer mxcheck: description: Domains and their mail exchanger (MX) type. example: example.com: local example2.com: remote properties: additionalProperties: description: 'The domain''s MX type. * `local` - Accept mail locally for the domain. * `remote` - Do not accept mail locally for the domain. * `secondary` - Accept mail until a higher priority mail server is available. **Note:** The return''s name is the domain name.' enum: - local - remote - secondary example: local type: string x-additionalPropertiesName: domain type: object notify_account_authn_link: description: 'Whether the systems sends a notification when someone links the account to an external authentication account. * `1` - Notifies. * `0` - Doesn''t notify.' enum: - 0 - 1 example: 1 type: integer notify_account_authn_link_notification_disabled: description: 'Whether the systems sends a notification when someone disables notifications for external authentication account links. * `1` - Notifies. * `0` - Doesn''t notify.' enum: - 0 - 1 example: 1 type: integer notify_account_login: description: 'Whether the system sends a notification when someone logs in to the account. * `1` - Notifies. * `0` - Doesn''t notify.' enum: - 0 - 1 example: 1 type: integer notify_account_login_for_known_netblock: description: 'Whether the system sends a notification when a user on a known netblock logs in to the account. * `1` - Notifies. * `0` - Doesn''t notify.' enum: - 0 - 1 example: 1 type: integer notify_account_login_notification_disabled: description: 'Whether the system sends a notification when someone disables notifications for account logins. * `1` - Notifies. * `0` - Doesn''t notify.' enum: - 0 - 1 example: 1 type: integer notify_autossl_expiry: description: 'Whether the system sends a notification when an AutoSSL certificate expires. * `1` - Notifies. * `0` - Doesn''t notify' enum: - 0 - 1 example: 1 type: integer notify_autossl_expiry_coverage: description: 'Whether the system sends a notification when AutoSSL cannot renew a certificate because domains that fail Domain Control Validation (DCV) exist on the current certificate. * `1` - Notifies. * `0` - Doesn''t notify.' enum: - 0 - 1 example: 1 type: integer notify_autossl_renewal_coverage: description: 'Whether the system sends a notification when AutoSSL renews a certificate. * `1` - Notifies. * `0` - Doesn''t notify.' enum: - 0 - 1 example: 1 type: integer notify_autossl_renewal_coverage_reduced: description: 'Whether the system sends a notification when AutoSSL renews a certificate, but the new certificate lacks at least one domain that the previous certificate secured. * `1` - Notifies. * `0` - Doesn''t notify.' enum: - 0 - 1 example: 1 type: integer notify_autossl_renewal_uncovered_domains: description: 'Whether the system sends a notification when AutoSSL renews a certificate, but the new certificate lacks at least one domain that the previous certificate secured. * `1` - Notifies. * `0` - Doesn''t notify.' enum: - 0 - 1 example: 1 type: integer notify_bandwidth_limit: description: 'Whether the systems sends a notification when the account reaches its bandwidth quota. * `1` - Notifies. * `0` - Doesn''t notify.' enum: - 0 - 1 example: 1 type: integer notify_contact_address_change: description: 'Whether the systems sends a notification when someone changes the contact address for the account. * `1` - Notifies. * `0` - Doesn''t notify.' enum: - 0 - 1 example: 1 type: integer notify_contact_address_change_notification_disabled: description: 'Whether the systems sends a notification when someone disables the notification for contact address changes. * `1` - Notifies. * `0` - Doesn''t notify.' enum: - 0 - 1 example: 1 type: integer notify_disk_limit: description: 'Whether the systems sends a notification when the account reaches its disk usage limit. * `1` - Notifies. * `0` - Doesn''t notify.' enum: - 0 - 1 example: 1 type: integer notify_password_change: description: 'Whether the systems sends a notification when someone changes the account''s password. * `1` - Notifies. * `0` - Doesn''t notify.' enum: - 0 - 1 example: 1 type: integer notify_password_change_notification_disabled: description: 'Whether the systems sends a notification when someone disables notifications for password changes. * `1` - Notifies. * `0` - Doesn''t notify.' enum: - 0 - 1 example: 1 type: integer notify_ssl_expiry: description: 'Whether the systems sends a notification when an SSL certificate on the account expires. * `1` - Notifies. * `0` - Doesn''t notify.' enum: - 0 - 1 example: 1 type: integer notify_twofactorauth_change: description: 'Whether the systems sends a notification when the account''s Two-Factor Authentication (2FA) credentials change. * `1` - Notifies. * `0` - Doesn''t notify.' enum: - 0 - 1 example: 1 type: integer notify_twofactorauth_change_notification_disabled: description: 'Whether the systems sends a notification when someone disables notifications for 2FA. * `1` - Notifies. * `0` - Doesn''t notify.' enum: - 0 - 1 example: 1 type: integer owner: description: 'The account''s owner. * `root` * A reseller account''s username. * The account''s username.' example: root format: username type: string package_extensions: description: The account's package extensions. example: - ext1 - ext2 - ext3 items: type: string type: array plan: description: The account's hosting package. example: packagename type: string pushbullet_access_token: description: The account's Pushbullet access token. example: '1234567890' type: string shell: description: The account's shell. example: /bin/bash format: path type: string spf_enabled: description: 'Whether Sender Policy Framework (SPF) is enabled. * `1` - Enabled. * `0` - Not enabled.' enum: - 0 - 1 example: 1 type: integer ssl_default_key_type: description: 'The type of key to generate for the user’s TLS certificates and CSRs. * `system` — The system’s `ssl_default_key_type` value in the [`cpanel.config` file](https://go.cpanel.net/ThecpanelconfigFile). * `rsa-2048` — 2,048-bit RSA. * `rsa-4096` — 4,096-bit RSA. * `ecdsa-prime256v1` — ECDSA prime256v1 (“P-256”). * `ecdsa-secp384r1` — ECDSA secp384r1 (“P-384”).' enum: - system - rsa-2048 - rsa-4096 - ecdsa-prime256v1 - ecdsa-secp384r1 example: rsa-2048 type: string theme: description: The account's current theme. example: jupiter type: string uid: description: The account's user ID on the system. example: 1234 type: integer user: description: An existing account's username. example: username type: string utf8_mailbox: description: 'Whether UTF-8-encoded mailbox names are enabled for the cPanel account. * `1` - Enabled. * `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 * `0` Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 configuration settings tags: - Variables - Account Information x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n Variables \\\n get_user_information\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/Variables/get_user_information - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file Variables_get_user_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//\n\ # to .../frontend//api_examples/Variables_get_user_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/Variables/,\n q/get_user_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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file Variables_get_user_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//\n\ // to .../frontend//api_examples/Variables_get_user_information.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'Variables',\n 'get_user_information'\n);\n\n// Handle the response\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 86 /VersionControl/create: get: x-readonly: false x-rollback: none description: 'This function creates a new Git™ repository on a cPanel account. * For more information about support for version control in cPanel & WHM, read our [Git Version Control](https://go.cpanel.net/GitVersionControl) and [Guide to Git](https://go.cpanel.net/GitDeployment) documentation. * For a list of configuration changes, repository restrictions, and troubleshooting steps, read our [Guide to Git - For System Administrators](https://go.cpanel.net/GuidetoGitForSystemAdministrators) documentation. **Important:** The system logs errors for this function in the `~/.cpanel/logs/vc_TIMESTAMP_git_create.log` file, where `TIMESTAMP` represents the time of the error in Unix epoch time.' operationId: VersionControl-create parameters: - description: The new repository's display name. in: query name: name required: true schema: example: example type: string - description: 'The absolute path to the directory in which to store the repository, relative to the user''s `home` directory. **Note:** * If the directory does **not** exist, the system will create it. * If the specified directory already contains a repository, the system will automatically add it to the list of cPanel-managed repositories. * This feature enforces several restrictions on repository paths. For more information, read our [Guide to Git - For System Administrators](https://go.cpanel.net/GuidetoGitForSystemAdministrators) documentation.' in: query name: repository_root required: true schema: example: /home/user/public_html/example format: path type: string - description: 'The repository type. * `git` — A [Git](https://git-scm.com/) repository. **Note:** `git` is the only possible value.' in: query name: type required: true schema: enum: - git example: git type: string - content: application/json: schema: example: remote_name: origin url: ssh://clone.domain.com/cloneme properties: remote_name: default: origin description: The source repository's name. type: string url: description: The source repository's clone URL. type: string required: - url description: 'A JSON-formatted object containing information about the source repository that the system will clone. **Note:** If you do **not** include source repository data, the function creates an empty repository.' in: query name: source_repository required: false responses: '200': content: 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: VersionControl type: string result: properties: data: properties: available_branches: description: An list of available branches for the cloned or existing repository, if any exist. example: - master - olive items: type: string type: array branch: description: 'The repository''s current branch. * `null` — The system has **not** finished the clone process for the repository, or no local branches exist.' example: master nullable: true type: string clone_urls: description: An object containing URLs to use to clone the repository. properties: read_only: description: 'A list of clone URLs with read-only permissions. The function returns a blank array if the account does **not** include the *Shell Access* setting. **Important:** If the server uses a [nonstandard SSH port](https://go.cpanel.net/firewall), the system returns a clone URL that includes the port number.' items: example: https://user@example.com/home/user/example format: url type: string type: array read_write: description: 'A list of of clone URLs with read-write permissions. The function returns a blank array if the account does **not** include the *Shell Access* setting. **Important:** If the server uses a [nonstandard SSH port](https://go.cpanel.net/firewall), the system returns a clone URL that includes the port number.' items: example: ssh://user@example.com/home/user/example type: string type: array type: object last_update: description: 'Information about the most-recent (HEAD) commit for the current branch. **Note:** * The system may require a large amount of time to clone large repositories. Until this process finishes, HEAD information is unavailable. * `null` is the only possible value.' enum: - null name: description: The repository's display name. example: example type: string repository_root: description: The absolute path of the directory that contains the repository in the user's `home` directory. example: /home/user/public_html/example format: path type: string source_repository: description: 'A object containing information about a cloned repository''s source repository. **Note:** The function **only** returns this object if it will clone a repository.' properties: remote_name: description: The source repository's name. example: remote type: string url: description: The source repository's clone URL. example: http://user@domain.com/home/user/domain format: url type: string type: object tasks: description: 'An array of objects containing information about the [Task Queue](https://go.cpanel.net/whmdocsTaskQueueMonitor) system''s process that will clone the repository. **Note:** The function **only** returns this value if it will clone a repository.' items: properties: action: description: 'The task''s action. * `create` **Note:** `create` is the only possible value.' enum: - create example: create type: string args: description: 'A list of arguments for the [Task Queue](https://go.cpanel.net/whmdocsTaskQueueMonitor) system''s process.' properties: log_file: description: 'The absolute path to the process''s log file. **Note:** The function **only** returns this value if the process generated a log file.' example: /home/username/.cpanel/logs/vc_1234567890.123456_git_deploy.log type: string repository_root: description: The absolute path to the repository's directory within the user's `home` directory. example: /home/user/example format: path type: string type: object id: description: 'The [Task Queue](https://go.cpanel.net/whmdocsTaskQueueMonitor) system''s task ID number.' example: 00000000/5a9ec8dd4c345d type: string sse_url: description: The SSE interface to track the progress of the process. example: /sse/UserTasks/B3A27B96-51F7-11E8-92E3-CC90C4F823F0 type: string subsystem: description: 'The [Task Queue](https://go.cpanel.net/whmdocsTaskQueueMonitor) subsystem that will handle the task. * `VersionControl` **Note:** `VersionControl` is the only possible value.' enum: - VersionControl example: VersionControl type: string type: object type: array type: description: 'The repository type. * `git` — A Git repostiory. **Note:** `git` is the only possible value.' example: git 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. * `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 Git repository tags: - VersionControl - Repository Management x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n VersionControl \\\n create \\\n type='git' \\\n name='example'\ \ \\\n repository_root='/home/user/public_html/example'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/VersionControl/create?type=git&name=example&repository_root=%2fhome%2fuser%2fpublic_html%2fexample - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file VersionControl_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//\n# to\ \ .../frontend//api_examples/VersionControl_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/VersionControl/,\n q/create/,\n {\n 'type' => 'git',\n 'name' => 'example',\n\ \ 'repository_root' => '/home/user/public_html/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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file VersionControl_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//\n\ // to .../frontend//api_examples/VersionControl_create.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'VersionControl',\n 'create',\n array (\n 'type' =>\ \ 'git',\n 'name' => 'example',\n 'repository_root' => '/home/user/public_html/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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 72 /VersionControl/delete: get: x-readonly: false x-rollback: none description: 'This function deletes a cPanel account''s Git™ repository. For more information about support for version control in cPanel & WHM, read our [Git Version Control](https://go.cpanel.net/GitVersionControl) and [Guide to Git](https://go.cpanel.net/GitDeployment) documentation. **Warning:** * When you call this function, the system **permanently deletes** the entire contents of the specified directory. You **cannot** recover this data after deletion. * You **cannot** use this function to delete any repositories that do not appear in the cache of repositories (for example, repositories that contain invalid characters or exist within cPanel-controlled directories).' operationId: VersionControl-delete parameters: - description: The absolute directory path in the user's `home` directory containing the repository to delete. in: query name: repository_root required: true schema: example: /home/user/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 type: string module: description: The name of the module called. example: VersionControl 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. * `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 Git repository tags: - VersionControl - Repository Management x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n VersionControl \\\n delete \\\n repository_root='/home/user/example'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/VersionControl/delete?repository_root=%2fhome%2fuser%2fexample - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file VersionControl_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//\n# to\ \ .../frontend//api_examples/VersionControl_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/VersionControl/,\n q/delete/,\n {\n 'repository_root' => '/home/user/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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file VersionControl_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//\n\ // to .../frontend//api_examples/VersionControl_delete.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'VersionControl',\n 'delete',\n array (\n 'repository_root'\ \ => '/home/user/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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 72 /VersionControl/retrieve: get: x-readonly: false x-rollback: none description: "This function lists Git™ repositories on a cPanel account. For more information\nabout support for version\ \ control in cPanel & WHM, read our\n[Git Version Control](https://go.cpanel.net/GitVersionControl) and\n[Guide to\ \ Git](https://go.cpanel.net/GitDeployment) documentation.\n\n**Important:**\n\n* This feature does **not** allow\ \ the following characters in repository paths:\n ``\\ * | \" ' < > & @ ` $ { } [ ] ( ) ; ? : = % #``\n* This function\ \ does **not** allow repositories that exist in the following\ncPanel-controlled directories:\n\n * `.cpanel`\n \ \ * `.htpasswds`\n * `.ssh`\n * `.trash`\n * `access-logs`\n * `cgi-bin`\n * `etc`\n * `logs`\n * `perl5`\n\ \ * `mail`\n * `spamassassin`\n * `ssl`\n * `tmp`\n * `var`\n\nUsers can create repositories in some of these\ \ directories on the command line.\nThey may appear in the list of repositories in Gitweb, but users may see an error\n\ message if they try to access them." operationId: VersionControl-retrieve parameters: - description: 'A comma-separated list of desired return values. **Note:** Use a wildcard (`*`) to list all possible return values.' in: query name: fields required: false schema: default: '*' example: name,type,branch,last_update 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: retrieve type: string module: description: The name of the module called. example: VersionControl type: string result: properties: data: description: An array of objects containing repository data. example: - available_branches: - master branch: master clone_urls: read_only: - https://user@example.com/home/user/example read_write: - ssh://user@example.com/home/user/example deployable: 1 last_deployment: deployment_date: 1598774400 repository_state: author: User Name date: 1598774400 identifier: 2fd4e1c67a2d28fced849ee1bb76e7391b93eb12 message: I'm committing some particularly cromulent code. last_update: author: Jane Doe date: 1598774400 identifier: 2fd4e1c67a2d28fced849ee1bb76e7391b93eb12 message: I'm committing some particularly cromulent code. name: example repository_root: /home/user/example tasks: - action: create args: log_file: /home/user/.cpanel/logs/vc_1526305129.123456_git_create.log repository_root: /home/user/example id: 00000000/5a9ec8dd4c345d sse_url: /sse/UserTasks/B3A27B96-51F7-11E8-92E3-CC90C4F823F0 subsystem: VersionControl type: git - available_branches: - master branch: master deployable: 1 last_update: author: June Due clone_urls: read_only: - https://user@example.com/home/user/example read_write: - ssh://user@example.com/home/user/example date: 1599730200 identifier: 4ee0b73ddf78213c41fcc185acfab68ced99046d last_deployment: deployment_date: 1599730200 repository_state: author: User Name date: 1599730200 identifier: 2fd4e1c67a2d28fced849ee1bb76e7391b93eb12 message: I'm committing some particularly cromulent code. message: My code makes more sense, actually. tasks: - action: create args: log_file: /home/user/.cpanel/logs/vc_1526305129.123456_git_create.log repository_root: /home/user/example id: 00000000/5a9ec8dd4c345d sse_url: /sse/UserTasks/B3A27B96-51F7-11E8-92E3-CC90C4F823F0 subsystem: VersionControl name: example2 repository_root: /home/user/example2 type: git items: properties: available_branches: description: 'A list of available local and remote branches for the cloned or existing repository. * An empty array — No branches exist. * `null` — The repository is a bare repository.' items: type: string nullable: true type: array branch: description: 'The repository''s current branch. * `null` — The system has not finished the clone process for the repository, no local branches exist, or the repository is a bare repository.' nullable: true type: string clone_urls: description: An array of objects containing URLS to use to clone the repository. properties: read_only: description: 'A list of clone URLs with read-only permissions. This function returns a blank array if the account does not include the *Shell Access* setting. **Important:** If the server uses a nonstandard SSH port, the system returns a clone URL that includes the port number.' items: type: string type: array read_write: description: 'A list of clone URLs with read-write permissions. This function returns a blank array if the account does not include the *Shell Access* setting. **Important:** If the server uses a nonstandard SSH port, the system returns a clone URL that includes the port number.' items: type: string type: array type: object deployable: description: 'Whether the system could deploy the repository. * `1` — Can deploy. * `0` — Cannot deploy.' enum: - 1 - 0 type: integer last_deployment: description: 'An object containing information about the commit that the system most recently deployed. **Note:** The system **only** returns this object if deployment information exists.' properties: deployment_date: description: The timestamp for the most-recent deployment. format: unix_timestamp type: integer repository_state: description: A object containing information about the state of the repository at the time of the most recent deployment. properties: author: description: The author's name and email address for the commit that the system most recently deployed. type: string date: description: The timestamp for the commit that the system most recently deployed. format: unix_timestamp type: integer identifier: description: The identifier (SHA-1 value) for the commit that the system most recently deployed. type: string message: description: The commit message for the commit that the system most recently deployed. type: string type: object type: object last_update: description: "An object containing information about the most-recent (HEAD) commit\nfor the\ \ current branch. \n\n**Note:**\n\nThis object's information resembles the output of the `git\ \ log -1`\ncommand.\n\n**Important:**\n\n* If the repository does not include any commits,\ \ the function returns\na `null` value instead of an object.\n* The system may require a large\ \ amount of time to clone larger\nrepositories. Until this process finishes, HEAD information\ \ is\nunavailable." nullable: true properties: author: description: The most-recent commit's author's name and email address. example: Jane Doe type: string date: description: The timestamp for the most-recent commit. example: 1569844800 format: unix_timestamp type: integer identifier: description: The identifier (SHA-1 value) for the most-recent commit. example: 2fd4e1c67a2d28fced849ee1bb76e7391b93eb12 type: string message: description: The commit message. example: I'm committing some particularly cromulent code. type: string type: object name: description: The repository's display name. example: example type: string repository_root: description: The absolute directory path in the user's `home` directory containing the repository. example: /home/user/public_html/example format: path type: string source_repository: description: 'An object containing information about the source repository. **Note:** The function **only** returns this object if you cloned a source repository.' properties: remote_name: description: The source repository's name. example: origin type: string url: description: The source repository's clone URL. example: ssh://clone.domain.com/cloneme type: string type: object tasks: description: 'An array of objects containing information about the [Task Queue](https://go.cpanel.net/whmdocsTaskQueueMonitor) system''s process that will clone the repository. **Note:** The function only returns this value if the clone process is **not** finished.' items: properties: action: description: 'The task''s action. * `create` — Create the repository. * `deploy` — Deploy the repository.' enum: - create - deploy type: string args: description: A list of arguments for the Task Queue system's process. properties: log_file: description: 'The absolute path to the process''s log file. **Note:** The function only returns this value if the process generated a log file.' example: /home/username/.cpanel/logs/vc_1234567890.123456_git_deploy.log format: path type: string repository_root: description: The absolute path to the repository's directory in the user's `home` directory. example: /home/user/example type: string type: object id: description: The Task Queue system's task ID number. example: 00000000/5a9ec8dd4c345d type: string sse_url: description: The Secure Server Events (SSE) interface URL to track the progress of the process. example: /sse/UserTasks/B3A27B96-51F7-11E8-92E3-CC90C4F823F0 type: string subsystem: description: 'The Task Queue subsystem that will handle the task. * `VersionControl` is the only possible value.' enum: - VersionControl example: VersionControl type: string type: object type: array type: description: 'The repository type. * `git` is the only possible value.' enum: - git example: git 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. * `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 Git repositories tags: - VersionControl - Repository Management x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n VersionControl \\\n retrieve\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/VersionControl/retrieve - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file VersionControl_retrieve.live.pl and put this code into that file.\n# 5)\ \ In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend//\n# \ \ to .../frontend//api_examples/VersionControl_retrieve.live.pl\n#--------------------------------------------------------------------------------------\n\ \nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this\ \ once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response =\ \ $cpanel->uapi(\n q/VersionControl/,\n q/retrieve/\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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file VersionControl_retrieve.live.php and put this code into that file.\n\ // 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend//\n\ // to .../frontend//api_examples/VersionControl_retrieve.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'VersionControl',\n 'retrieve'\n);\n\n// Handle the response\n\ if ($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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 72 /VersionControl/update: get: x-readonly: false x-rollback: none description: 'This function modifies a Git™ repository''s basic settings. For more information about support for version control in cPanel & WHM, read our [Git Version Control](https://go.cpanel.net/GitVersionControl) and [Guide to Git](https://go.cpanel.net/GitDeployment) documentation. **Note:** * This function **only** pulls changes from the remote repository if you specify a `branch` value. * You **cannot** modify the `type`, `repository_root`, or `url` values for existing repositories. * You **must** include the `repository_root` parameter in order to identify the repository to update. * All other input parameters are **optional**. Use them to assign the **new** values to the account. If you do not include a parameter or specify its existing value, no change will occur.' operationId: VersionControl-update parameters: - description: The absolute directory path that contains the repository to update. in: query name: repository_root required: true schema: example: /home/user/public_html/example format: path type: string - description: 'The new branch to use. If you do not specify a value, the function does **not** update this parameter. **Remember:** This function **only** pulls changes from the remote repository if you specify this value.' in: query name: branch required: false schema: example: master type: string - description: 'The repository''s new display name. If you do not specify a value, the function does **not** update this parameter.' in: query name: name required: false schema: example: example type: string - content: application/json: schema: example: remote_name: origin properties: remote_name: description: The source repository's name. If you do not specify a value, the function does **not** update this parameter. type: string type: object description: 'A JSON-encoded object containing information about the source repository. If you do not specify a value, the function does **not** update this parameter. **Important:** * You **cannot** modify the source repository''s URL. * You **must** JSON-encode the contents of this object.' in: query name: source_repository required: false responses: '200': content: 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: VersionControl type: string result: properties: data: example: available_branches: - master branch: master clone_urls: read_only: - https://user@example.com/home/user/example read_write: - ssh://user@example.com/home/user/example deployable: 1 last_deployment: deployment_date: 1569844800 repository_state: author: User Name date: 1569844800 identifier: 2fd4e1c67a2d28fced849ee1bb76e7391b93eb121 message: I'm committing some particularly cromulent code. last_update: author: Jane Doe date: 1569844800 identifier: 2fd4e1c67a2d28fced849ee1bb76e7391b93eb12 message: I'm committing some particularly cromulent code. name: example repository_root: /home/user/example tasks: - action: create args: repository_root: /home/user/example id: 00000000/5a9ec8dd4c345d subsystem: VersionControl type: git properties: available_branches: description: 'A list of local and remote branches available for the cloned or existing repository. * An empty array, if no branches exist. * `null` — The repository is a bare repository.' items: nullable: true type: string type: array branch: description: 'The repository''s current branch. * `null` — The system has not finished the clone process for the repository, no local branches exist, or the repository is a bare repository.' nullable: true type: string clone_urls: description: 'An object containing the URLs to use to clone the repository. The function returns an empty object if the account does **not** include the *Shell Access* setting. **Important:** If the server uses a nonstandard SSH port, the system returns a clone URL that includes the port number. ' properties: read_only: description: 'A list of clone URLs with read-only permissions. This function returns an empty list if the account does **not** include the *Shell Access* setting. **Important:** If the server uses a nonstandard SSH port, the system returns a clone URL that includes the port number.' items: format: url type: string type: array read_write: description: 'A list of clone URLs with read-write permissions. This function returns an empty list if the account does **not** include the *Shell Access* setting. **Important:** If the server uses a nonstandard SSH port, the system returns a clone URL that includes the port number.' items: type: string type: array type: object deployable: description: 'Whether the system could deploy the repository. * `1` — Can deploy. * `0` — Cannot deploy.' enum: - 1 - 0 type: integer last_deployment: description: 'An object containing information about the commit that the system most recently deployed. **Note:** If no deployment information exists, the function returns a `null` value.' nullable: true properties: deployment_date: description: The timestamp for the most recent deployment. format: unix_timestamp type: integer repository_state: description: A object containing information about the state of the repository at the time of the most recent deployment. properties: author: description: The author's name and email address for the commit that the system most recently deployed. type: string date: description: The timestamp for the commit that the system most recently deployed. format: unix_timestamp type: integer identifier: description: The identifier (SHA-1 value) for the commit that the system most recently deployed. type: string message: description: The commit message for the commit that the system most recently deployed. type: string type: object type: object last_update: description: 'An object containing information about the most recent (HEAD) commit for the current branch. **Note:** This object''s information resembles the output of the `git log -1` command. **Important:** * If the repository does **not** include any commits, the function returns a `null` value instead of an object. * The system may require a large amount of time to clone larger repositories. Until this process finishes, HEAD information is unavailable.' nullable: true properties: author: description: The most recent commit's author name and email address. type: string date: description: The timestamp for the most recent commit. format: unix_timestamp type: integer identifier: description: The identifier (SHA-1 value) for the most recent commit. type: string message: description: The commit message. type: string type: object name: description: The repository's display name. type: string repository_root: description: The directory path that exists in the user's `home` directory containing the repository. type: string source_repository: description: 'An object containing information about the source repository. **Note:** The function **only** returns this object if you cloned a source repository.' properties: remote_name: description: The source repository's name. type: string url: description: The source repository's clone URL. type: string type: object tasks: description: 'An array of objects containing information about the [Task Queue](https://go.cpanel.net/whmdocsTaskQueueMonitor) system''s process that will clone the repository. **Note:** The function **only** returns this value if the clone process is not finished.' items: properties: action: description: 'The task''s action. * `create` — Create the repository. * `deploy` — Deploy the repository.' enum: - create - deploy type: string args: description: An object containing arguments for the Task Queue system's process. properties: log_file: description: 'The absolute path to the process log file in the user''s `home` directory. **Note:** The function **only** returns this value if the process generated a log file.' type: string repository_root: description: The repository's absolute directory path in the user's `home` directory. type: string type: object id: description: The Task Queue system's task ID number. type: string subsystem: description: 'The Task Queue subsystem that will handle the task. * `VersionControl` **Note:** * `VersionControl` is the only possible value.' enum: - VersionControl type: string type: object type: array type: description: 'The repository type. * `git` — A [Git](https://git-scm.com/) repository. **Note:** * `git` is the only possible value.' enum: - git 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. * `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: Update Git repository settings tags: - VersionControl - Repository Management x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n VersionControl \\\n update \\\n repository_root='/home/user/public_html/example'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/VersionControl/update?repository_root=%2fhome%2fuser%2fpublic_html%2fexample - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file VersionControl_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//\n# to\ \ .../frontend//api_examples/VersionControl_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/VersionControl/,\n q/update/,\n {\n 'repository_root' => '/home/user/public_html/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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file VersionControl_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//\n\ // to .../frontend//api_examples/VersionControl_update.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'VersionControl',\n 'update',\n array (\n 'repository_root'\ \ => '/home/user/public_html/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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 72 /VersionControlDeployment/create: get: x-readonly: false x-rollback: none description: "This function deploys the changes from a cPanel-managed repository.\n\n**Important:**\n\nThe system logs\ \ messages for this function in the `~/.cpanel/logs/vc_TIMESTAMP_git_deploy.log` file, where TIMESTAMP represents\ \ the time in Unix epoch time. The system pulls changes with the `--ff-only` option and will only succeed if the branch's\ \ HEAD commit is up-to-date or Git can fast forward it. For more information about our suggested deployment configuration\ \ and how users can set it up, read our [Guide to Git™ - Deployment](https://go.cpanel.net/GitDeployment) documentation.\ \ Before deployment, repositories must meet the following requirements:\n * A valid checked-in `.cpanel.yml` file\ \ in the top-level directory.\n * One or more local or remote branches.\n * A clean working tree.\n\nIf a repository\ \ does **not** meet these requirements, the system will **not** display deployment information. Also, it will disable\ \ deployment functionality. For more information, read our [Guide to Git™ - Deployment](https://go.cpanel.net/GitDeployment)\ \ documentation." operationId: VersionControlDeployment-create parameters: - description: The repository's directory. in: query name: repository_root required: true schema: example: /home/user/public_html/example 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: create type: string module: description: The name of the module called. example: VersionControlDeployment type: string result: properties: data: properties: deploy_id: description: The deployment ID number. example: '12' type: string log_path: description: The absolute path to the task's log file vc_TIMESTAMP_git_deploy.log, where TIMESTAMP represents the time in Unix epoch time. example: /home/user/.cpanel/logs/vc_1525289545.785367_git_deploy.log format: path type: string repository_root: description: The repository's directory. example: /home/username/example format: path type: string sse_url: description: The SSE interface to track the progress of the deployment process. example: /sse/UserTasks/B3A27B96-51F7-11E8-92E3-CC90C4F823F0 format: url-path type: string task_id: description: The Task Queue system's task ID number. example: 00000000/5a9ec8dd4c345d type: string timestamps: description: A hash of timestamps for the deployment process. format: object properties: queued: description: The time at which the deployment process. entered the task queue. example: '1525289545.16293' 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 Git deployment task tags: - VersionControlDeployment - Deployment Settings x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n VersionControlDeployment \\\n create \\\n repository_root='/home/user/public_html/example'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/VersionControlDeployment/create?repository_root=%2fhome%2fuser%2fpublic_html%2fexample - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file VersionControlDeployment_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//\n\ # to .../frontend//api_examples/VersionControlDeployment_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/VersionControlDeployment/,\n q/create/,\n {\n 'repository_root' => '/home/user/public_html/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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file VersionControlDeployment_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//\n\ // to .../frontend//api_examples/VersionControlDeployment_create.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'VersionControlDeployment',\n 'create',\n array (\n \ \ 'repository_root' => '/home/user/public_html/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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 74 /VersionControlDeployment/delete: get: x-readonly: false x-rollback: none description: This function deletes a deployment task. For more information, read our [Guide to Git - Deployment](https://go.cpanel.net/GitDeployment) documentation. operationId: VersionControlDeployment-delete parameters: - description: The [Task Queue system's](https://go.cpanel.net/whmdocsTaskQueueMonitor) task ID number. in: query name: deploy_id required: true schema: example: '13' 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: VersionControlDeployment 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. * `0` - Failed. Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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 Git deployment task tags: - VersionControlDeployment - Deployment Settings x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n VersionControlDeployment \\\n delete \\\n deploy_id='13'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/VersionControlDeployment/delete?deploy_id=13 - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file VersionControlDeployment_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//\n\ # to .../frontend//api_examples/VersionControlDeployment_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/VersionControlDeployment/,\n q/delete/,\n {\n 'deploy_id' => '13',\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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file VersionControlDeployment_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//\n\ // to .../frontend//api_examples/VersionControlDeployment_delete.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'VersionControlDeployment',\n 'delete',\n array (\n \ \ 'deploy_id' => '13',\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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 74 /VersionControlDeployment/retrieve: get: x-readonly: false x-rollback: none description: "This function retrieves the status of deployment tasks. Before deployment, repositories must meet the\ \ following requirements:\n * A valid checked-in `.cpanel.yml` file in the top-level directory.\n * One or more\ \ local or remote branches.\n * A clean working tree.\n\nIf a repository does **not** meet these requirements, the\ \ system will **not** display deployment information. Also, it will disable deployment functionality. For more information,\ \ read our [Guide to Git™ - Deployment](https://go.cpanel.net/GitDeployment) documentation.\n\n**Important:**\n\n\ The system logs messages for this function in the `~/.cpanel/logs/vc_TIMESTAMP_git_deploy.log` file, where `TIMESTAMP`\ \ represents the time in Unix epoch time." operationId: VersionControlDeployment-retrieve 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: retrieve type: string module: description: The name of the module called. example: VersionControlDeployment type: string result: properties: data: description: An array of objects containing deployment task data. items: properties: deploy_id: description: The deployment ID number. example: 13 type: integer log_path: description: The absolute path to the task's log file. example: /home/user/.cpanel/logs/vc_1525289448.759720_git_deploy.log format: path type: string repository_root: description: The aboslute path to the cPanel-managed repository directory. example: /home/username/example format: path type: string repository_state: description: An object containing information about the repository's state at the time of deployment. properties: author: description: The most-recent commit's author's name and email address as they exist in the user's Git configuration files. example: Jane Doe type: string branch: description: The repository's current branch. example: master type: string date: description: The timestamp for the most-recent commit, in Unix time format. example: 1410277881 format: unix_timestamp type: integer identifier: description: The identifier (SHA-1 value) for the most-recent commit. example: 2fd4e1c67a2d28fced849ee1bb76e7391b93eb12 type: string message: description: The commit message. example: This is a commit. type: string type: object sse_url: description: The SSE interface to track the progress of the deployment process. example: /sse/UserTasks/B3A27B96-51F7-11E8-92E3-CC90C4F823F0 format: url-path type: string task_id: description: The [Task Queue](https://go.cpanel.net/whmdocsTaskQueueMonitor) system's task ID number. example: 00000000/5aea11e886a5d8 type: string timestamps: description: An object containing timestamps for the deployment process. properties: active: description: The time at which the system started the deployment process, in Unix time format. example: '1525289448.83553' type: string canceled: description: 'The time at which the system cancelled the deployment process, in Unix time format. **Note:** * The function only returns this value if the system cancelled the deployment process. * The system logs messages for this function in the `~/.cpanel/logs/vc_TIMESTAMP_git_deploy.log` file, where `TIMESTAMP` represents the Unix timestamp.' example: '1525289448.83553' type: string failed: description: 'The time at which the deployment process failed, in Unix time format. **Note:** * The function only returns this value if the deployment process failed. * The system logs messages for this function in the `~/.cpanel/logs/vc_TIMESTAMP_git_deploy.log` file, where `TIMESTAMP` represents the Unix timestamp.' example: '1525289448.83553' type: string queued: description: The time at which the deployment process entered the task queue, in Unix time format. example: '1525289448.83553' type: string succeeded: description: "The time at which the deployment process finished successfully, in Unix time\ \ format.\n\n**Note:**\n\n The function only returns this value if the deployment process\ \ succeeded." example: '1525289448.83553' type: string type: object 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 Git deployment task status tags: - VersionControlDeployment - Deployment Settings x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n VersionControlDeployment \\\n retrieve\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/VersionControlDeployment/retrieve - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file VersionControlDeployment_retrieve.live.pl and put this code into that file.\n\ # 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend//\n\ # to .../frontend//api_examples/VersionControlDeployment_retrieve.live.pl\n#--------------------------------------------------------------------------------------\n\ \nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this\ \ once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response =\ \ $cpanel->uapi(\n q/VersionControlDeployment/,\n q/retrieve/\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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file VersionControlDeployment_retrieve.live.php and put this code into that\ \ file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend//\n\ // to .../frontend//api_examples/VersionControlDeployment_retrieve.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'VersionControlDeployment',\n 'retrieve'\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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 74 /WebApp/configure: get: description: "This function updates an application's configuration. Only the\nparameters you pass change; omitted parameters\ \ keep their current\nvalues.\n\n**Important:**\n\n The `env` parameter uses **replace-all** semantics — the value\ \ you\n pass becomes the application's complete set of environment\n variables. To change one variable, read the\ \ current set first and\n resubmit it with your change applied." operationId: WebApp_configure parameters: - description: The application's unique name (slug). in: query name: name required: true schema: example: my-app type: string - description: 'The application root, relative to the top of the source, for a source whose application does not live at the top level (for example, `packages/web` in a monorepo). Pass an empty value to reset the root back to the source top. Changing this value re-runs the preflight against the new root, which re-detects the application''s `framework` and `category` and re-seeds the suggested build defaults (any value you pass explicitly in the same call takes precedence). When it changes, the response also carries the `confidence` and `defaults` from the re-detection. This parameter must be a relative path inside the source.' in: query name: appdir required: false schema: example: packages/web type: string - description: The command that builds the application. in: query name: build_command required: false schema: example: npm run build type: string - description: 'The database action to perform. * `create` — Provision a new database and database user, and inject the credentials into the application''s environment. * `link` — Link the existing database that the `db_name` parameter specifies.' in: query name: db required: false schema: enum: - create - link example: create type: string - description: 'The name of the existing database to link. **Required** when `db` is `link`.' in: query name: db_name required: false schema: example: example_my_app type: string - description: 'The name (slug) used to name the deployment. When omitted, the deployment is named after the application.' in: query name: deployname required: false schema: example: my-app type: string - description: 'The domain to bind the application to. Any domain the account owns is accepted — the main domain, an addon domain, a parked domain, or a manually created subdomain — and the application is served AT it. A domain that does not exist yet is created as a subdomain, provided the account owns its root. A domain another application is already serving is rejected; see the `domain_in_use` `error_category` value. Pass an empty value to generate and bind a temporary domain automatically. Because that address is generated rather than chosen, it is held to a stricter rule: if a domain already exists there the call fails with `domain_unavailable` instead of adopting it.' in: query name: domain required: false schema: example: my-app.example.com format: domain type: string - description: 'A JSON-encoded object of the application''s environment variables. **Warning:** This **replaces all** existing environment variables with the set you provide. **Security note:** These values are stored in plaintext. Do not use this parameter for sensitive secrets (API keys, database passwords, tokens, etc.).' in: query name: env required: false schema: example: '{"NODE_ENV":"production","API_KEY":"abc123"}' format: json type: string - description: The run mode for `server` category applications. in: query name: mode required: false schema: enum: - production - development example: production type: string - description: The directory, relative to the application root, that the build writes its output to. in: query name: output_dir required: false schema: example: dist type: string - description: The runtime version tag to run the application under. Use `WebApp::get_available` to list the valid tags. in: query name: runtime_tag required: false schema: example: '22' type: string - description: The command that starts the application's server process. Only meaningful for the `server` category. in: query name: startup_command required: false schema: example: npm run start 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: configure type: string module: description: The name of the module called. example: WebApp type: string result: properties: data: description: The application with its updated configuration. properties: category: description: 'The application''s category. This determines which lifecycle actions apply. * `static` — The application builds to static files that the web server serves directly. * `server` — The application runs a long-lived server process. * `other` — Any other kind of application.' enum: - static - server - other example: server type: string container_name: description: 'The name of the deployed container backing this application, or `null` while it is only staged. Assigned by the deploy and unique per application instance, so it identifies the exact deployed record even when several applications share a base name.' example: my-app.bob.01 nullable: true type: string confidence: description: 'How confident the preflight detection is. Present only when this call changed `appdir` and re-ran the preflight. * `high` — Strong framework markers found. * `low` — Partial markers found; verify the defaults before deploying. * `none` — No recognizable markers; the defaults are generic.' enum: - high - low - none example: high type: string defaults: description: Suggested configuration values for the detected framework. Present only when this call changed `appdir` and re-ran the preflight. properties: build_command: description: The suggested build command, or `null` if no build step is needed. example: npm run build nullable: true type: string output_dir: description: The suggested build output directory, or `null` if not applicable. example: .next nullable: true type: string runtime_tag: description: The suggested runtime version tag. example: '22' type: string startup_command: description: The suggested startup command, or `null` for `static` applications. example: npm run start nullable: true type: string type: object db: description: The application's linked database information, or `null` if no database is linked. nullable: true properties: env_keys: description: The environment variable names that carry the database credentials. example: - DB_NAME - DB_HOST - DB_PORT items: type: string type: array host: description: The database server hostname. example: localhost format: hostname type: string name: description: The database name. example: example_my_app type: string port: description: The database server port. example: 3306 type: integer type: object deployed: description: Whether a deploy has put the application live. This is `true` once the application holds a container or a deploy has completed successfully, and `false` for a freshly staged application or one whose only deploy failed. example: false type: boolean deployname: description: The name used to name the deployment, or `null` when it defaults to the application name. example: my-site nullable: true type: string domain: description: The domain the application is bound to. This is an existing domain on the account or an automatically generated temporary domain. example: my-app.example.com format: domain type: string env: additionalProperties: type: string description: The application's environment variables. example: API_KEY: abc123 NODE_ENV: production type: object framework: description: The application's detected or user-selected framework, or `null` if unknown. example: nextjs nullable: true type: string last_deploy: description: Information about the most recent deploy, or `null` if the application has never deployed. nullable: true properties: deploy_id: description: The unique identifier of the deploy. example: dp-20260612-0001 type: string result: description: The result of the deploy. enum: - success - failed example: success type: string timestamp: description: When the deploy finished, in ISO 8601 format. example: '2026-06-12T14:03:22.000Z' format: date-time type: string type: object mode: description: The application's run mode. Only meaningful for the `server` category; `null` otherwise. enum: - production - development example: production nullable: true type: string name: description: 'The application''s name (slug), unique across the account. Use this value to address the application in the per-app operations (`configure`, `deploy`, and the lifecycle verbs). A name is assigned at stage; staging a name a deployed application already uses registers the new one under the next free `-N`, so each application keeps a distinct name.' example: my-app type: string package_manager: description: 'The package manager the deploy uses to install dependencies and run scripts. It is detected from the source''s `packageManager` field, a lockfile, or the default (`npm`).' enum: - npm - yarn - pnpm - bun example: npm type: string runtime: description: The application's runtime identifier. example: nodejs type: string runtime_tag: description: The runtime version tag. example: '22' type: string source: description: The application's source information. properties: branch: description: The Git branch, or `null` for ZIP sources. example: main nullable: true type: string type: description: 'The source type. * `zip` — An uploaded archive. * `git` — A Git repository.' enum: - zip - git example: git type: string url: description: The Git repository URL, or `null` for ZIP sources. example: https://github.com/example/my-app.git nullable: true type: string type: object staged: description: Whether the application's source is present in the staging area. This is `true` after the source is uploaded or cloned and until the application is deleted. example: true type: boolean status: description: 'The application''s current status. * `created` — Registered but never deployed. * `deploying` — A deploy is in progress. * `running` — The application is live. * `stopped` — The application is stopped. * `errored` — The last action failed.' enum: - created - deploying - running - stopped - errored example: created type: string url: description: The application's live HTTPS URL. example: https://my-app.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: error_category: description: 'The machine-readable failure category. Only present when `status` is `0` and the `domain` parameter was rejected. * `domain_in_use` — Another of this account''s applications already serves this domain. * `domain_unavailable` — A domain already exists at the application''s generated default address. Only returned when `domain` was passed empty; an explicitly named domain the account owns is adopted instead.' enum: - domain_in_use - domain_unavailable nullable: true type: string type: object status: description: '- `1` - Success. - `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 an application's configuration. tags: - WebApp - Web Apps x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n WebApp \\\n configure \\\n name='my-app' \\\n env='{\"\ NODE_ENV\":\"production\",\"API_KEY\":\"abc123\"}' \\\n build_command='npm run build' \\\n startup_command='npm\ \ run start' \\\n runtime_tag='22'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/WebApp/configure?name=my-app&build_command=npm%20run%20build&startup_command=npm%20run%20start&runtime_tag=22 - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file WebApp_configure.live.pl and put this code into that file.\n# 5) In your\ \ browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend//\n# to .../frontend//api_examples/WebApp_configure.live.pl\n\ #--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI\ \ ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint\ \ \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n q/WebApp/,\n \ \ q/configure/,\n {\n 'name' => 'my-app',\n 'env' => '{\"NODE_ENV\":\"\ production\",\"API_KEY\":\"abc123\"}',\n 'build_command' => 'npm run build',\n 'startup_command'\ \ => 'npm run start',\n 'runtime_tag' => '22',\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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file WebApp_configure.live.php and put this code into that file.\n// 5) In\ \ your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend//\n// \ \ to .../frontend//api_examples/WebApp_configure.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'WebApp',\n 'configure',\n array (\n 'name' \ \ => 'my-app',\n 'env' => '{\"NODE_ENV\":\"production\",\"API_KEY\":\"abc123\"}',\n \ \ 'build_command' => 'npm run build',\n 'startup_command' => 'npm run start',\n 'runtime_tag'\ \ => '22',\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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 138 /WebApp/delete: get: description: "This function deletes an application: it stops the application's\nrunning process and removes its container,\ \ moves the application's\ndirectory aside to a `.bak` sibling (kept for verification or rollback\nrather than deleted),\ \ and removes the application from the account's\nregistry.\n\nDeleting an application cannot be undone, so it requires\ \ an explicit\nconfirmation: `verify` must be `1` to proceed. A `verify` of `0` makes\nno changes and returns a confirmation-required\ \ error.\n\nThe application's domain is not affected; subdomains are managed\nindependently.\n\nOn failure, the `metadata.error_category`\ \ field carries a\nmachine-readable failure category.\n\n**Important**:\n\n The `verify` parameter is **required**\ \ and has no default. You must\n set it to `1` to confirm this irreversible operation." operationId: WebApp_delete parameters: - description: The application's unique name (slug). in: query name: name required: true schema: example: my-app type: string - description: "Confirmation that this irreversible deletion should proceed.\n\n* `1` — Confirm and delete: the container\ \ is torn down and the\n application's directory is moved aside to `.bak` (kept for\n verification or rollback,\ \ not hard-deleted).\n* `0` — Make no changes; the call returns a confirmation-required\n error.\n\nThis parameter\ \ is **required** and has no default." in: query name: verify 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: delete type: string module: description: The name of the module called. example: WebApp type: string result: properties: data: properties: removed: description: 'Whether the application was removed. * `1` — Removed.' 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: error_category: description: 'The machine-readable failure category. Only present when `status` is `0`. * `teardown_failed` — The system could not fully remove the application (its container or its files); the application remains registered so the deletion can be retried. * `deploy_in_progress` — The application has a deploy currently in flight; wait for it to finish or fail, then retry.' enum: - teardown_failed - deploy_in_progress nullable: true type: string status: description: '- `1` - Success. - `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 an application. tags: - WebApp - Web Apps x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n WebApp \\\n delete \\\n name='my-app' \\\n verify='1'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/WebApp/delete?name=my-app&verify=1 - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file WebApp_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//\n# to .../frontend//api_examples/WebApp_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/WebApp/,\n \ \ q/delete/,\n {\n 'name' => 'my-app',\n 'verify' => 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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file WebApp_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//\n// to .../frontend//api_examples/WebApp_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\ \ 'WebApp',\n 'delete',\n array (\n 'name' => 'my-app',\n 'verify' => 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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 138 /WebApp/deploy: get: description: "Web Apps is the recommended feature for deploying new web applications; prefer it over the older Application\ \ Manager (`PassengerApps`) feature for new deployments.\n\nThis function deploys an application: it installs dependencies,\ \ runs\nthe build, and promotes the result to the live environment.\n\n**Note**:\n\n This function starts an asynchronous\ \ task and returns immediately.\n Stream the returned `sse_url` for live progress, or poll the task.\n While the\ \ task runs, the application's status is `deploying`. When\n the task finishes the status transitions to `running`\ \ on success or\n `errored` on failure. Use `WebApp::list` to read the current status\n and inspect `last_deploy`\ \ for the outcome and any failure category.\n\n**Important**:\n\n This function is idempotent. If you call it while\ \ a deploy for the\n same application is already running, it returns the in-flight\n task's identifiers instead\ \ of starting a new deploy.\n\nIf this call fails before the task is dispatched (for example, when\nthe application\ \ does not exist), `metadata.error_category` carries a\nmachine-readable failure category. Build and runtime failures\ \ occur\ninside the background task and are recorded asynchronously in\n`last_deploy.error_category`, which is accessible\ \ via `WebApp::list`." operationId: WebApp_deploy parameters: - description: The application's unique name (slug). in: query name: name required: true schema: example: my-app 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: deploy type: string module: description: The name of the module called. example: WebApp type: string result: properties: data: properties: deploy_id: description: The unique identifier of this deploy. example: dp-20260612-0001 type: string sse_url: description: The SSE URL to stream the deploy's progress. example: /sse/UserTasks/00000000_5c6c8b18228a35/deploy.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: error_category: description: 'The machine-readable failure category. Only present when `status` is `0` and the error occurred before the background task was dispatched. Build and runtime pipeline failures occur asynchronously; they are recorded in `last_deploy.error_category` after the task finishes and are accessible via `WebApp::list`. * `build_failed` — The build step failed. The error message includes the breached resource cap when one applied. * `port_conflict` — The application''s port is already in use. * `requires_build` — The application must be built before it can deploy, and no build command is configured. * `start_failed` — The container started but is not listening on a port, so the application is unreachable; it most likely exited immediately. * `limit_exceeded` — Deploying this application would push the account''s number of running application containers to or past its maximum allowed applications. * `domain_in_use` — Another of this account''s applications has claimed the application''s domain since it was last configured.' enum: - build_failed - port_conflict - requires_build - start_failed - limit_exceeded - domain_in_use nullable: true type: string type: object status: description: '- `1` - Success. - `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API. example: null items: type: string nullable: true type: array type: object type: object description: HTTP Request was successful. summary: Deploy an application. tags: - WebApp - Web Apps x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n WebApp \\\n deploy \\\n name='my-app'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/WebApp/deploy?name=my-app - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file WebApp_deploy.live.pl and put this code into that file.\n# 5) In your browser\ \ login to a cPanel account.\n# 6) Manually change the url from: .../frontend//\n# to .../frontend//api_examples/WebApp_deploy.live.pl\n\ #--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI\ \ ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint\ \ \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n q/WebApp/,\n \ \ q/deploy/,\n {\n 'name' => '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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file WebApp_deploy.live.php and put this code into that file.\n// 5) In your\ \ browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend//\n// to .../frontend//api_examples/WebApp_deploy.live.php\n\ //--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL\ \ object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\ \n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n\ \ 'WebApp',\n 'deploy',\n array (\n 'name' => '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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 138 /WebApp/fetch_logs: get: description: 'This function fetches an application''s runtime or build logs. It returns the most recent lines from the log the container persists on disk. It returns a static tail; live streaming of new lines is not yet available.' operationId: WebApp_fetch_logs parameters: - description: 'The type of log to fetch. * `app` — The application''s runtime output (stdout and stderr). * `build` — The output of the build step.' in: query name: log_type required: true schema: enum: - app - build example: app type: string - description: The application's unique name (slug). in: query name: name required: true schema: example: my-app type: string - description: 'Limit the output to a specific deploy''s logs. Only meaningful when `log_type` is `build`. This parameter defaults to the most recent deploy.' in: query name: deploy_id required: false schema: example: dp-20260612-0001 type: string - description: 'The maximum number of log lines to return, counted from the end of the log.' in: query name: lines required: false schema: example: 100 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: fetch_logs type: string module: description: The name of the module called. example: WebApp type: string result: properties: data: properties: lines: description: The requested log lines, oldest first. example: - Server listening on port 3000 - GET / 200 12ms items: 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. - `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API. example: null items: type: string nullable: true type: array type: object type: object description: HTTP Request was successful. summary: Fetch an application's runtime or build logs. tags: - WebApp - Web Apps x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n WebApp \\\n fetch_logs \\\n name='my-app' \\\n log_type='app'\ \ \\\n lines='100'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/WebApp/fetch_logs?name=my-app&log_type=app&lines=100 - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file WebApp_fetch_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//\n# to .../frontend//api_examples/WebApp_fetch_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/WebApp/,\n \ \ q/fetch_logs/,\n {\n 'name' => 'my-app',\n 'log_type' => 'app',\n 'lines' =>\ \ 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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file WebApp_fetch_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//\n// \ \ to .../frontend//api_examples/WebApp_fetch_logs.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'WebApp',\n 'fetch_logs',\n array (\n 'name' =>\ \ 'my-app',\n 'log_type' => 'app',\n 'lines' => 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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 138 /WebApp/get_available: get: description: 'This function returns the account''s application capacity: the account-wide application pool, and — per App Type enabled on the server — the runtime''s supported version tags and their package managers and the account''s current per-type usage. Call this function first to determine what kinds of applications the account can deploy.' operationId: WebApp_get_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: get_available type: string module: description: The name of the module called. example: WebApp type: string result: properties: data: properties: account: description: The account-wide application capacity, shared across all App Types. properties: apps: description: The account's total application allowance, applied across all App Types together. properties: available: description: The number of additional applications the account may still create (`limit` minus `used`, never below zero). example: 1 type: integer limit: description: The maximum number of applications the account may own. example: 4 type: integer used: description: The number of applications the account currently owns. example: 3 type: integer type: object type: object runtimes: additionalProperties: description: An enabled App Type, keyed by its runtime identifier. properties: apps: description: The account's current applications of this App Type. properties: used: description: The number of applications of this App Type the account currently owns. example: 3 type: integer required: - used type: object default_tag: description: The runtime version tag used when the caller does not choose one. example: '22' type: string display_name: description: The runtime's human-readable name. example: Node.js type: string tags: additionalProperties: description: The package managers available for this version tag. example: - npm - yarn - pnpm items: type: string type: array description: The runtime version tags available on the server, keyed by tag id, each mapping to its available package managers. type: object type: object description: The App Types enabled on the server, keyed by runtime identifier (for example, `nodejs`). A disabled App Type is absent rather than listed as unavailable. 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. - `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 available application runtimes and limits. tags: - WebApp - Web Apps x-codeSamples: - label: CLI lang: Shell source: 'uapi --output=jsonpretty --user=username WebApp get_available ' - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/WebApp/get_available - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file WebApp_get_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//\n# to\ \ .../frontend//api_examples/WebApp_get_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(WebApp => 'get_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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file WebApp_get_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//\n//\ \ to .../frontend//api_examples/WebApp_get_available.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'WebApp',\n 'get_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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 138 /WebApp/has_feature: get: description: 'This function reports whether the Web Apps feature is available to the current account, so an interface can decide whether to surface it. It is available when the server has the feature enabled, the account''s package feature list includes the feature, and the account is allowed at least one application.' operationId: WebApp_has_feature responses: '200': content: 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_feature type: string module: description: The name of the module called. example: WebApp type: string result: properties: data: properties: has_feature: description: 'Whether the Web Apps feature is available to the account. * `1` — Available. * `0` — Not available.' 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. - `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API. example: null items: type: string nullable: true type: array type: object type: object description: HTTP Request was successful. summary: Report whether the Web Apps feature is available. tags: - WebApp - Web Apps x-codeSamples: - label: CLI lang: Shell source: 'uapi --output=jsonpretty --user=username WebApp has_feature ' - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/WebApp/has_feature - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file WebApp_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//\n# to .../frontend//api_examples/WebApp_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(WebApp => 'has_feature');\n\ \n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n my $data = $response->{cpanelresult}{result}{data};\n\ \ # Do something with the $data\n # So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file WebApp_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//\n//\ \ to .../frontend//api_examples/WebApp_has_feature.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'WebApp',\n 'has_feature'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status'])\ \ {\n $data = $response['cpanelresult']['result']['data'];\n // Do something with the $data\n // So you\ \ can see the data shape we print it here.\n print to_json($data);\n}\nelse {\n // Report errors:\n print\ \ to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n\ $cpanel->end();\n\n//--------------------------------------------------------------------------------------\n//\ \ Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 138 /WebApp/list: get: description: 'This function lists the account''s web applications and their current state.' operationId: WebApp_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: WebApp type: string result: properties: data: description: The account's web applications. items: properties: category: description: 'The application''s category. This determines which lifecycle actions apply. * `static` — The application builds to static files that the web server serves directly. * `server` — The application runs a long-lived server process. * `other` — Any other kind of application.' enum: - static - server - other example: server type: string container_name: description: 'The name of the deployed container backing this application, or `null` while it is only staged. Assigned by the deploy and unique per application instance, so it identifies the exact deployed record even when several applications share a base name.' example: my-app.bob.01 nullable: true type: string db: description: The application's linked database information, or `null` if no database is linked. nullable: true properties: env_keys: description: The environment variable names that carry the database credentials. example: - DB_NAME - DB_HOST - DB_PORT items: type: string type: array host: description: The database server hostname. example: localhost format: hostname type: string name: description: The database name. example: example_my_app type: string port: description: The database server port. example: 3306 type: integer type: object deployed: description: Whether a deploy has put the application live. This is `true` once the application holds a container or a deploy has completed successfully, and `false` for a freshly staged application or one whose only deploy failed. example: false type: boolean deployname: description: The name used to name the deployment, or `null` when it defaults to the application name. example: my-site nullable: true type: string domain: description: The domain the application is bound to. This is an existing domain on the account or an automatically generated temporary domain. example: my-app.example.com format: domain type: string env: additionalProperties: type: string description: The application's environment variables. example: NODE_ENV: production type: object framework: description: The application's detected or user-selected framework, or `null` if unknown. example: nextjs nullable: true type: string last_deploy: description: Information about the most recent deploy, or `null` if the application has never deployed. nullable: true properties: deploy_id: description: The unique identifier of the deploy. example: dp-20260612-0001 type: string result: description: The result of the deploy. enum: - success - failed example: success type: string timestamp: description: When the deploy finished, in ISO 8601 format. example: '2026-06-12T14:03:22.000Z' format: date-time type: string type: object mode: description: The application's run mode. Only meaningful for the `server` category; `null` otherwise. enum: - production - development example: production nullable: true type: string name: description: 'The application''s name (slug), unique across the account. Use this value to address the application in the per-app operations (`configure`, `deploy`, and the lifecycle verbs). A name is assigned at stage; staging a name a deployed application already uses registers the new one under the next free `-N`, so each application keeps a distinct name.' example: my-app type: string package_manager: description: 'The package manager the deploy uses to install dependencies and run scripts. It is detected from the source''s `packageManager` field, a lockfile, or the default (`npm`).' enum: - npm - yarn - pnpm - bun example: npm type: string runtime: description: The application's runtime identifier. example: nodejs type: string runtime_tag: description: The runtime version tag. example: '22' type: string source: description: The application's source information. properties: branch: description: The Git branch, or `null` for ZIP sources. example: main nullable: true type: string type: description: 'The source type. * `zip` — An uploaded archive. * `git` — A Git repository.' enum: - zip - git example: git type: string url: description: The Git repository URL, or `null` for ZIP sources. example: https://github.com/example/my-app.git nullable: true type: string type: object staged: description: Whether the application's source is present in the staging area. This is `true` after the source is uploaded or cloned and until the application is deleted. example: true type: boolean status: description: 'The application''s current status. * `created` — Registered but never deployed. * `deploying` — A deploy is in progress. * `running` — The application is live. * `stopped` — The application is stopped. * `errored` — The last action failed.' enum: - created - deploying - running - stopped - errored example: running type: string url: description: The application's live HTTPS URL. example: https://my-app.example.com format: url 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. - `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 the account's web applications. tags: - WebApp - Web Apps x-codeSamples: - label: CLI lang: Shell source: 'uapi --output=jsonpretty --user=username WebApp list ' - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/WebApp/list - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file WebApp_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//\n# to .../frontend//api_examples/WebApp_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(WebApp => 'list');\n\ \n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n my $data = $response->{cpanelresult}{result}{data};\n\ \ # Do something with the $data\n # So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file WebApp_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//\n// to .../frontend//api_examples/WebApp_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\ \ 'WebApp',\n 'list'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n\ \ $data = $response['cpanelresult']['result']['data'];\n // Do something with the $data\n // So you can\ \ see the data shape we print it here.\n print to_json($data);\n}\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n\ }\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 138 /WebApp/redeploy: get: description: "This function redeploys an already-deployed application. For\nGit-sourced applications, it pulls the latest\ \ changes from the\nconfigured branch before deploying. Otherwise it behaves exactly\nlike `WebApp::deploy`.\n\n**Note**:\n\ \n This function starts an asynchronous task and returns immediately.\n Stream the returned `sse_url` for live progress,\ \ or poll the task.\n While the task runs, the application's status is `deploying`. When\n the task finishes the\ \ status transitions to `running` on success or\n `errored` on failure. Use `WebApp::list` to read the current status\n\ \ and inspect `last_deploy` for the outcome and any failure category.\n\n**Important**:\n\n This function is idempotent.\ \ If you call it while a deploy for the\n same application is already running, it returns the in-flight\n task's\ \ identifiers instead of starting a new deploy.\n\nIf this call fails before the task is dispatched (for example,\ \ when\nthe application does not exist), `metadata.error_category` carries a\nmachine-readable failure category. Build\ \ and runtime failures occur\ninside the background task and are recorded asynchronously in\n`last_deploy.error_category`,\ \ which is accessible via `WebApp::list`." operationId: WebApp_redeploy parameters: - description: The application's unique name (slug). in: query name: name required: true schema: example: my-app 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: redeploy type: string module: description: The name of the module called. example: WebApp type: string result: properties: data: properties: deploy_id: description: The unique identifier of this deploy. example: dp-20260612-0002 type: string sse_url: description: The SSE URL to stream the deploy's progress. example: /sse/UserTasks/00000000_5c6c8b18228a35/deploy.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: error_category: description: 'The machine-readable failure category. Only present when `status` is `0` and the error occurred before the background task was dispatched. Build and runtime pipeline failures occur asynchronously; they are recorded in `last_deploy.error_category` after the task finishes and are accessible via `WebApp::list`. * `build_failed` — The build step failed. The error message includes the breached resource cap when one applied. * `port_conflict` — The application''s port is already in use. * `requires_build` — The application must be built before it can deploy, and no build command is configured. * `start_failed` — The container started but is not listening on a port, so the application is unreachable; it most likely exited immediately. * `limit_exceeded` — Deploying this application would push the account''s number of running application containers to or past its maximum allowed applications. * `domain_in_use` — Another of this account''s applications has claimed the application''s domain since it was last configured.' enum: - build_failed - port_conflict - requires_build - start_failed - limit_exceeded - domain_in_use nullable: true type: string type: object status: description: '- `1` - Success. - `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API. example: null items: type: string nullable: true type: array type: object type: object description: HTTP Request was successful. summary: Redeploy an application, pulling source updates first. tags: - WebApp - Web Apps x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n WebApp \\\n redeploy \\\n name='my-app'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/WebApp/redeploy?name=my-app - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file WebApp_redeploy.live.pl and put this code into that file.\n# 5) In your\ \ browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend//\n# to .../frontend//api_examples/WebApp_redeploy.live.pl\n\ #--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI\ \ ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint\ \ \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n q/WebApp/,\n \ \ q/redeploy/,\n {\n 'name' => '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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file WebApp_redeploy.live.php and put this code into that file.\n// 5) In\ \ your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend//\n// \ \ to .../frontend//api_examples/WebApp_redeploy.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'WebApp',\n 'redeploy',\n array (\n 'name' => '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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 138 /WebApp/restart: get: description: "This function restarts an application's server process.\n\n**Important**:\n\n This function only applies\ \ to applications in the `server`\n category. Calling it on a `static` application fails with the\n `invalid_category`\ \ error category." operationId: WebApp_restart parameters: - description: The application's unique name (slug). in: query name: name required: true schema: example: my-app 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: restart type: string module: description: The name of the module called. example: WebApp type: string result: properties: data: properties: status: description: The application's status after the action. enum: - created - deploying - running - stopped - errored example: running 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: error_category: description: 'The machine-readable failure category. Only present when `status` is `0`. * `invalid_category` — The action does not apply to the application''s category.' enum: - invalid_category nullable: true type: string type: object status: description: '- `1` - Success. - `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API. example: null items: type: string nullable: true type: array type: object type: object description: HTTP Request was successful. summary: Restart an application's server process. tags: - WebApp - Web Apps x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n WebApp \\\n restart \\\n name='my-app'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/WebApp/restart?name=my-app - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file WebApp_restart.live.pl and put this code into that file.\n# 5) In your\ \ browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend//\n# to .../frontend//api_examples/WebApp_restart.live.pl\n\ #--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI\ \ ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint\ \ \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n q/WebApp/,\n \ \ q/restart/,\n {\n 'name' => '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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file WebApp_restart.live.php and put this code into that file.\n// 5) In your\ \ browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend//\n// to .../frontend//api_examples/WebApp_restart.live.php\n\ //--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL\ \ object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\ \n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n\ \ 'WebApp',\n 'restart',\n array (\n 'name' => 'my-app',\n )\n);\n\n// Handle the response\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 138 /WebApp/set_mode: get: description: "This function sets an application's run mode and restarts the\napplication so the new mode takes effect.\n\ \n**Important**:\n\n This function only applies to applications in the `server`\n category. Calling it on a `static`\ \ application fails with the\n `invalid_category` error category." operationId: WebApp_set_mode parameters: - description: The run mode to set. in: query name: mode required: true schema: enum: - production - development example: development type: string - description: The application's unique name (slug). in: query name: name required: true schema: example: my-app 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_mode type: string module: description: The name of the module called. example: WebApp type: string result: properties: data: properties: mode: description: The application's run mode after the change. enum: - production - development example: development type: string restarted: description: 'Whether the application restarted to apply the new mode. * `1` — Restarted.' 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: error_category: description: 'The machine-readable failure category. Only present when `status` is `0`. * `invalid_category` — The action does not apply to the application''s category.' enum: - invalid_category nullable: true type: string type: object status: description: '- `1` - Success. - `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API. example: null items: type: string nullable: true type: array type: object type: object description: HTTP Request was successful. summary: Set an application's run mode. tags: - WebApp - Web Apps x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n WebApp \\\n set_mode \\\n name='my-app' \\\n mode='development'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/WebApp/set_mode?name=my-app&mode=development - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file WebApp_set_mode.live.pl and put this code into that file.\n# 5) In your\ \ browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend//\n# to .../frontend//api_examples/WebApp_set_mode.live.pl\n\ #--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI\ \ ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint\ \ \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n q/WebApp/,\n \ \ q/set_mode/,\n {\n 'name' => 'my-app',\n 'mode' => 'development',\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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file WebApp_set_mode.live.php and put this code into that file.\n// 5) In\ \ your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend//\n// \ \ to .../frontend//api_examples/WebApp_set_mode.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'WebApp',\n 'set_mode',\n array (\n 'name' => 'my-app',\n\ \ 'mode' => 'development',\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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 138 /WebApp/stage: get: description: 'Web Apps is the recommended feature for deploying new web applications, and this function is the entry point. Prefer it over the older Application Manager (`PassengerApps`) feature for new deployments. This function registers a new web application from an uploaded archive or a Git repository. Once the source is placed on disk, it runs a preflight that inspects the source and detects the application''s framework and category, records them on the application, and derives suggested configuration defaults. The detection `confidence` and the suggested `defaults` are returned so you can pass them to `WebApp::configure`. The application is registered but **not** deployed — call `WebApp::configure` (optional) and then `WebApp::deploy` to bring it live. The preflight never fails the stage: a source with no recognizable markers is registered with a `none` confidence and generic defaults. Registering a name that is still **staged** (not yet deployed) overwrites it: the previously staged application and its source are replaced, and the response `warnings` array reports that the old files were overwritten. Registering a name that is already **deployed** leaves the running application untouched — its container and live routing are never disturbed — but the new application cannot reuse the deployed application''s display name, or `WebApp::list` and bare-name addressing could not tell the two apart. So it is registered under the next free `-N` (for example, `my-app-2`), and the response `warnings` array reports the assigned name. **Read the assigned name from the response `data.name`: you must pass that name (not the one you requested) to `WebApp::configure` and `WebApp::deploy` to act on this application**, which stands up as its own separate container. On failure, the `metadata.error_category` field carries a machine-readable failure category.' operationId: WebApp_stage parameters: - description: 'The requested application name (slug). If a deployed application already uses it, the application is registered under the next free `-N` instead; read the assigned name from the response `data.name` and use it for `WebApp::configure` and `WebApp::deploy`.' in: query name: name required: true schema: example: my-app type: string - description: "The application's source location. This is **required** for every\nsource type:\n\n* When `source_type`\ \ is `zip` — the path, relative to the user's\n home directory, of a previously uploaded source archive\n (for\ \ example, `uploads/my-app.zip`).\n* When `source_type` is `git` — the Git repository URL to clone\n (for example,\ \ `https://github.com/example/my-app.git`).\n\n**Security note:** This source is built and run on the server.\n\ Only use ZIP archives or Git repositories from a trusted origin.\n\nDo not embed credentials (such as a username\ \ and password or an\naccess token) in the Git URL — they are stored in plaintext. To\nclone a private repository,\ \ use a Git SSH URL that you have an\nSSH key configured for." in: query name: source required: true schema: example: https://github.com/example/my-app.git type: string - description: 'The application''s source type. * `zip` — An archive previously uploaded with `Fileman::upload_files`. * `git` — A Git repository.' in: query name: source_type required: true schema: enum: - zip - git example: git type: string - description: 'The application root, relative to the top of the cloned repository or extracted archive, for a source whose application does not live at the top level (for example, `packages/web` in a monorepo). The preflight inspects this directory to detect the framework. This parameter must be a relative path inside the source. When omitted, it defaults to the source root, unless the manifest is found in a single top-level subdirectory (as in a repository zip), in which case that subdirectory is used automatically.' in: query name: appdir required: false schema: example: packages/web type: string - description: 'The Git branch to clone. Only meaningful when `source_type` is `git`. This parameter defaults to the repository''s default branch.' in: query name: branch required: false schema: example: main type: string - description: 'The run mode for `server` category applications. This parameter defaults to `production`.' in: query name: mode required: false schema: enum: - production - development example: production type: string - description: 'The runtime that backs the application. This parameter defaults to the system default runtime (`nodejs`).' in: query name: runtime required: false schema: enum: - nodejs example: nodejs 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: stage type: string module: description: The name of the module called. example: WebApp type: string result: properties: data: description: The newly registered application. properties: category: description: 'The application''s category. This determines which lifecycle actions apply. * `static` — The application builds to static files that the web server serves directly. * `server` — The application runs a long-lived server process. * `other` — Any other kind of application.' enum: - static - server - other example: server type: string container_name: description: 'The name of the deployed container backing this application, or `null` while it is only staged. Assigned by the deploy and unique per application instance, so it identifies the exact deployed record even when several applications share a base name.' example: my-app.bob.01 nullable: true type: string confidence: description: 'How confident the preflight detection is. * `high` — Strong framework markers found. * `low` — Partial markers found; verify the defaults before deploying. * `none` — No recognizable markers; the defaults are generic.' enum: - high - low - none example: high type: string defaults: description: Suggested configuration values for the detected framework. Pass them to `WebApp::configure` as-is or after user adjustment. properties: build_command: description: The suggested build command, or `null` if no build step is needed. example: npm run build nullable: true type: string output_dir: description: The suggested build output directory, or `null` if not applicable. example: .next nullable: true type: string runtime_tag: description: The suggested runtime version tag. example: '22' type: string startup_command: description: The suggested startup command, or `null` for `static` applications. example: npm run start nullable: true type: string type: object db: description: The application's linked database information, or `null` if no database is linked. nullable: true properties: env_keys: description: The environment variable names that carry the database credentials. example: - DB_NAME - DB_HOST - DB_PORT items: type: string type: array host: description: The database server hostname. example: localhost format: hostname type: string name: description: The database name. example: example_my_app type: string port: description: The database server port. example: 3306 type: integer type: object deployed: description: Whether a deploy has put the application live. This is `true` once the application holds a container or a deploy has completed successfully, and `false` for a freshly staged application or one whose only deploy failed. example: false type: boolean domain: description: The domain the application is bound to. This is an existing domain on the account or an automatically generated temporary domain. example: my-app.example.com format: domain type: string env: additionalProperties: type: string description: The application's environment variables. example: NODE_ENV: production type: object framework: description: The application's detected or user-selected framework, or `null` if unknown. example: null nullable: true type: string last_deploy: description: Information about the most recent deploy, or `null` if the application has never deployed. nullable: true properties: deploy_id: description: The unique identifier of the deploy. example: dp-20260612-0001 type: string result: description: The result of the deploy. enum: - success - failed example: success type: string timestamp: description: When the deploy finished, in ISO 8601 format. example: '2026-06-12T14:03:22.000Z' format: date-time type: string type: object mode: description: The application's run mode. Only meaningful for the `server` category; `null` otherwise. enum: - production - development example: production nullable: true type: string name: description: 'The application''s assigned name (slug), unique across the account. This may differ from the name you requested: if a deployed application already used that name, the application was registered under the next free `-N`. Use this value for `WebApp::configure` and `WebApp::deploy`.' example: my-app type: string package_manager: description: 'The package manager the deploy uses to install dependencies and run scripts. It is detected from the source''s `packageManager` field, a lockfile, or the default (`npm`).' enum: - npm - yarn - pnpm - bun example: npm type: string runtime: description: The application's runtime identifier. example: nodejs type: string runtime_tag: description: The runtime version tag. example: '22' type: string source: description: The application's source information. properties: branch: description: The Git branch, or `null` for ZIP sources. example: main nullable: true type: string type: description: 'The source type. * `zip` — An uploaded archive. * `git` — A Git repository.' enum: - zip - git example: git type: string url: description: The Git repository URL, or `null` for ZIP sources. example: https://github.com/example/my-app.git nullable: true type: string type: object staged: description: Whether the application's source is present in the staging area. This is `true` after the source is uploaded or cloned and until the application is deleted. example: true type: boolean status: description: 'The application''s current status. * `created` — Registered but never deployed. * `deploying` — A deploy is in progress. * `running` — The application is live. * `stopped` — The application is stopped. * `errored` — The last action failed.' enum: - created - deploying - running - stopped - errored example: created type: string url: description: The application's live HTTPS URL. example: https://my-app.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: error_category: description: 'The machine-readable failure category. Only present when `status` is `0`. * `limit_exceeded` — The account reached its application count or memory limit. * `source_invalid` — The source archive or Git repository is missing, unreadable, or invalid.' enum: - limit_exceeded - source_invalid nullable: true type: string type: object status: description: '- `1` - Success. - `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 a new web application. tags: - WebApp - Web Apps x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n WebApp \\\n stage \\\n name='my-app' \\\n source_type='git'\ \ \\\n source='https://github.com/example/my-app.git' \\\n branch='main'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/WebApp/stage?name=my-app&source_type=git&source=https%3A%2F%2Fgithub.com%2Fexample%2Fmy-app.git&branch=main - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file WebApp_stage.live.pl and put this code into that file.\n# 5) In your browser\ \ login to a cPanel account.\n# 6) Manually change the url from: .../frontend//\n# to .../frontend//api_examples/WebApp_stage.live.pl\n\ #--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI\ \ ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint\ \ \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n q/WebApp/,\n \ \ q/stage/,\n {\n 'name' => 'my-app',\n 'source_type' => 'git',\n 'source' \ \ => 'https://github.com/example/my-app.git',\n 'branch' => 'main',\n }\n);\n\n# Handle the response\n\ if ($response->{cpanelresult}{result}{status}) {\n my $data = $response->{cpanelresult}{result}{data};\n #\ \ Do something with the $data\n # So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file WebApp_stage.live.php and put this code into that file.\n// 5) In your\ \ browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend//\n// to .../frontend//api_examples/WebApp_stage.live.php\n\ //--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL\ \ object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\ \n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n\ \ 'WebApp',\n 'stage',\n array (\n 'name' => 'my-app',\n 'source_type' => 'git',\n\ \ 'source' => 'https://github.com/example/my-app.git',\n 'branch' => 'main',\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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 138 /WebApp/start: get: description: "This function starts an application's server process.\n\n**Important**:\n\n This function only applies\ \ to applications in the `server`\n category. Calling it on a `static` application fails with the\n `invalid_category`\ \ error category." operationId: WebApp_start parameters: - description: The application's unique name (slug). in: query name: name required: true schema: example: my-app 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: start type: string module: description: The name of the module called. example: WebApp type: string result: properties: data: properties: status: description: The application's status after the action. enum: - created - deploying - running - stopped - errored example: running 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: error_category: description: 'The machine-readable failure category. Only present when `status` is `0`. * `invalid_category` — The action does not apply to the application''s category.' enum: - invalid_category nullable: true type: string type: object status: description: '- `1` - Success. - `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 an application's server process. tags: - WebApp - Web Apps x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n WebApp \\\n start \\\n name='my-app'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/WebApp/start?name=my-app - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file WebApp_start.live.pl and put this code into that file.\n# 5) In your browser\ \ login to a cPanel account.\n# 6) Manually change the url from: .../frontend//\n# to .../frontend//api_examples/WebApp_start.live.pl\n\ #--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI\ \ ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint\ \ \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n q/WebApp/,\n \ \ q/start/,\n {\n 'name' => '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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file WebApp_start.live.php and put this code into that file.\n// 5) In your\ \ browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend//\n// to .../frontend//api_examples/WebApp_start.live.php\n\ //--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL\ \ object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\ \n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n\ \ 'WebApp',\n 'start',\n array (\n 'name' => '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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 138 /WebApp/stop: get: description: "This function stops an application's server process.\n\n**Important**:\n\n This function only applies\ \ to applications in the `server`\n category. Calling it on a `static` application fails with the\n `invalid_category`\ \ error category." operationId: WebApp_stop parameters: - description: The application's unique name (slug). in: query name: name required: true schema: example: my-app 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: stop type: string module: description: The name of the module called. example: WebApp type: string result: properties: data: properties: status: description: The application's status after the action. enum: - created - deploying - running - stopped - errored example: stopped 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: error_category: description: 'The machine-readable failure category. Only present when `status` is `0`. * `invalid_category` — The action does not apply to the application''s category.' enum: - invalid_category nullable: true type: string type: object status: description: '- `1` - Success. - `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API. example: null items: type: string nullable: true type: array type: object type: object description: HTTP Request was successful. summary: Stop an application's server process. tags: - WebApp - Web Apps x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n WebApp \\\n stop \\\n name='my-app'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/WebApp/stop?name=my-app - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file WebApp_stop.live.pl and put this code into that file.\n# 5) In your browser\ \ login to a cPanel account.\n# 6) Manually change the url from: .../frontend//\n# to .../frontend//api_examples/WebApp_stop.live.pl\n\ #--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI\ \ ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint\ \ \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n q/WebApp/,\n \ \ q/stop/,\n {\n 'name' => '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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file WebApp_stop.live.php and put this code into that file.\n// 5) In your\ \ browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend//\n// to .../frontend//api_examples/WebApp_stop.live.php\n\ //--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL\ \ object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\ \n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n\ \ 'WebApp',\n 'stop',\n array (\n 'name' => '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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 138 /WebDisk/delete_user: get: x-readonly: false x-rollback: none description: 'This function deletes a Web Disk account. **Important:** When you disable the [Web Disk role](https://go.cpanel.net/serverroles), the system **disables** this function.' operationId: WebDisk-delete_user parameters: - description: 'Whether to recursively delete the Web Disk account''s folder and all of its contents. * `1` - Delete the folder for the Web Disk account * `0` - Do **not** delete the folder for the Web Disk account.' in: query name: destroy required: true schema: enum: - 0 - 1 example: 1 type: integer - description: The Web Disk account username. in: query name: user required: true schema: example: example1@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_user type: string module: description: The name of the module called. example: WebDisk 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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 Web Disk account tags: - WebDisk - WebDisk Settings x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n WebDisk \\\n delete_user \\\n user='example1@example.com'\ \ \\\n destroy='1'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/WebDisk/delete_user?user=example1%40example.com&destroy=1 - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file WebDisk_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//\n# to\ \ .../frontend//api_examples/WebDisk_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/WebDisk/,\n q/delete_user/,\n {\n 'user' => 'example1@example.com',\n \ \ 'destroy' => '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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file WebDisk_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//\n//\ \ to .../frontend//api_examples/WebDisk_delete_user.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'WebDisk',\n 'delete_user',\n array (\n 'user' => 'example1@example.com',\n\ \ 'destroy' => '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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 54 /WebDisk/set_homedir: get: x-readonly: false x-rollback: none description: 'This function changes the home directory for a Web Disk account. **Important:** When you disable the [Web Disk role](https://go.cpanel.net/serveroles), the system **disables** this function.' operationId: WebDisk-set_homedir parameters: - description: The Web Disk account's home directory. in: query name: homedir required: true schema: example: example1/ format: path type: string - description: The Web Disk account username. in: query name: user required: true schema: example: example1@example.com format: email type: string - description: 'Whether to set the Web Disk directory''s permissions to public or private. * `1` - Private (`0700`) * `0` - Public (`0755`)' in: query name: private 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_homedir type: string module: description: The name of the module called. example: WebDisk 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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 Web Disk home directory location tags: - WebDisk - WebDisk Settings x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n WebDisk \\\n set_homedir \\\n user='example1@example.com'\ \ \\\n homedir='example1/'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/WebDisk/set_homedir?user=example1%40example.com&homedir=example1%2f - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file WebDisk_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//\n# to\ \ .../frontend//api_examples/WebDisk_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/WebDisk/,\n q/set_homedir/,\n {\n 'user' => 'example1@example.com',\n \ \ 'homedir' => '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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file WebDisk_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//\n//\ \ to .../frontend//api_examples/WebDisk_set_homedir.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'WebDisk',\n 'set_homedir',\n array (\n 'user' => 'example1@example.com',\n\ \ 'homedir' => '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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 54 /WebDisk/set_password: get: x-readonly: false x-rollback: clean description: 'This function changes the Web Disk account''s password. **Important:** When you disable the [Web Disk role](https://go.cpanel.net/serverroles), the system **disables** this function.' operationId: WebDisk-set_password parameters: - description: The Web Disk account's password. in: query name: password required: true schema: example: 123456luggage type: string - description: The Web Disk account username. in: query name: user required: true schema: example: example1@example.com format: email type: string - description: 'Whether to enable Digest Authentication. * `1` - Enable Digest Authentication. * `0` - Disable Digest Authentication.' in: query name: enabledigest 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_password type: string module: description: The name of the module called. example: WebDisk 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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 Web Disk account password tags: - WebDisk - WebDisk Settings x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n WebDisk \\\n set_password \\\n user='example1@example.com'\ \ \\\n password='123456luggage'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/WebDisk/set_password?user=example1%40example.com&password=123456luggage - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file WebDisk_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//\n# to\ \ .../frontend//api_examples/WebDisk_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/WebDisk/,\n q/set_password/,\n {\n 'user' => 'example1@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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file WebDisk_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//\n//\ \ to .../frontend//api_examples/WebDisk_set_password.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'WebDisk',\n 'set_password',\n array (\n 'user' =>\ \ 'example1@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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 54 /WebDisk/set_permissions: get: x-readonly: false x-rollback: clean description: 'This function changes the Web Disk home directory''s permissions. **Important:** When you disable the [Web Disk role](https://go.cpanel.net/serverroles), the system **disables** this function.' operationId: WebDisk-set_permissions parameters: - description: 'The Web Disk account''s home directory file permissions. * `ro` — Read-only permissions. * `rw` — Read and write permissions.' in: query name: perms required: true schema: enum: - ro - rw example: rw type: string - description: The Web Disk account's username. in: query name: user required: true schema: example: example1@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: set_permissions type: string module: description: The name of the module called. example: WebDisk 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings 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 Web Disk home directory permissions tags: - WebDisk - WebDisk Settings x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n WebDisk \\\n set_permissions \\\n user='example1@example.com'\ \ \\\n perms='rw'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/WebDisk/set_permissions?user=example1%40example.com&perms=rw - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file WebDisk_set_permissions.live.pl and put this code into that file.\n# 5)\ \ In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend//\n# \ \ to .../frontend//api_examples/WebDisk_set_permissions.live.pl\n#--------------------------------------------------------------------------------------\n\ \nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this\ \ once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response =\ \ $cpanel->uapi(\n q/WebDisk/,\n q/set_permissions/,\n {\n 'user' => 'example1@example.com',\n \ \ 'perms' => 'rw',\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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file WebDisk_set_permissions.live.php and put this code into that file.\n\ // 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend//\n\ // to .../frontend//api_examples/WebDisk_set_permissions.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'WebDisk',\n 'set_permissions',\n array (\n 'user'\ \ => 'example1@example.com',\n 'perms' => 'rw',\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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 54 /WebProsMCP/get_connection_config: get: description: Returns whether the current cPanel user's account is linked to a WebPros Account and the connection snippet for the WebPros MCP. operationId: get_connection_config parameters: [] responses: '200': content: application/json: schema: properties: apiversion: example: 3 type: integer func: example: get_connection_config type: string module: example: WebProsMCP type: string result: properties: data: properties: is_linked: description: 1 if the current user has a WebPros authentication link, 0 otherwise. example: 1 type: integer link_url: description: Session-relative URL used to initiate the WebPros Account link. example: /openid_connect/webpros type: string environment: description: '''production'' when the baked-in defaults are in effect, or ''overridden'' when the overrides file repoints either MCP value.' example: production type: string mcp_config: description: The MCP connection snippet. properties: name: example: webpros-mcp type: string type: example: http type: string url: example: https://mcp.webpros.com/api/mcp type: string oauth: properties: clientId: example: Hf3QmY8LpRs2KaV7NxTwJe6CgUz9BdMiP4vXnLq1Zo type: string callbackPort: example: 64474 type: integer type: object type: object 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 the WebPros MCP connection configuration tags: - WebProsMCP x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n WebProsMCP \\\n get_connection_config\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/WebProsMCP/get_connection_config - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/\n\ # 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file WebProsMCP_get_connection_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//\n# to .../frontend//api_examples/WebProsMCP_get_connection_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/WebProsMCP/,\n\ \ q/get_connection_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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/\n\ // 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file WebProsMCP_get_connection_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//\n// to .../frontend//api_examples/WebProsMCP_get_connection_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\ \ 'WebProsMCP',\n 'get_connection_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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}\n" x-cpanel-api-version: UAPI x-cpanel-available-version: 138 x-cpanel-plugin: WebProsMCP /WebProsMCP/unlink_webpros_account: get: x-readonly: false description: Removes the current cPanel user's WebPros Account authentication link(s), disconnecting the account from the WebPros MCP. This is not limited to MCP; it also disables WebPros Account login and any other WebPros integration for this cPanel account until the account is linked again. The call is idempotent and succeeds as a no-op when no link exists. operationId: unlink_webpros_account parameters: [] responses: '200': content: application/json: schema: properties: apiversion: example: 3 type: integer func: example: unlink_webpros_account type: string module: example: WebProsMCP type: string result: properties: data: properties: is_linked: description: Always 0 after a successful call. 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: Unlink the WebPros Account from this cPanel account tags: - WebProsMCP x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n WebProsMCP \\\n unlink_webpros_account\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/WebProsMCP/unlink_webpros_account - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/\n\ # 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file WebProsMCP_unlink_webpros_account.live.pl and\ \ put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from:\ \ .../frontend//\n# to .../frontend//api_examples/WebProsMCP_unlink_webpros_account.live.pl\n\ #--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI\ \ ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint\ \ \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n q/WebProsMCP/,\n\ \ q/unlink_webpros_account/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n\ \ my $data = $response->{cpanelresult}{result}{data};\n # Do something with the $data\n # So you can see\ \ the data shape we print it here.\n print to_json($data);\n}\nelse {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n\ }\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/\n\ // 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file WebProsMCP_unlink_webpros_account.live.php\ \ and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the\ \ url from: .../frontend//\n// to .../frontend//api_examples/WebProsMCP_unlink_webpros_account.live.php\n\ //--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL\ \ object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\ \n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n\ \ 'WebProsMCP',\n 'unlink_webpros_account'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status'])\ \ {\n $data = $response['cpanelresult']['result']['data'];\n // Do something with the $data\n // So you\ \ can see the data shape we print it here.\n print to_json($data);\n}\nelse {\n // Report errors:\n print\ \ to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n\ $cpanel->end();\n\n//--------------------------------------------------------------------------------------\n//\ \ Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}\n" x-cpanel-api-version: UAPI x-cpanel-available-version: 138 x-cpanel-plugin: WebProsMCP /WebVhosts/list_domains: get: x-readonly: true description: This function lists virtual host names for each domain. operationId: WebVhosts-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: WebVhosts type: string result: properties: data: items: properties: domain: description: The domain name. example: example.com format: domain type: string proxy_subdomains: description: 'An array of service subdomains (proxy subdomains) listed for the domain. **Note:** This only returns values when `vhost_is_ssl` equals `1`.' example: - cpanel - webmail - autodiscover - whm - webdisk items: type: string nullable: true type: array vhost_is_ssl: description: 'Whether an SSL certificate secures the domain. * `1` - Secured. * `0` - **Not** secured.' enum: - 0 - 1 example: 1 type: integer vhost_name: description: The name of the virtual host. example: hostname.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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 names for domains tags: - WebVhosts - Virtual Host Information x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n WebVhosts \\\n list_domains\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/WebVhosts/list_domains - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file WebVhosts_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//\n# \ \ to .../frontend//api_examples/WebVhosts_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/WebVhosts/,\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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file WebVhosts_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//\n\ // to .../frontend//api_examples/WebVhosts_list_domains.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'WebVhosts',\n 'list_domains'\n);\n\n// Handle the response\n\ if ($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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 56 /WebVhosts/list_ssl_capable_domains: get: x-readonly: true description: This function lists every domain for which you may purchase an SSL certificate. The possible domains for the Secure Sockets Layer (SSL) certificate include applicable [service subdomains.](https://go.cpanel.net/ServiceProxySubdomains) operationId: WebVhosts-list_ssl_capable_domains parameters: - description: 'Whether to hide temporary domains from the returned values. * `1` — Return an error if the requested domain is a temporary domain. * `0` — Return all domains, including the temporary domains. **Note:** If you set this parameter''s value to `1` and the requested domain is temporary, the function will return an error similar to the following example: `Domain [example.com] is a temporary domain and `hide_temporary_domains` is enabled.`' 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_ssl_capable_domains type: string module: description: The name of the module called. example: WebVhosts type: string result: properties: data: description: An array of objects containing data for a domain. items: properties: domain: description: A valid domain name on the virtual host. example: example.com format: domain type: string is_proxy: description: 'Whether the system automatically created the service subdomain or a user manually created the domain. * `1` - The system automatically created the service subdomain. * `0` - A user manually created the domain. **Note:** If a user manually creates a subdomain that matches a preassigned subdomain (for example, cpanel or whm), then the function returns `0`.' enum: - 0 - 1 example: 1 type: integer vhost_name: description: The name of the virtual host or website. example: hostname.example.com format: domain 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 allow SSL certificate purchase tags: - WebVhosts - Virtual Host Information x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n WebVhosts \\\n list_ssl_capable_domains\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/WebVhosts/list_ssl_capable_domains - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file WebVhosts_list_ssl_capable_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//\n\ # to .../frontend//api_examples/WebVhosts_list_ssl_capable_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/WebVhosts/,\n q/list_ssl_capable_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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file WebVhosts_list_ssl_capable_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//\n\ // to .../frontend//api_examples/WebVhosts_list_ssl_capable_domains.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'WebVhosts',\n 'list_ssl_capable_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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 64 /WebmailApps/list_webmail_apps: get: x-readonly: true description: 'This function lists the account''s available webmail clients. **Important:** When you disable the [Receive Mail role](https://go.cpanel.net/howtouseserverprofiles#roles), the system **disables** this function. ' operationId: WebmailApps-list_webmail_apps parameters: - description: The webmail theme. in: query name: theme required: false schema: default: the server's default theme example: jupiter 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_webmail_apps type: string module: description: The name of the module called. example: WebmailApps type: string result: properties: data: items: properties: displayname: description: The webmail client name, as it will display in the interface. example: Roundcube type: string icon: description: An icon file's path, relative to the `/usr/local/cpanel/base/frontend` directory. example: /webmail/jupiter/images/roundcube_logo.png type: string id: description: The webmail client's ID. example: roundcube type: string url: description: The webmail client's URL. example: /cpsess##########/3rdparty/roundcube/index.php format: url-path 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. * `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 available webmail clients tags: - WebmailApps - Webmail Applications x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n WebmailApps \\\n list_webmail_apps\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/WebmailApps/list_webmail_apps - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file WebmailApps_list_webmail_apps.live.pl and put this code into that file.\n\ # 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend//\n\ # to .../frontend//api_examples/WebmailApps_list_webmail_apps.live.pl\n#--------------------------------------------------------------------------------------\n\ \nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this\ \ once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response =\ \ $cpanel->uapi(\n q/WebmailApps/,\n q/list_webmail_apps/\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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file WebmailApps_list_webmail_apps.live.php and put this code into that file.\n\ // 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend//\n\ // to .../frontend//api_examples/WebmailApps_list_webmail_apps.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'WebmailApps',\n 'list_webmail_apps'\n);\n\n// Handle the response\n\ if ($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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 11.48 /WordPressBackup/any_running: get: x-readonly: true description: 'This function checks for any active WordPress® site backups on the cPanel account. **Note:** You **must** install the [WordPress Manager](https://go.cpanel.net/wordpressmanager) cPanel plugin to access this API function.' operationId: WordPressBackup-any_running 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: any_running type: string module: description: The name of the module called. example: WordPressBackup type: string result: properties: data: properties: any_running: description: 'Whether any backups are in progess. * `1` - Backups are in progress. * `0` - No backups are in progress.' enum: - 0 - 1 example: 0 type: integer sites: description: An array that contains each site with a backup in progress. The function only populates this array if it is actively processing a backup. items: properties: id: description: 'The WordPress site''s unique ID. **Note:** `null` is the only possible value. We have not implemented this return.' example: 'null' nullable: true type: string site: description: The WordPress site's URL. The URL does not contain a protocol prefix. example: example.com type: string type: description: 'The type of process that is active. **Note:** `backup` is the only possible value.' example: backup type: string type: object type: array sse_url: description: The SSE service URL that the system uses to monitor the backup progress. The SSE service URL does not contain a protocol, hostname, or port. example: /sse/WordPressBackup 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. * 0 - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 WordPress sites' backup status tags: - WordPressBackup - WordPress Manager Backups x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n WordPressBackup \\\n any_running\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/WordPressBackup/any_running - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file WordPressBackup_any_running.live.pl and put this code into that file.\n\ # 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend//\n\ # to .../frontend//api_examples/WordPressBackup_any_running.live.pl\n#--------------------------------------------------------------------------------------\n\ \nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this\ \ once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response =\ \ $cpanel->uapi(\n q/WordPressBackup/,\n q/any_running/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status})\ \ {\n my $data = $response->{cpanelresult}{result}{data};\n # Do something with the $data\n # So you can\ \ see the data shape we print it here.\n print to_json($data);\n}\nelse {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n\ }\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file WordPressBackup_any_running.live.php and put this code into that file.\n\ // 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend//\n\ // to .../frontend//api_examples/WordPressBackup_any_running.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'WordPressBackup',\n 'any_running'\n);\n\n// Handle the response\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: WordPress Manager 3.0 /WordPressBackup/cancel: get: x-readonly: false x-rollback: none description: "This function cancels a WordPress® site backup.\n\n**Note:**\n\n You **must** install the [WordPress\ \ Manager](https://go.cpanel.net/wordpressmanager) cPanel plugin to access this API function." operationId: WordPressBackup-cancel parameters: - description: The WordPress site's URL without the protocol prefix. example: example.com in: query name: site required: true schema: anyOf: - example: example.com format: domain - example: example.com/wordpress format: url-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: cancel type: string module: description: The name of the module called. example: WordPressBackup type: string result: properties: data: properties: ok: description: 'Whether the system cancelled an active backup. * `1` — Backup cancelled. * `0` — Could not cancel the backup or no active backup in progress.' enum: - 0 - 1 example: 0 type: integer site: description: The site's URL without the protocol prefix. oneOf: - example: example.com format: domain - example: example.com/wordpress format: url-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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API. example: null items: type: string nullable: true type: array type: object type: object description: HTTP Request was successful. summary: Stop WordPress site backup tags: - WordPressBackup - WordPress Manager Backups x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n WordPressBackup \\\n cancel \\\n site='example.com'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/WordPressBackup/cancel?site=example.com - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file WordPressBackup_cancel.live.pl and put this code into that file.\n# 5)\ \ In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend//\n# \ \ to .../frontend//api_examples/WordPressBackup_cancel.live.pl\n#--------------------------------------------------------------------------------------\n\ \nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this\ \ once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response =\ \ $cpanel->uapi(\n q/WordPressBackup/,\n q/cancel/,\n {\n 'site' => '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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file WordPressBackup_cancel.live.php and put this code into that file.\n//\ \ 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend//\n\ // to .../frontend//api_examples/WordPressBackup_cancel.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'WordPressBackup',\n 'cancel',\n array (\n 'site' =>\ \ '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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: WordPress Manager 3.0 /WordPressBackup/cleanup: get: x-readonly: false x-rollback: none description: 'This function releases any system resources from a previous WordPress® site backup. **Note:** You **must** install the [WordPress Manager](https://go.cpanel.net/wordpressmanager) cPanel plugin to access this API function.' operationId: WordPressBackup-cleanup parameters: - description: The WordPress site's URL **without** the protocol prefix. in: query name: site required: true schema: example: example.com/wordpress 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: cleanup type: string module: description: The name of the module called. example: WordPressBackup type: string result: properties: data: nullable: true properties: ok: description: 'Whether the system released the system resources. * `1` - Resources released. * `0` - Backup in progress.' enum: - 0 - 1 example: 1 type: integer site: description: The site's URL **without** the protocol prefix. example: 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 WordPress backup temporary files tags: - WordPressBackup - WordPress Manager Backups x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n WordPressBackup \\\n cleanup \\\n site='example.com/wordpress'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/WordPressBackup/cleanup?site=example.com%2fwordpress - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file WordPressBackup_cleanup.live.pl and put this code into that file.\n# 5)\ \ In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend//\n# \ \ to .../frontend//api_examples/WordPressBackup_cleanup.live.pl\n#--------------------------------------------------------------------------------------\n\ \nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this\ \ once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response =\ \ $cpanel->uapi(\n q/WordPressBackup/,\n q/cleanup/,\n {\n 'site' => 'example.com/wordpress',\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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file WordPressBackup_cleanup.live.php and put this code into that file.\n\ // 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend//\n\ // to .../frontend//api_examples/WordPressBackup_cleanup.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'WordPressBackup',\n 'cleanup',\n array (\n 'site'\ \ => 'example.com/wordpress',\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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: WordPress Manager 3.0 /WordPressBackup/get_available_backups: get: x-readonly: true description: 'This function retrieves a list of available WordPress® site backups of a single site. **Note:** You **must** install the [WordPress Manager](https://go.cpanel.net/wordpressmanager) cPanel plugin to access this API function.' operationId: WordPressBackup-get_available_backups parameters: - description: The WordPress site's URL **without** the protocol prefix. in: query name: site required: true schema: example: example.com/wordpress 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_backups type: string module: description: The name of the module called. example: WordPressBackup type: string result: properties: data: properties: available: description: An array of objects containing a list of the WordPress site's backups. items: properties: date: description: The date and time the system created the backup. example: 1539267197000 format: unix_timestamp type: integer file: description: The backup's file name with the `tar.zip` extension. example: example.com__2018-10-10T10:53:31-0500.tar.gz type: string path: description: The absolute path to the backup file. example: /home/example/wordpress-backups/example.com__2018-10-10T10:53:31-0500.tar.gz type: string site: description: The site's URL **without** the protocol prefix. example: example.com type: string type: object nullable: true type: array dir: description: The absolute path to the backup directory. example: /home/example/wordpress-backups 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 WordPress site backups tags: - WordPressBackup - WordPress Manager Backups x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n WordPressBackup \\\n get_available_backups \\\n site='example.com/wordpress'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/WordPressBackup/get_available_backups?site=example.com%2fwordpress - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file WordPressBackup_get_available_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//\n\ # to .../frontend//api_examples/WordPressBackup_get_available_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/WordPressBackup/,\n q/get_available_backups/,\n {\n 'site' => 'example.com/wordpress',\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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file WordPressBackup_get_available_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//\n\ // to .../frontend//api_examples/WordPressBackup_get_available_backups.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'WordPressBackup',\n 'get_available_backups',\n array (\n\ \ 'site' => 'example.com/wordpress',\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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: WordPress Manager 3.0 /WordPressBackup/is_running: get: x-readonly: true description: 'This function checks for an active WordPress® site backup. **Note:** You **must** install the [WordPress Manager](https://go.cpanel.net/wordpressmanager) cPanel plugin to access this API function.' operationId: WordPressBackup-is_running parameters: - description: The WordPress site's URL **without** `http://`. in: query name: site required: true schema: example: 'example.com example.com/wordpress' 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_running type: string module: description: The name of the module called. example: WordPressBackup type: string result: properties: data: properties: action_id: description: The unique ID of the backup process. example: example.com__2018-10-10T10:53:31-0500 nullable: true type: string is_running: description: 'Whether a backup is active. * `1` - Backup in progress. * `0` - No backup in progress.' 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 - 0 - Failed: Check the errors field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 WordPress site backup status tags: - WordPressBackup - WordPress Manager Backups x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n WordPressBackup \\\n is_running \\\n site='example.com\n\ \nexample.com/wordpress'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/WordPressBackup/is_running?site=example.com%0a%0aexample.com%2fwordpress - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file WordPressBackup_is_running.live.pl and put this code into that file.\n\ # 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend//\n\ # to .../frontend//api_examples/WordPressBackup_is_running.live.pl\n#--------------------------------------------------------------------------------------\n\ \nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this\ \ once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response =\ \ $cpanel->uapi(\n q/WordPressBackup/,\n q/is_running/,\n {\n 'site' => 'example.com\n\nexample.com/wordpress',\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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file WordPressBackup_is_running.live.php and put this code into that file.\n\ // 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend//\n\ // to .../frontend//api_examples/WordPressBackup_is_running.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'WordPressBackup',\n 'is_running',\n array (\n 'site'\ \ => 'example.com\n\nexample.com/wordpress',\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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: WordPress Manager 3.0 /WordPressBackup/start: get: x-readonly: false x-rollback: none description: 'This function starts a single WordPress® site backup. **Note:** You **must** install the [WordPress Manager](https://go.cpanel.net/wordpressmanager) cPanel plugin to access this API function.' operationId: WordPressBackup-start parameters: - description: The WordPress site's URL without the protocol prefix. example: example.com in: query name: site required: true schema: anyOf: - example: example.com/wordpress format: url-path - 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: start type: string module: description: The name of the module called. example: WordPressBackup type: string result: properties: data: properties: backup_id: description: The unique ID of the backup process. example: example.com__2018-10-10T10:53:31-0500 type: string site: description: The WordPress site's URL without the protocol prefix. oneOf: - example: example.com format: domain - example: example.com/wordpress format: url-path type: string sse_url: description: The SSE path **without** the protocol, hostname, or port that the system uses to monitor the backup progress. example: /sse/WordPressBackup format: url-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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API. example: null items: type: string nullable: true type: array type: object type: object description: HTTP Request was successful. summary: Backup WordPress site tags: - WordPressBackup - WordPress Manager Backups x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n WordPressBackup \\\n start \\\n site='example.com'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/WordPressBackup/start?site=example.com - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file WordPressBackup_start.live.pl and put this code into that file.\n# 5) In\ \ your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend//\n# to\ \ .../frontend//api_examples/WordPressBackup_start.live.pl\n#--------------------------------------------------------------------------------------\n\ \nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this\ \ once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response =\ \ $cpanel->uapi(\n q/WordPressBackup/,\n q/start/,\n {\n 'site' => '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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file WordPressBackup_start.live.php and put this code into that file.\n//\ \ 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend//\n\ // to .../frontend//api_examples/WordPressBackup_start.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'WordPressBackup',\n 'start',\n array (\n 'site' =>\ \ '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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: WordPress Manager 3.0 /WordPressRestore/any_running: get: x-readonly: true description: 'This function returns whether a WordPress® site backup restoration is in progress. **Note:** * You **must** install the [WordPress Manager](https://go.cpanel.net/wordpressmanager) cPanel plugin to access this API function. * The output of this function changes, depending on the state of the backup restoration.' operationId: WordPressRestore-any_running parameters: [] responses: '200': content: application/json: examples: InProgress: summary: Example output of a backup restore in progress. value: data: any_running: 1 sites: - id: null site: example.com type: restore errors: null messages: null metadata: {} status: 1 warnings: null NotInProgress: summary: Example output of a backup restore not in progress. value: data: any_running: 0 last_outcome: error: '' have_outcome: 1 site: example.com status: success sites: [] 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: any_running type: string module: description: The name of the module called. example: WordPressRestore type: string result: properties: data: properties: items: oneOf: - $ref: '#/components/schemas/RestoreInProgress' - $ref: '#/components/schemas/RestoreNotInProgress' errors: description: List of errors if the API failed. example: null items: type: string nullable: true type: array messages: description: List of messages generated by the API. example: null items: type: string nullable: true type: array metadata: properties: {} status: description: '- 1 - Success. - 0 - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 WordPress site restore status tags: - WordPressRestore - WordPress Manager Backups x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n WordPressRestore \\\n any_running\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/WordPressRestore/any_running - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file WordPressRestore_any_running.live.pl and put this code into that file.\n\ # 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend//\n\ # to .../frontend//api_examples/WordPressRestore_any_running.live.pl\n#--------------------------------------------------------------------------------------\n\ \nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this\ \ once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response =\ \ $cpanel->uapi(\n q/WordPressRestore/,\n q/any_running/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status})\ \ {\n my $data = $response->{cpanelresult}{result}{data};\n # Do something with the $data\n # So you can\ \ see the data shape we print it here.\n print to_json($data);\n}\nelse {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n\ }\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file WordPressRestore_any_running.live.php and put this code into that file.\n\ // 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend//\n\ // to .../frontend//api_examples/WordPressRestore_any_running.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'WordPressRestore',\n 'any_running'\n);\n\n// Handle the response\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: WordPress Manager 3.0 /WordPressRestore/cleanup: get: x-readonly: false x-rollback: none description: 'This function cleans up any temporary system resources after a WordPress® site backup restoration. **Note:** You **must** install the [WordPress Manager](https://go.cpanel.net/wordpressmanager) cPanel plugin to access this API function.' operationId: WordPressRestore-cleanup parameters: - description: The WordPress site's URL **without** the protocol prefix. examples: single-domain: summary: Just a domain. value: example.com single-path: summary: Domain with path. value: example.com/wordpress in: query name: site 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: cleanup type: string module: description: The name of the module called. example: WordPressRestore type: string result: properties: data: description: 'Whether the system cleaned up the temporary system resources. * `1` - Successful. * `0` - Unsuccessful.' 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 restored WordPress site's temporary files tags: - WordPressRestore - WordPress Manager Backups x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n WordPressRestore \\\n cleanup \\\n site='example.com'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/WordPressRestore/cleanup?site=example.com - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file WordPressRestore_cleanup.live.pl and put this code into that file.\n# 5)\ \ In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend//\n# \ \ to .../frontend//api_examples/WordPressRestore_cleanup.live.pl\n#--------------------------------------------------------------------------------------\n\ \nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this\ \ once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response =\ \ $cpanel->uapi(\n q/WordPressRestore/,\n q/cleanup/,\n {\n 'site' => '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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file WordPressRestore_cleanup.live.php and put this code into that file.\n\ // 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend//\n\ // to .../frontend//api_examples/WordPressRestore_cleanup.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'WordPressRestore',\n 'cleanup',\n array (\n 'site'\ \ => '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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: WordPress Manager 3.0 /WordPressRestore/start: get: x-readonly: false x-rollback: none description: 'This function starts a single WordPress® site backup restoration. **Note:** You **must** install the [WordPress Manager](https://go.cpanel.net/wordpressmanager) cPanel plugin to access this API function.' operationId: WordPressRestore-start parameters: - description: The file path to the backup archive. in: query name: backup_path required: true schema: example: /home/example/wordpress-backups/example.com__2018-11-13T11:11:31-0600.tar.gz format: path type: string - description: The WordPress site's URL to restore. examples: single-domain: summary: Just a domain. value: example.com single-path: summary: Domain with path. value: example.com/wordpress in: query name: site 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: start type: string module: description: The name of the module called. example: WordPressRestore type: string result: properties: data: properties: restore_id: description: The unique identifier for the restoration operation. The name of the backup file without the file extension. example: example.com__2018-11-15T08:03:22-0600 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. * `0` - Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 WordPress site tags: - WordPressRestore - WordPress Manager Backups x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n WordPressRestore \\\n start \\\n site='example.com'\ \ \\\n backup_path='/home/example/wordpress-backups/example.com__2018-11-13T11:11:31-0600.tar.gz'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/WordPressRestore/start?site=example.com&backup_path=%2fhome%2fexample%2fwordpress-backups%2fexample.com__2018-11-13T11%3a11%3a31-0600.tar.gz - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file WordPressRestore_start.live.pl and put this code into that file.\n# 5)\ \ In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend//\n# \ \ to .../frontend//api_examples/WordPressRestore_start.live.pl\n#--------------------------------------------------------------------------------------\n\ \nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this\ \ once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response =\ \ $cpanel->uapi(\n q/WordPressRestore/,\n q/start/,\n {\n 'site' => 'example.com',\n 'backup_path'\ \ => '/home/example/wordpress-backups/example.com__2018-11-13T11:11:31-0600.tar.gz',\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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file WordPressRestore_start.live.php and put this code into that file.\n//\ \ 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend//\n\ // to .../frontend//api_examples/WordPressRestore_start.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'WordPressRestore',\n 'start',\n array (\n 'site' =>\ \ 'example.com',\n 'backup_path' => '/home/example/wordpress-backups/example.com__2018-11-13T11:11:31-0600.tar.gz',\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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: WordPress Manager 3.0 /WordPressSite/create: get: x-readonly: false x-rollback: none description: This function installs a WordPress site for cPanel user's primary domain. operationId: WordPressSite-create 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: create type: string module: description: The name of the module called. example: WordPressSite 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. * `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: Install WordPress site tags: - WordPressSite - Site Installation x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n WordPressSite \\\n create\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/WordPressSite/create - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file WordPressSite_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//\n# to\ \ .../frontend//api_examples/WordPressSite_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/WordPressSite/,\n q/create/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status})\ \ {\n my $data = $response->{cpanelresult}{result}{data};\n # Do something with the $data\n # So you can\ \ see the data shape we print it here.\n print to_json($data);\n}\nelse {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n\ }\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file WordPressSite_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//\n//\ \ to .../frontend//api_examples/WordPressSite_create.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'WordPressSite',\n 'create'\n);\n\n// Handle the response\nif\ \ ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 11.42 /WordPressSite/retrieve: get: x-readonly: true description: This function retrieves the installation status and detailed information of the WordPress site for cPanel user's primary domain. operationId: WordPressSite-retrieve 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: retrieve type: string module: description: The name of the module called. example: WordPressSite type: string result: properties: data: description: An object that contains the installation status and information for the WordPress site. items: properties: details: description: Detailed information of the WordPress site. example: {} type: object install_status: description: Installation status of the WordPress site. example: in progress 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. * `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 WordPress site information tags: - WordPressSite - Site Information x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n WordPressSite \\\n retrieve\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/WordPressSite/retrieve - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file WordPressSite_retrieve.live.pl and put this code into that file.\n# 5)\ \ In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend//\n# \ \ to .../frontend//api_examples/WordPressSite_retrieve.live.pl\n#--------------------------------------------------------------------------------------\n\ \nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this\ \ once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response =\ \ $cpanel->uapi(\n q/WordPressSite/,\n q/retrieve/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status})\ \ {\n my $data = $response->{cpanelresult}{result}{data};\n # Do something with the $data\n # So you can\ \ see the data shape we print it here.\n print to_json($data);\n}\nelse {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n\ }\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file WordPressSite_retrieve.live.php and put this code into that file.\n//\ \ 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend//\n\ // to .../frontend//api_examples/WordPressSite_retrieve.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'WordPressSite',\n 'retrieve'\n);\n\n// Handle the response\n\ if ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n\ \ // Do something with the $data\n // So you can see the data shape we print it here.\n print to_json($data);\n\ }\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 11.42 /ZoneEdit/resetzone: get: description: "This function resets a domain's [DNS](https://go.cpanel.net/dnsrecords)\nzone to the server's default\ \ zone template.\n\n**Important:**\n\n- This action **destroys** every custom record in the zone. Records that\n \ \ the zone template does not recreate, for example `MX`, `TXT` and\n `CNAME` records added by hand, are lost.\n-\ \ The reset outcome is reported in the `data` field rather than in the\n `status` field. A call can succeed at the\ \ API level while the zone\n rebuild itself fails, so check the `result.status` field in the\n returned data.\n\n\ When you disable the [DNS role](https://go.cpanel.net/serverroles#roles),\nthe system **disables** this function." operationId: ZoneEdit-resetzone parameters: - description: The domain whose DNS zone to reset. in: query name: domain required: true schema: example: example.com format: domain type: string responses: '200': content: application/json: schema: properties: data: description: A single entry holding the zone rebuild's own reply. The rebuild outcome is reported here rather than in the response's `status` field. items: properties: result: description: The reply from the zone rebuild. properties: checkmx: description: The outcome of the mail exchanger check that the system runs after it rebuilds the zone. The system omits this field when the rebuild fails. nullable: true type: object status: description: 'Whether the system rebuilt the zone. * `1` - The system rebuilt the zone. * `0` - The rebuild failed. Check the `statusmsg` field for more details.' enum: - 0 - 1 example: 1 type: integer statusmsg: description: A message that describes the rebuild's outcome. example: Zone Reset type: string type: object 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. * `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: Reset a DNS zone to the server defaults tags: - ZoneEdit x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n ZoneEdit \\\n resetzone \\\n domain='example.com'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/ZoneEdit/resetzone?domain=example.com - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/\n\ # 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file ZoneEdit_resetzone.live.pl and put this code into\ \ that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend//\n\ # to .../frontend//api_examples/ZoneEdit_resetzone.live.pl\n#--------------------------------------------------------------------------------------\n\ \nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this\ \ once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response =\ \ $cpanel->uapi(\n q/ZoneEdit/,\n q/resetzone/,\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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/\n\ // 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file ZoneEdit_resetzone.live.php and put this code\ \ into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend//\n\ // to .../frontend//api_examples/ZoneEdit_resetzone.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'ZoneEdit',\n 'resetzone',\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//--------------------------------------------------------------------------------------\n\ function 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 /cPGreyList/disable_all_domains: get: x-readonly: false x-rollback: none description: This function disables Greylisting on a cPanel account's domains. operationId: cPGreyList-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: cPGreyList type: string result: properties: data: items: properties: dependencies: description: The domains that your changes will affect. example: - this.com - that.com - theother.com items: type: string type: array domain: description: The domain. example: example.com type: string enabled: description: 'Whether Greylisting is enabled. - `1` — Enabled. - `0` — Disabled.' enum: - 0 - 1 example: 0 type: integer searchhint: description: A comma-separated list of domain-related search terms. example: this, that, the other type: string type: description: 'The domain type. - `main` — A main domain. - `addon` — An addon domain. - `parked` — A parked domain.' enum: - main - addon - parked 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. - 0 — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 Greylisting for all domains tags: - cPGreyList - Spam Filtering (Greylisting) x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n cPGreyList \\\n disable_all_domains\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/cPGreyList/disable_all_domains - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file cPGreyList_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//\n\ # to .../frontend//api_examples/cPGreyList_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/cPGreyList/,\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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file cPGreyList_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//\n\ // to .../frontend//api_examples/cPGreyList_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\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'cPGreyList',\n 'disable_all_domains'\n);\n\n// Handle the response\n\ if ($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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 11.50 /cPGreyList/disable_domains: get: x-readonly: false x-rollback: none description: This function disables Greylisting on a cPanel account's selected domains. operationId: cPGreyList-disable_domains parameters: - description: 'The domain on which to disable Greylisting. **Note:** To disable Greylisting on multiple domains, use the `domains` parameter multiple times.' examples: multiple: description: Multiple domains. value: domain=example.com domain=example1.com domain=example2.com single: description: A single domain. value: example.com in: query name: domains 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_domains type: string module: description: The name of the module called. example: cPGreyList type: string result: properties: data: items: properties: dependencies: description: An array of domains that your changes will affect. example: - this.com - that.com - theother.com items: type: string type: array domain: description: The domain. example: example.com type: string enabled: description: 'Whether Greylisting is disabled. * `1` — Enabled. * `0` — Disabled.' enum: - 0 - 1 example: 0 type: integer searchhint: description: A comma-separated list of domain-related search terms. example: this, that, the other type: string type: description: 'The domain type. * `main` — A main domain. * `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. * 0 — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 Greylisting for specified domains tags: - cPGreyList - Spam Filtering (Greylisting) x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n cPGreyList \\\n disable_domains \\\n domains='example.com'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/cPGreyList/disable_domains?domains=example.com - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file cPGreyList_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//\n\ # to .../frontend//api_examples/cPGreyList_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/cPGreyList/,\n q/disable_domains/,\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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file cPGreyList_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//\n\ // to .../frontend//api_examples/cPGreyList_disable_domains.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'cPGreyList',\n 'disable_domains',\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}\n\ else {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 11.50 /cPGreyList/enable_all_domains: get: x-readonly: false x-rollback: none description: This function enables Greylisting on all of the cPanel account's domains. operationId: cPGreyList-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: cPGreyList type: string result: properties: data: items: properties: dependencies: description: An array of domains that your changes will affect. example: - this.com - that.com - theother.com items: type: string type: array domain: description: The domain. example: example.com type: string enabled: description: 'Whether Greylisting is enabled. * `1` — Enabled. * `0` — Disabled.' enum: - 0 - 1 example: 0 type: integer searchhint: description: A comma-separated list of domain-related search terms. example: this, that, and the other. type: string type: description: 'The domain type. * `main` — A main domain. * `sub` — A subdomain.' 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. * 0 — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 Greylisting for all domains tags: - cPGreyList - Spam Filtering (Greylisting) x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n cPGreyList \\\n enable_all_domains\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/cPGreyList/enable_all_domains - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file cPGreyList_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//\n\ # to .../frontend//api_examples/cPGreyList_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/cPGreyList/,\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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file cPGreyList_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//\n\ // to .../frontend//api_examples/cPGreyList_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\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'cPGreyList',\n 'enable_all_domains'\n);\n\n// Handle the response\n\ if ($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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 11.50 /cPGreyList/enable_domains: get: x-readonly: false x-rollback: none description: This function enables Greylisting on a cPanel account's selected domains. operationId: cPGreyList-enable_domains parameters: - description: "The domain on which to enable Greylisting.\n\n**Note:**\n\n To enable Greylisting on multiple domains,\ \ use the `domains` parameter multiple times." examples: multiple: summary: Multiple domains. value: domain=example.com&domain=example1.com&domain=example2.com single: summary: A single domain. value: example.com in: query name: domains 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: enable_domains type: string module: description: The name of the module called. example: cPGreyList type: string result: properties: data: items: properties: dependencies: description: An array of domains that your changes will affect. example: - example.com - example1.com - example2.com items: format: domain type: string type: array domain: description: The domain. example: example.com type: string enabled: description: 'Whether Greylisting is disabled. * `1` — Enabled. * `0` — Disabled.' enum: - 0 - 1 example: 0 type: integer searchhint: description: A comma-separated list of domain-related search terms. example: example, example1, example2 type: string type: description: 'The domain type. * `main` — A main domain. * `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. * `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 Greylisting for specified domains tags: - cPGreyList - Spam Filtering (Greylisting) x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n cPGreyList \\\n enable_domains \\\n domains='example.com'\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/cPGreyList/enable_domains?domains=example.com - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file cPGreyList_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//\n\ # to .../frontend//api_examples/cPGreyList_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/cPGreyList/,\n q/enable_domains/,\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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file cPGreyList_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//\n\ // to .../frontend//api_examples/cPGreyList_enable_domains.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'cPGreyList',\n 'enable_domains',\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}\n\ else {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect\ \ from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n\ // Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 11.50 /cPGreyList/has_greylisting_enabled: get: x-readonly: true description: This function checks whether Greylisting is enabled for the cPanel account. operationId: cPGreyList-has_greylisting_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: has_greylisting_enabled type: string module: description: The name of the module called. example: cPGreyList type: string result: properties: data: properties: enabled: description: 'Whether Greylisting is enabled. * `1` — Enabled. * `0` — Disabled.' 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. * `0` — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 Greylisting is enabled tags: - cPGreyList - Spam Filtering (Greylisting) x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n cPGreyList \\\n has_greylisting_enabled\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/cPGreyList/has_greylisting_enabled - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file cPGreyList_has_greylisting_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//\n\ # to .../frontend//api_examples/cPGreyList_has_greylisting_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/cPGreyList/,\n q/has_greylisting_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#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file cPGreyList_has_greylisting_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//\n\ // to .../frontend//api_examples/cPGreyList_has_greylisting_enabled.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'cPGreyList',\n 'has_greylisting_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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 11.50 /cPGreyList/list_domains: get: x-readonly: true description: This function returns Greylisting's status for a cPanel account's domains. operationId: cPGreyList-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: cPGreyList type: string result: properties: data: items: properties: cPGreyList: description: An object that contains the number of domains with Greylisting enabled or disabled. properties: total_disabled: description: The number of domains with Greylisting disabled. example: 1 minimum: 0 type: integer total_enabled: description: The number of domains with Greylisting enabled. example: 0 minimum: 0 type: integer type: object dependencies: description: An array of domains that your changes to a selected domain will affect. example: - this.com - that.com - theother.com items: format: domain type: string type: array domain: description: The domain. example: example.com format: domain type: string enabled: description: 'Whether Greylisting is enabled. * `1` — Enabled. * `0` — Disabled.' enum: - 0 - 1 example: 0 type: integer searchhint: description: A comma-separated list of domain-related search terms. example: this, that, and the other. type: string type: description: 'The domain type. * `main` — A main domain. * `sub` — A subdomain.' enum: - main - sub example: main 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. * 0 — Failed. Check the `errors` field for more details.' enum: - 0 - 1 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions 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 Greylisting status for domains tags: - cPGreyList - Spam Filtering (Greylisting) x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n cPGreyList \\\n list_domains\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/cPGreyList/list_domains - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n\ #--------------------------------------------------------------------------------------\n# is the theme\ \ assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n#\ \ 3) cd api_examples\n# 4) create a file cPGreyList_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//\n# \ \ to .../frontend//api_examples/cPGreyList_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/cPGreyList/,\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}\n\ else {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from\ \ cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n\ # Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\n\ sub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the\ \ theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n\ // 3) cd api_examples\n// 4) create a file cPGreyList_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//\n\ // to .../frontend//api_examples/cPGreyList_list_domains.live.php\n//--------------------------------------------------------------------------------------\n\ \n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\n\ header('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n//\ \ Call the API\n$response = $cpanel->uapi(\n 'cPGreyList',\n 'list_domains'\n);\n\n// Handle the response\n\ if ($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//--------------------------------------------------------------------------------------\n\ function to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 11.50 security: - BasicAuth: [] servers: - description: A server running cPanel. url: https://{host}:{port}/execute variables: host: default: cpanel-server.tld description: The hostname of a server running cPanel. port: default: '2083' description: The cPanel port. tags: - description: The Account Enhancement module for UAPI. name: Account Enhancements - description: cPanel Account / Account Information name: Account Information - description: cPanel Account / Account Management name: Account Management - description: The AddonDomain module for UAPI. name: AddonDomain - description: Optional Applications / Antivirus Protection (ClamAV) name: Antivirus Protection (ClamAV) - description: API Development Tools / API Token Management name: API Token Management - description: cPanel Theme Management / Application Information name: Application Information - description: Web Server Management / Application Manager name: Application Manager - description: SSL Certificates / Auto-generated SSL Certificates name: Auto-generated SSL Certificates - description: The Backup module for UAPI. name: Backup - description: The BackupInfo module for UAPI. name: BackupInfo - description: The Bandwidth module for UAPI. name: Bandwidth - description: The Batch module for UAPI. name: Batch - description: Block Ip Addresses / Block IP name: Block IP - description: The BlockIP module for UAPI. name: BlockIP - description: The BoxTrapper module for UAPI. name: BoxTrapper - description: cPanel Theme Management / Brand Management name: Brand Management - description: The Branding module for UAPI. name: Branding - description: cPanel Theme Management / Branding Files name: Branding Files - description: cPanel Theme Management / Browser Cache Management name: Browser Cache Management - description: The CacheBuster module for UAPI. name: CacheBuster - description: Optional Applications / Calendar and Contacts (DAV) name: Calendar and Contacts (DAV) - description: Optional Applications / Calendar and Contacts Server name: Calendar and Contacts Server - description: The CCS module for UAPI. name: CCS - description: The Chkservd module for UAPI. name: Chkservd - description: The Chrome module for UAPI. name: Chrome - description: The ClamScanner module provides methods for ClamAV® virus scans and disinfection. name: ClamScanner - description: Contact Information name: Contact Information - description: cPanel Account / Contact Information name: Contact Information - description: The ContactInformation module for UAPI. name: ContactInformation - description: The Contactus module for UAPI. name: Contactus - description: SSL Certificates / cPanel Account SSL Management name: cPanel Account SSL Management - description: cPanel Account / cPanel Features name: cPanel Features - description: Server Information / Server Information name: cPanel Server Information - description: Server Information / cPanel Server Information name: cPanel Server Information - description: The CPDAVD module for UAPI. name: CPDAVD - description: The cPGreyList module for UAPI. name: cPGreyList - description: The CSVImport module for UAPI. name: CSVImport - description: MySQL and MariaDB / Database Information name: Database Information - description: MySQL and MariaDB / Database Management name: Database Management - description: The DAV module for UAPI. name: DAV - description: The DCV module for UAPI. name: DCV - description: GIT Management / Deployment Settings name: Deployment Settings - description: Domain Management / Direct Link Protection (Hotlink) name: Direct Link Protection (Hotlink) - description: Directory Management / Directory Indexes name: Directory Indexes - description: Directory Management / Directory Privacy name: Directory Privacy - description: Directory Management / Directory Protection name: Directory Protection - description: The DirectoryIndexes module for UAPI. name: DirectoryIndexes - description: The DirectoryPrivacy module for UAPI. name: DirectoryPrivacy - description: The DirectoryProtection module for UAPI. name: DirectoryProtection - description: cPanel Account / Disk Quotas name: Disk Quotas - description: The DNS module for UAPI. name: DNS - description: DNS / DNS Information name: DNS Information - description: DNS / DNS Security name: DNS Security - description: The DNSSEC module for UAPI. name: DNSSEC - description: The Domain module for UAPI. name: Domain - description: Domain Management / Domain Information name: Domain Information - description: Domain Management / Domain Redirection name: Domain Redirection - description: Statistics / Domain Statistics name: Domain Statistics - description: The DomainInfo module for UAPI. name: DomainInfo - description: The DomainLookup module for UAPI. name: DomainLookup - description: The DomainRecommendations module for UAPI. name: DomainRecommendations - description: DNS / Dynamic DNS name: Dynamic DNS - description: The DynamicDNS module for UAPI. name: DynamicDNS - description: The EA4 module for UAPI. name: EA4 - description: The Email module for UAPI. name: Email - description: Email / Email Accounts name: Email Accounts - description: DNS / Email DNS Settings name: Email DNS Settings - description: Email / Email Filtering name: Email Filtering - description: Email / Email Forwarding name: Email Forwarding - description: Email / Email Server Information name: Email Server Information - description: Email / Email Server Information. name: Email Server Information - description: Email / Email Suspensions name: Email Suspensions - description: The EmailAuth module for UAPI. name: EmailAuth - description: Authentication / External Authentication name: External Authentication - description: The ExternalAuthentication module for UAPI. name: ExternalAuthentication - description: The ExtractInfo module for UAPI. name: ExtractInfo - description: The Features module for UAPI. name: Features - description: cPanel Account Backups / File Restoration name: File Restoration - description: The Fileman module for UAPI. name: Fileman - description: The Ftp module for UAPI. name: Ftp - description: The FTP module for UAPI. name: Ftp - description: Files / FTP Accounts name: FTP Accounts - description: Files / FTP Server Settings name: FTP Server Settings - description: The GPG module for UAPI. name: GPG - description: Website Configuration / Handler Management name: Handler Management - description: Files / Image Tools name: Image Tools - description: The ImageManager module for UAPI. name: ImageManager - description: The InProductSurvey module for cPanel UAPI. name: InProductSurvey - description: The Integration module for UAPI. name: Integration - description: Security / Known SSH Hosts Management name: Known SSH Hosts Management - description: The KnownHosts module for UAPI. name: KnownHosts - description: The LangPHP module for UAPI. name: LangPHP - description: cPanel Theme Management / Language name: Language - description: The LastLogin module for UAPI. name: LastLogin - description: The Leika module for cPanel UAPI. name: Leika - description: The Locale module for UAPI. name: Locale - description: Security / Login Information name: Login Information - description: The LogManager module for UAPI. name: LogManager - description: Website Configuration / Logs name: Logs - description: Email / Mail Server Information name: Mail Server Information - description: Email / Mailbox Management name: Mailbox Management - description: The Mailboxes module for UAPI. name: Mailboxes - description: Email / Mailing Lists name: Mailing Lists - description: Files / Manage Files name: Manage Files - description: The Market module for UAPI. name: Market - description: Commerce Integration / Market Integration name: Market Integration - description: The Mime module for UAPI. name: Mime - description: Website Configuration / Mime Type Management name: Mime Type Management - description: The ModSecurity module for UAPI. name: ModSecurity - description: The Mysql module for UAPI. name: Mysql - description: The NginxCaching module for UAPI. name: NginxCaching - description: The Notifications module for UAPI. name: Notifications - description: Nova UAPI module. name: Nova - description: The Park module for UAPI. name: Park - description: The Parser module for UAPI. name: Parser - description: The PassengerApps module for UAPI. name: PassengerApps - description: The PasswdStrength module for UAPI. name: PasswdStrength - description: Server Information / Password Strength name: Password Strength - description: The Personalization module for UAPI. name: Personalization - description: PHP recommendations name: PHP - description: Web Server Management / PHP Settings name: PHP Settings - description: The Plugins module for UAPI. name: Plugins - description: The Postgresql module for UAPI. name: Postgresql - description: PostgreSQL / Database Management name: PostgreSQL Database Management - description: PostgreSQL / User Management name: PostgreSQL User Management - description: The Pushbullet module for UAPI. name: Pushbullet - description: The Quota module for UAPI. name: Quota - description: MySQL and MariaDB / Remote Databases name: Remote Databases - description: GIT Management / Repository Management name: Repository Management - description: The Resellers module for UAPI. name: Resellers - description: cPanel Account / Resource Usage and Statistics name: Resource Usage and Statistics - description: The ResourceUsage module for UAPI. name: ResourceUsage - description: The ServerInformation module for UAPI. name: ServerInformation - description: Service Proxy name: Service Proxy - description: The ServiceProxy module for UAPI. name: ServiceProxy - description: The Session module for UAPI. name: Session - description: Email / Signing and Encryption (GnuPG Keys) name: Signing and Encryption (GnuPG Keys) - description: Website Configuration / Site Information name: Site Information - description: Website Configuration / Site Installation name: Site Installation - description: The Sitejet module for UAPI. name: Sitejet - description: The SiteQuality module for UAPI. name: SiteQuality - description: SSL Certificates / SNI Email Settings name: SNI Email Settings - description: Email / Spam Filtering (Greylisting) name: Spam Filtering (Greylisting) - description: Email / Spam Management name: Spam Management - description: Email / Spam Prevention (BoxTrapper) name: Spam Prevention (BoxTrapper) - description: The SpamAssassin module for UAPI. name: SpamAssassin - description: API Development Tools / SSE Task Management name: SSE Task Management - description: The SSH module for UAPI. name: SSH - description: The SSL module for UAPI. name: SSL - description: SSL Certificates / SSL Certificate Management name: SSL Certificate Management - description: Commerce Integration / SSL Certificates name: SSL Certificates - description: The Stats module for UAPI. name: Stats - description: The StatsBar module for UAPI. name: StatsBar - description: The StatsManager module for UAPI. name: StatsManager - description: cPanel Account / Subaccount Management name: Subaccount Management - description: The SubDomain module for UAPI. name: SubDomain - description: The SubDomain module for cPanel UAPI. name: Subdomains - description: The Team Roles module for UAPI. name: Team Roles - description: The Team User module for UAPI. name: Team Users - description: cPanel Theme Management / Theme Settings name: Theme Settings - description: The Themes module for UAPI. name: Themes - description: The Tokens module for UAPI. name: Tokens - description: The Trash module for UAPI. name: Trash - description: Authentication / Two-Factor Settings name: Two-Factor Settings - description: The TwoFactorAuth module for UAPI. name: TwoFactorAuth - description: API Development Tools / URL Parsing name: URL Parsing - description: MySQL and MariaDB / User Management name: User Management - description: The UserData module for cPanel UAPI. name: UserData - description: The UserManager module for UAPI. name: UserManager - description: The Users module for UAPI. name: Users - description: The UserTasks module for UAPI. name: UserTasks - description: The Variables module for UAPI. name: Variables - description: SSL Certificates / Verify Domain Ownership name: Verify Domain Ownership - description: The VersionControl module for UAPI. name: VersionControl - description: The VersionControlDeployment module for UAPI. name: VersionControlDeployment - description: Domain Management / Virtual Host Information name: Virtual Host Information - description: 'Web Server Management / Web Apps Web Apps is the recommended feature for deploying new web applications on cPanel. It deploys container-based applications and supersedes the older Application Manager (PassengerApps) feature. Prefer Web Apps for all new deployments; use Application Manager only to manage existing Passenger applications.' name: Web Apps - description: The WebApp module for UAPI. name: WebApp - description: The WebDisk module for UAPI. name: WebDisk - description: Files / WebDisk Settings name: WebDisk Settings - description: Statistics / Weblog Settings name: Weblog Settings - description: Email / Webmail Applications name: Webmail Applications - description: Email / Webmail Sessions name: Webmail Sessions - description: The WebmailApps module for UAPI. name: WebmailApps - description: The WebProsMCP module for UAPI. name: WebProsMCP - description: The WebVhosts module for UAPI. name: WebVhosts - description: Optional Applications / WordPress Manager Backups name: WordPress Manager Backups - description: The WordPressBackup module for UAPI. name: WordPressBackup - description: The WordPressRestore module for UAPI. name: WordPressRestore - description: The WordPressSite module for UAPI. name: WordPressSite - description: The ZoneEdit module for UAPI. name: ZoneEdit x-tagGroups: - name: API Development Tools tags: - API Token Management - Batch - SSE Task Management - URL Parsing - name: Authentication tags: - External Authentication - Two-Factor Settings - name: Backup Information tags: - BackupInfo - BackupInfo Status - name: Block Ip Addresses tags: - Block IP - name: Commerce Integration tags: - Market Integration - SSL Certificates - name: Contact Information tags: - Contact Information - name: cPanel Account tags: - Account Enhancements - Account Information - Account Management - AuditLog - Contact Information - cPanel Features - Disk Quotas - DomainRecommendations - Personalization - Resource Usage and Statistics - Subaccount Management - Team Roles - Team Users - name: cPanel Account Backups tags: - Backup - File Restoration - name: cPanel Plugin Framework tags: - Formbricks - Plugins - name: cPanel Theme Management tags: - Application Information - Brand Management - Branding Files - Browser Cache Management - Language - Theme Settings - name: Directory Management tags: - Directory Indexes - Directory Privacy - Directory Protection - name: DNS tags: - DNS - DNS Information - DNS Security - Dynamic DNS - Email DNS Settings - ZoneEdit - name: Domain tags: - Domain - name: Domain Management tags: - AddonDomain - Direct Link Protection (Hotlink) - Domain - Domain Information - Domain Redirection - DomainLookup - Park - SubDomain - Virtual Host Information - name: Domains tags: - Subdomains - name: Email tags: - Email Accounts - Email Filtering - Email Forwarding - Email Server Information - Email Suspensions - Mail Server Information - Mailbox Management - Mailing Lists - Signing and Encryption (GnuPG Keys) - Spam Filtering (Greylisting) - Spam Management - Spam Prevention (BoxTrapper) - Webmail Applications - Webmail Sessions - name: Extract Information tags: - ExtractInfo - ExtractInfo Status - name: File Manager tags: - Trash - name: Files tags: - FTP Accounts - FTP Server Settings - Image Tools - Jodit - Manage Files - Manage Files - WebDisk Settings - name: GIT Management tags: - Deployment Settings - Repository Management - name: InProductSurvey tags: - InProductSurvey - name: MySQL and MariaDB tags: - Database Information - Database Management - Remote Databases - User Management - name: Notifications tags: - Pushbullet - name: Optional Applications tags: - Antivirus Protection (ClamAV) - Calendar and Contacts (DAV) - Calendar and Contacts Server - WordPress Manager Backups - name: PostgreSQL tags: - PostgreSQL Database Management - PostgreSQL User Management - name: Retrieve bandwidth information tags: - Bandwidth - name: Security tags: - Known SSH Hosts Management - Login Information - name: Server Information tags: - cPanel Server Information - Notifications - Password Strength - SSH - WebPros MCP - WebProsMCP - name: ServiceProxy tags: - ServiceProxy - name: Site Quality Monitoring tags: - SiteQuality - name: SSL Certificates tags: - Auto-generated SSL Certificates - cPanel Account SSL Management - SNI Email Settings - SSL Certificate Management - Verify Domain Ownership - name: Statistics tags: - Domain Statistics - Weblog Settings - name: UserData tags: - UserData - name: Web Server Configuration tags: - EA4 - EasyApache Settings - PHP - name: Web Server Management tags: - Application Manager - ModSecurity - NginxCaching - PHP Settings - Web Apps - name: Website Configuration tags: - Handler Management - Logs - Mime Type Management - Nova - Site Information - Site Installation - Sitejet - WPX