Viewing File: /usr/local/cpanel/whostmgr/docroot/openapi/cpanel.openapi.json

{"Locale":{"get_attributes":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"security":[{"BasicAuth":[]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"tags":["Language"],"name":"cPanel Theme Management"}],"tags":[{"description":"The Locale module for UAPI.","name":"Locale"},{"name":"Language","description":"cPanel Theme Management / Language"}],"openapi":"3.0.2","servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"description":"A server running cPanel."}],"paths":{"/Locale/get_attributes":{"get":{"description":"This function retrieves information about the user's current locale setting.","summary":"Return current locale settings","x-cpanel-available-version":"cPanel 11.42","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"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Locale_get_attributes.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Locale_get_attributes.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Locale/,\n    q/get_attributes/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Locale_get_attributes.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Locale_get_attributes.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Locale',\n    'get_attributes'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-api-version":"UAPI","x-readonly":true,"operationId":"Locale-get_attributes","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"result":{"properties":{"metadata":{"properties":{}},"warnings":{"example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","nullable":true,"type":"array"},"data":{"properties":{"name":{"type":"string","example":"English","description":"The locale's full name."},"locale":{"example":"en","description":"The locale's two-letter ISO-3166 code.","type":"string","format":"ISO-3166-1 (alpha-2)"},"encoding":{"type":"string","description":"The user's character set.","example":"utf-8"},"direction":{"type":"string","description":"The locale's text direction.\n* `ltr` - left to right.\n* `rtl` - right to left.","example":"ltr","enum":["ltr","rtl"]}},"type":"object"},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}},"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"status":{"type":"integer","description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","example":1,"enum":[0,1]}},"type":"object"},"module":{"type":"string","example":"Locale","description":"The name of the module called."},"func":{"type":"string","description":"The name of the method called.","example":"get_attributes"}}}}},"description":"HTTP Request was successful."}},"parameters":[],"tags":["Locale","Language"]}}}},"set_locale":{"paths":{"/Locale/set_locale":{"get":{"description":"This function sets the account's locale.","x-rollback":"none","parameters":[{"description":"The locale's abbreviated name according to UAPI's `Locale::list_locales` function.","required":true,"schema":{"type":"string","example":"en"},"in":"query","name":"locale"}],"x-cpanel-available-version":"cPanel 82","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Locale \\\n  set_locale \\\n  locale='en'\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Locale/set_locale?locale=en","label":"URL","lang":"HTTP"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Locale_set_locale.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Locale_set_locale.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Locale/,\n    q/set_locale/,\n    {\n        'locale' => 'en',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Locale_set_locale.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Locale_set_locale.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Locale',\n    'set_locale',\n    array (\n        'locale' => 'en',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Update cPanel account locale","x-cpanel-api-version":"UAPI","tags":["Locale","Language"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"module":{"description":"The name of the module called.","example":"Locale","type":"string"},"result":{"properties":{"status":{"type":"integer","description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","example":1,"enum":[0,1]},"data":{},"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null,"type":"array","nullable":true},"metadata":{"properties":{}},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null}},"type":"object"},"func":{"type":"string","description":"The name of the method called.","example":"set_locale"},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}},"type":"object"}}}}},"operationId":"Locale-set_locale","x-readonly":false}}},"security":[{"BasicAuth":[]}],"x-tagGroups":[{"tags":["Language"],"name":"cPanel Theme Management"}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute"}],"tags":[{"name":"Locale","description":"The Locale module for UAPI."},{"name":"Language","description":"cPanel Theme Management / Language"}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI"}},"list_locales":{"security":[{"BasicAuth":[]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"tags":["Language"],"name":"cPanel Theme Management"}],"servers":[{"description":"A server running cPanel.","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"url":"https://{host}:{port}/execute"}],"openapi":"3.0.2","tags":[{"name":"Locale","description":"The Locale module for UAPI."},{"name":"Language","description":"cPanel Theme Management / Language"}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"paths":{"/Locale/list_locales":{"get":{"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"description":"The version of the API.","example":3,"type":"integer"},"func":{"type":"string","description":"The name of the method called.","example":"list_locales"},"module":{"example":"Locale","description":"The name of the module called.","type":"string"},"result":{"type":"object","properties":{"errors":{"example":null,"description":"List of errors if the API failed.","items":{"type":"string"},"nullable":true,"type":"array"},"messages":{"items":{"type":"string"},"description":"List of messages generated by the API.","example":null,"type":"array","nullable":true},"data":{"items":{"type":"object","properties":{"local_name":{"example":"Deutsch","description":"The locale's full name, in the locale's language.","type":"string"},"name":{"type":"string","example":"German","description":"The locale's full name."},"direction":{"type":"string","description":"The locale's text direction.\n* `ltr` - Left to right.\n* `rtl` - Right to left.","example":"ltr","enum":["ltr","rtl"]},"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"}}},"type":"array"},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"metadata":{"properties":{"transformed":{"type":"integer","description":"Post-processing may have transformed the data.","enum":[1],"example":1}}},"status":{"type":"integer","description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","example":1,"enum":[0,1]}}}}}}},"description":"HTTP Request was successful."}},"parameters":[],"tags":["Locale","Language"],"operationId":"Locale-list_locales","x-readonly":true,"x-cpanel-api-version":"UAPI","description":"This function lists an account's available interface languages.","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Locale \\\n  list_locales\n","label":"CLI","lang":"Shell"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/Locale/list_locales"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Locale_list_locales.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Locale_list_locales.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Locale/,\n    q/list_locales/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Locale_list_locales.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Locale_list_locales.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Locale',\n    'list_locales'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"summary":"Return available locales","x-cpanel-available-version":"cPanel 82"}}}}},"EA4":{"get_php_recommendations":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.94.0.9999","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"security":[{"BasicAuth":[]}],"tags":[{"name":"EA4","description":"The EA4 module for UAPI."},{"description":"PHP recommendations","name":"PHP"}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute"}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"x-tagGroups":[{"name":"Web Server Configuration","tags":["PHP"]}],"paths":{"/EA4/get_php_recommendations":{"get":{"description":"This function returns a list of recommended PHP versions.","summary":"Get custom PHP recommendations.","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  EA4 \\\n  get_php_recommendations\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/EA4/get_php_recommendations","label":"URL","lang":"HTTP"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file EA4_get_php_recommendations.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/EA4_get_php_recommendations.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/EA4/,\n    q/get_php_recommendations/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file EA4_get_php_recommendations.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/EA4_get_php_recommendations.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'EA4',\n    'get_php_recommendations'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"x-cpanel-available-version":82,"x-cpanel-api-version":"UAPI","operationId":"EA4-get_php_recommendations","x-readonly":true,"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"result":{"properties":{"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}},"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"metadata":{"properties":{"transformed":{"example":1,"enum":[1],"description":"Post-processing may have transformed the data.","type":"integer"}}},"warnings":{"nullable":true,"type":"array","example":null,"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"}},"data":{"type":"array","description":"An array of recommended PHP versions.","items":{"example":"php80","type":"string"}},"status":{"type":"integer","example":1,"enum":[1,0],"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details."}},"type":"object"},"module":{"type":"string","description":"The name of the module called.","example":"EA4"},"func":{"example":"get_php_recommendations","description":"The name of the method called.","type":"string"},"apiversion":{"type":"integer","description":"The version of the API.","example":3}}}}},"description":"HTTP Request was successful."}},"parameters":[],"tags":["PHP"]}}}},"get_recommendations":{"security":[{"BasicAuth":[]}],"servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}}}],"openapi":"3.0.2","tags":[{"description":"The EA4 module for UAPI.","name":"EA4"},{"description":"Web Server Configuration / EasyApache Settings","name":"EasyApache Settings"}],"x-tagGroups":[{"name":"Web Server Configuration","tags":["EA4","EasyApache Settings"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"version":"11.93.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"paths":{"/EA4/get_recommendations":{"get":{"x-readonly":true,"operationId":"EA4-get_recommendations","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"func":{"type":"string","description":"The name of the method called.","example":"get_recommendations"},"result":{"properties":{"warnings":{"nullable":true,"type":"array","example":null,"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"}},"data":{"additionalProperties":{"items":{"type":"object","properties":{"url":{"format":"url","type":"string","description":"A URL to provide more information.\n\n**Note:**\n\nThe function **only** returns this value if one exists."},"desc":{"description":"The recommendation's description.\n\n**Note:**\n\nThe function **only** returns this value if one exists.","type":"string"},"level":{"type":"string","enum":["primary","success","info","warning","danger"],"description":"The level that triggers a recommendation to appear, based on [Bootstrap 3 alert components](http://getbootstrap.com/components/#alerts).\n\n* `primary`\n* `success`\n* `info`\n* `warning`\n* `danger`\n\n**Note:**\n\n* The function **only** returns this value if one exists.\n* This return's value only affects the UI if set to `danger`."},"name":{"description":"The recommendation's name.","type":"string"},"options":{"items":{"properties":{"recommended":{"type":"boolean","description":"The type of recommendation that the interface will return.\n\n* `true` - Recommended.\n* `false` - Not recommended.\n\n**Note:**\n\n* The function **only** returns this value if one exists.\n* If the function does **not** return this value, then the interface will display informational text."},"level":{"enum":["primary","success","info","warning","danger"],"description":"The level that triggers a recommendation to appear, based on [Bootstrap 3 alert components](http://getbootstrap.com/components/#alerts).\n\n* `primary`\n* `success`\n* `info`\n* `warning`\n* `danger`\n\n**Note:**\n\n* The function **only** returns this value if one exists.\n* This return's value only affects the UI if set to `danger`.","type":"string"},"url":{"description":"A URL that provides more information.\n\n**Note:**\n\nThe function **only** returns this value if one exists.","type":"string","format":"url"},"text":{"type":"string","description":"The text that the user interface displays."},"items":{"type":"array","items":{"type":"string"},"description":"An array of information that corresponds with a text value.\n\n**Note:**\n\nThe function **only** returns this value if one exists."}},"type":"object"},"description":"An object that contains each option for the package's recommendations.","type":"array"},"on":{"type":"string","description":"The action that triggers a recommendation.\n\n* `add`\n* `remove`","enum":["add","remove"]}}},"description":"An object that contains recommendation information about a package.\n\n**Note:**\n\nThe function uses the name of the referenced package as the return name.","type":"array"},"type":"object","example":{"ea-php55-php":[{"level":"danger","desc":"PHP DSO runs as the user [asis,nobody] by default. In a shared hosting environment, this is a security issue.","url":"https://www.example.com","on":"add","options":[{"text":"We strongly recommend that you install one of the following packages unless this is a single-user system:","items":["ea-apache24-mod_ruid2","ea-apache24-mod_mpm_itk"],"level":"success","recommended":true},{"level":"warning","text":"If you use suPHP, you will add some security, but may experience performance issues on your server.","recommended":false}],"name":"PHP DSO"}]}},"metadata":{"properties":{}},"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}},"status":{"type":"integer","description":"* `1` – Success.\n* `0` – Failed: Check the errors field for more details.","enum":[0,1],"example":1}},"type":"object"},"module":{"description":"The name of the module called.","example":"EA4","type":"string"}}}}},"description":"HTTP Request was successful."}},"parameters":[],"tags":["EA4"],"x-cpanel-api-version":"UAPI","summary":"Get EA4 configuration recommendations","x-cpanel-available-version":"cPanel 84","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  EA4 \\\n  get_recommendations\n","label":"CLI","lang":"Shell"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/EA4/get_recommendations"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file EA4_get_recommendations.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/EA4_get_recommendations.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/EA4/,\n    q/get_recommendations/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file EA4_get_recommendations.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/EA4_get_recommendations.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'EA4',\n    'get_recommendations'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"description":"This function retrieves a list of EasyApache 4 (EA4) configuration recommendations."}}}}},"ContactInformation":{"set_pushbullet_access_token":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.129.0.9999"},"security":[{"BasicAuth":[]}],"x-tagGroups":[{"tags":["Contact Information"],"name":"Contact Information"}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"host":{"description":"The hostname of a server running cPanel.","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute"}],"tags":[{"description":"The ContactInformation module for UAPI.","name":"ContactInformation"},{"description":"Contact Information","name":"Contact Information"}],"paths":{"/ContactInformation/set_pushbullet_access_token":{"get":{"parameters":[{"name":"pushbullet_access_token","in":"query","explode":true,"schema":{"example":"a1b2c3d4e5f6g7h8i9j0","type":"string"},"required":true,"description":"The account’s new Pushbullet access token."}],"x-rollback":"none","description":"This function updates the cPanel account's Pushbullet™ access token.","operationId":"ContactInformation-set_pushbullet_access_token","x-readonly":false,"tags":["ContactInformation","Contact Information"],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"description":"The version of the API.","example":3,"type":"integer"},"module":{"example":"ContactInformation","description":"The name of the module called.","type":"string"},"result":{"properties":{"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null},"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."},"warnings":{"example":null,"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.","items":{"type":"string"},"nullable":true,"type":"array"},"status":{"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","enum":[0,1],"example":1,"type":"integer"}},"type":"object"},"func":{"type":"string","example":"set_pushbullet_access_token","description":"The name of the method called."}}}}},"description":"Request was successful."}},"x-cpanel-available-version":130,"x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  ContactInformation \\\n  set_pushbullet_access_token \\\n  pushbullet_access_token='a1b2c3d4e5f6g7h8i9j0'\n"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/ContactInformation/set_pushbullet_access_token?pushbullet_access_token=a1b2c3d4e5f6g7h8i9j0"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file ContactInformation_set_pushbullet_access_token.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/ContactInformation_set_pushbullet_access_token.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/ContactInformation/,\n    q/set_pushbullet_access_token/,\n    {\n        'pushbullet_access_token' => 'a1b2c3d4e5f6g7h8i9j0',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file ContactInformation_set_pushbullet_access_token.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/ContactInformation_set_pushbullet_access_token.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'ContactInformation',\n    'set_pushbullet_access_token',\n    array (\n        'pushbullet_access_token' => 'a1b2c3d4e5f6g7h8i9j0',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"summary":"Update Pushbullet access token","x-cpanel-api-version":"UAPI"}}}},"unset_email_addresses":{"x-tagGroups":[{"tags":["Contact Information"],"name":"Contact Information"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"tags":[{"name":"ContactInformation","description":"The ContactInformation module for UAPI."},{"description":"Contact Information","name":"Contact Information"}],"servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"description":"A server running cPanel."}],"openapi":"3.0.2","security":[{"BasicAuth":[]}],"info":{"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"},"termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","version":"11.101.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/ContactInformation/unset_email_addresses":{"get":{"description":"Use this function to unset all contact email address for an account.\n\nTo set contact email address(es), call `set_email_addresses`.","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  ContactInformation \\\n  unset_email_addresses \\\n  old_address='old1@example.com' \\\n  password='q1df%D9<z0ShqdxRP%^'\n"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/ContactInformation/unset_email_addresses?old_address=old1%40example.com&password=q1df%25D9%3cz0ShqdxRP%25%5e"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file ContactInformation_unset_email_addresses.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/ContactInformation_unset_email_addresses.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/ContactInformation/,\n    q/unset_email_addresses/,\n    {\n        'old_address' => 'old1@example.com',\n        'password' => 'q1df%D9<z0ShqdxRP%^',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file ContactInformation_unset_email_addresses.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/ContactInformation_unset_email_addresses.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'ContactInformation',\n    'unset_email_addresses',\n    array (\n        'old_address' => 'old1@example.com',\n        'password' => 'q1df%D9<z0ShqdxRP%^',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":102,"summary":"Unset contact email addresses","x-cpanel-api-version":"UAPI","x-rollback":"none","parameters":[{"example":["old1@example.com"],"description":"The account’s existing contact email addresses.\n\nIf this list does not match the account’s current current email address(es),\nthen the request will fail. This control is here to prevent\nrace conditions.","schema":{"items":{"format":"email","type":"string"},"type":"array"},"explode":true,"name":"old_address","required":true,"in":"query"},{"schema":{"type":"string","example":"q1df%D9<z0ShqdxRP%^"},"description":"The account’s password.","required":true,"name":"password","in":"query"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"module":{"type":"string","example":"DynamicDNS","description":"The name of the module called."},"result":{"type":"object","properties":{"metadata":{"properties":{"transformed":{"enum":[1],"example":1,"description":"Post-processing may have transformed the data.","type":"integer"}}},"warnings":{"example":null,"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"},"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"status":{"type":"integer","description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","example":1,"enum":[0,1]}}},"func":{"description":"The name of the method called.","example":"create","type":"string"},"apiversion":{"type":"integer","description":"The version of the API.","example":3}}}}},"description":"Request was successful."}},"tags":["ContactInformation","Contact Information"],"x-readonly":false,"operationId":"ContactInformation-unset_email_addresses"}}}},"get_pushbullet_access_token":{"paths":{"/ContactInformation/get_pushbullet_access_token":{"get":{"tags":["ContactInformation","Contact Information"],"parameters":[],"responses":{"200":{"description":"Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"type":"integer","description":"The version of the API.","example":3},"func":{"type":"string","description":"The name of the method called.","example":"get_pushbullet_access_token"},"module":{"type":"string","example":"ContactInformation","description":"The name of the module called."},"result":{"properties":{"warnings":{"items":{"type":"string"},"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,"type":"array","nullable":true},"data":{"description":"The cPanel account's Pushbullet access token.","example":"a1b2c3d4e5f6g7h8i9j0","type":"string"},"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"},"errors":{"nullable":true,"type":"array","example":null,"description":"List of errors if the API failed.","items":{"type":"string"}},"status":{"type":"integer","description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","example":1,"enum":[0,1]}},"type":"object"}},"type":"object"}}}}},"operationId":"ContactInformation-get_pushbullet_access_token","x-readonly":false,"x-cpanel-api-version":"UAPI","summary":"Return Pushbullet access token","x-codeSamples":[{"lang":"Shell","label":"CLI","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"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file ContactInformation_get_pushbullet_access_token.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/ContactInformation_get_pushbullet_access_token.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/ContactInformation/,\n    q/get_pushbullet_access_token/,\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file ContactInformation_get_pushbullet_access_token.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/ContactInformation_get_pushbullet_access_token.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'ContactInformation',\n    'get_pushbullet_access_token',\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-available-version":130,"description":"This function retrieves the cPanel account's Pushbullet™ access token.","x-rollback":"none"}}},"security":[{"BasicAuth":[]}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel.","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute"}],"tags":[{"name":"ContactInformation","description":"The ContactInformation module for UAPI."},{"description":"Contact Information","name":"Contact Information"}],"x-tagGroups":[{"name":"Contact Information","tags":["Contact Information"]}],"components":{"schemas":{},"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/"},"license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.129.0.9999"}},"set_email_addresses":{"paths":{"/ContactInformation/set_email_addresses":{"get":{"summary":"Set contact email address(es)","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  ContactInformation \\\n  set_email_addresses \\\n  address='foo@example.com' address='bar@example.com' \\\n  old_address='old1@example.com' \\\n  password='q1df%D9<z0ShqdxRP%^'\n","lang":"Shell","label":"CLI"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/ContactInformation/set_email_addresses?address=foo%40example.com&address=bar%40example.com&old_address=old1%40example.com&password=q1df%25D9%3cz0ShqdxRP%25%5e"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file ContactInformation_set_email_addresses.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/ContactInformation_set_email_addresses.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/ContactInformation/,\n    q/set_email_addresses/,\n    {\n        'address' => 'foo@example.com'&address='bar@example.com',\n        'old_address' => 'old1@example.com',\n        'password' => 'q1df%D9<z0ShqdxRP%^',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file ContactInformation_set_email_addresses.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/ContactInformation_set_email_addresses.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'ContactInformation',\n    'set_email_addresses',\n    array (\n        'address' => 'foo@example.com'&address='bar@example.com',\n        'old_address' => 'old1@example.com',\n        'password' => 'q1df%D9<z0ShqdxRP%^',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":102,"x-cpanel-api-version":"UAPI","operationId":"ContactInformation-set_email_addresses","x-readonly":false,"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"module":{"type":"string","description":"The name of the module called.","example":"ContactInformation"},"result":{"type":"object","properties":{"status":{"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","enum":[0,1],"example":1,"type":"integer"},"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null,"type":"array","nullable":true},"messages":{"items":{"type":"string"},"description":"List of messages generated by the API.","example":null,"type":"array","nullable":true},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true}}},"func":{"type":"string","example":"set_email_addresses","description":"The name of the method called."},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}},"type":"object"}}},"description":"Request was successful."}},"tags":["ContactInformation","Contact Information"],"x-rollback":"none","description":"Use this function to set an account's contact email address(es).\n\nTo unset all contact email addresses, call `unset_email_addresses`.","parameters":[{"required":true,"in":"query","schema":{"type":"array","items":{"format":"email","type":"string"}},"example":["foo@example.com","bar@example.com"],"description":"The account’s new contact email addresses.","explode":true,"name":"address"},{"name":"old_address","explode":true,"schema":{"type":"array","items":{"type":"string","format":"email"}},"description":"The account’s existing contact email addresses.\n\nIf this list does not match the account’s current current email address(es),\nthen the request will fail. This control is here to prevent\nrace conditions.","example":["old1@example.com"],"in":"query","required":true},{"required":true,"description":"The account’s password.","schema":{"example":"q1df%D9<z0ShqdxRP%^","type":"string"},"name":"password","in":"query"}]}}},"info":{"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.101.0.9999","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/","contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"x-tagGroups":[{"name":"Contact Information","tags":["Contact Information"]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"openapi":"3.0.2","servers":[{"variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"tags":[{"name":"ContactInformation","description":"The ContactInformation module for UAPI."},{"name":"Contact Information","description":"Contact Information"}],"security":[{"BasicAuth":[]}]},"get_notification_preferences":{"paths":{"/ContactInformation/get_notification_preferences":{"get":{"description":"Use this function to get a cPanel or Webmail account's notification preferences.","summary":"Return the account's notification preferences.","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  ContactInformation \\\n  get_notification_preferences\n","lang":"Shell","label":"CLI"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/ContactInformation/get_notification_preferences","label":"URL","lang":"HTTP"}],"x-cpanel-api-version":"UAPI","parameters":[],"tags":["ContactInformation","Contact Information","notifications"],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"description":"The version of the API.","example":3,"type":"integer"},"func":{"type":"string","example":"get_notification_preferences","description":"The name of the method called."},"result":{"type":"object","properties":{"data":{"items":{"type":"object","properties":{"descp":{"example":"Someone logs in to my account.","description":"A description of the notification setting.","type":"string"},"additionalProperties":{"type":"string"},"enabled":{"type":"integer","example":1,"enum":[0,1],"description":"- 1 - Notification is enabled\n- 0 - Notification is disabled"},"name":{"type":"string","description":"The notification preference key name.","example":"notify_account_login"}}},"description":"An array of objects describing the cPanel or Webmail account's notification preferences.","type":"array"},"warnings":{"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"messages":{"example":null,"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"},"status":{"type":"integer","enum":[0,1],"example":1,"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details."}}},"module":{"example":"ContactInformation","description":"The name of the module called.","type":"string"}}}}},"description":"Request was successful."}},"operationId":"ContactInformation-get_notification_preferences","x-readonly":true}}},"security":[{"BasicAuth":[]}],"tags":[{"description":"The ContactInformation module for UAPI.","name":"ContactInformation"},{"name":"Contact Information","description":"Contact Information"}],"openapi":"3.0.2","servers":[{"variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"x-tagGroups":[{"name":"Contact Information","tags":["Contact Information"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"},"version":"11.129.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/"}},"set_notification_preferences":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"},"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.129.0.9999","termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI"},"security":[{"BasicAuth":[]}],"servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}}}],"tags":[{"description":"The ContactInformation module for UAPI.","name":"ContactInformation"},{"name":"Contact Information","description":"Contact Information"}],"openapi":"3.0.2","components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"x-tagGroups":[{"tags":["Contact Information"],"name":"Contact Information"}],"paths":{"/ContactInformation/set_notification_preferences":{"post":{"operationId":"ContactInformation-set_notification_preferences","x-readonly":false,"tags":["ContactInformation","Contact Information","notifications"],"responses":{"200":{"description":"Request was successful.","content":{"application/json":{"schema":{"properties":{"result":{"type":"object","properties":{"data":{"description":"An array of cPanel and Webmail account notification preferences, including the newly-set preferences.","items":{"type":"object","properties":{"descp":{"type":"string","description":"A description of the notification setting.","example":"Someone logs in to my account."},"name":{"example":"notify_account_login","description":"The notification preference key name.","type":"string"},"enabled":{"type":"integer","description":"- 1 - Notification is enabled\n- 0 - Notification is disabled","example":1,"enum":[0,1]},"additionalProperties":{"type":"string"}}},"type":"array"},"warnings":{"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"errors":{"example":null,"description":"List of errors if the API failed.","items":{"type":"string"},"nullable":true,"type":"array"},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}},"status":{"type":"integer","example":1,"enum":[0,1],"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details."}}},"module":{"example":"ContactInformation","description":"The name of the module called.","type":"string"},"func":{"type":"string","description":"The name of the method called.","example":"set_notification_preferences"},"apiversion":{"type":"integer","example":3,"description":"The version of the API."}},"type":"object"}}}}},"x-cpanel-api-version":"UAPI","x-codeSamples":[{"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","lang":"Shell","label":"CLI"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/ContactInformation/set_notification_preferences","label":"URL","lang":"HTTP"}],"summary":"Set the account's notification preferences.","requestBody":{"content":{"application/json":{"schema":{"properties":{"preferences":{"additionalProperties":{"type":"string"},"type":"object"}}},"examples":{"two":{"summary":"An example showing how to set two account notification preferences.","value":{"preferences":{"notify_account_login":"1","notify_account_authn_link":"0"}}}}}}},"parameters":[],"x-rollback":"none","description":"Use this function to set the logged in cPanel or Webmail account's notification preferences.\n\n**Note:**\n\nTo set a cPanel account's notification email address, call `set_email_addresses`. To return the list of account notification\npreferences you can set with `set_notification_preferences`, call `get_notification_preferences`."}}}}},"Restore":{"query_file_info":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"security":[{"BasicAuth":[]}],"x-tagGroups":[{"tags":["File Restoration"],"name":"cPanel Account Backups"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"servers":[{"variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"name":"File Restoration","description":"cPanel Account Backups / File Restoration"}],"paths":{"/Restore/query_file_info":{"get":{"x-cpanel-api-version":"UAPI","summary":"Return backup storage locations","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Restore \\\n  query_file_info \\\n  path='/public_html/index.php'\n"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/Restore/query_file_info?path=%2fpublic_html%2findex.php"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Restore_query_file_info.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/Restore_query_file_info.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Restore/,\n    q/query_file_info/,\n    {\n        'path' => '/public_html/index.php',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Restore_query_file_info.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/Restore_query_file_info.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Restore',\n    'query_file_info',\n    array (\n        'path' => '/public_html/index.php',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"x-cpanel-available-version":"cPanel 68","description":"This function lists all of an item's backup locations. An item can be a file, a directory, or a symlink.\n\n**Important:**\n\nWhen you disable the [File Storage role](https://go.cpanel.net/serverroles#roles), the system **disables** this function.","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"apiversion":{"type":"integer","description":"The version of the API.","example":3},"func":{"type":"string","description":"The name of the method called.","example":"query_file_info"},"module":{"type":"string","example":"Restore","description":"The name of the module called."},"result":{"properties":{"status":{"type":"integer","description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","example":1,"enum":[1,0]},"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null},"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null},"metadata":{"properties":{"transformed":{"type":"integer","description":"Post-processing may have transformed the data.","example":1,"enum":[1]}}},"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"},"example":null,"type":"array","nullable":true},"data":{"type":"array","items":{"type":"object","properties":{"exists":{"description":"Whether the item (a file, a directory, or a symlink) exists in the local disk or only in the backup.\n\n* `1` — The item exists in the local disk.\n* `0` — The item exists only in the backup.\n\n**Note:**\n\nThis return appears **only** if you set the `exists` parameter to `1`.","enum":[1,0],"example":1,"type":"integer"},"type":{"example":"file","enum":["dir","file","symlink","unknown"],"description":"The item type stored in the backup.\n\n* `dir` — A directory.\n* `file` — A file.\n* `symlink` — A symlink.\n* `unknown` — An unknown file type.","type":"string"},"backupType":{"type":"string","description":"The backup type.\n\n* `compressed` —  A compressed tar file.\n* `incremental` — A full tree of files and directories.\n* `uncompressed` — An uncompressed tar file.","example":"compressed","enum":["compressed","incremental","uncompressed"]},"mtime":{"type":"integer","format":"unix_timestamp","example":1520043240,"description":"The file's last modification time."},"path":{"example":"/public_html/index.php","description":"The identical file path value that the system passed in the function.","type":"string","format":"path"},"backupID":{"type":"string","description":"The backup's identification.\n\n* A date, in `YYYY-MM-DD` format.\n* `incremental` — An incremental daily backup.\n* The backup frequency (`weekly` or `monthly`) , a slash character (`/`), and the value `incremental`.\n* The backup frequency (`weekly` or `monthly`), a slash character (`/`), and the backup date, in `YYYY-MM-DD` format.","example":"weekly/2017-07-01","anyOf":[{"description":"A daily backup file from a specified backup date.","format":"ISO-8601 Date","type":"string"},{"enum":["incremental"],"description":"An incremental daily backup.","type":"string"},{"type":"string","enum":["weekly/incremental","monthly/incremental"],"description":"A weekly or monthly incremental backup."},{"description":"A weekly or monthly backup from a specified backup date.","type":"string"}]},"backupDate":{"type":"string","format":"ISO-8601 Date","example":"2020-07-01","description":"The date when the system created the backup."},"fileSize":{"minimum":0,"description":"The size, in bytes, of the file in the backup.\n\n**Note:**\n\nThe function returns this value **only** if the item is a file.","example":199,"type":"integer"}}},"description":"An array of objects containing the item's details."}},"type":"object"}},"type":"object"}}},"description":"HTTP Request was successful."}},"parameters":[{"in":"query","name":"path","description":"A file, directory, or symlink in the user's directory tree.\n\n**Note:**\n\nThe value of this parameter **must** begin with a forward slash (`/`).","required":true,"schema":{"example":"/public_html/index.php","format":"path","type":"string"}},{"name":"exists","in":"query","description":"Whether to show the `exist` return, which indicates whether the item exists in the\nlocal disk or only in the backup.\n\n* `1` — Show the `exist` return's value.\n* `0` — Do **not** show the `exists` return's value.","required":false,"schema":{"example":0,"enum":[1,0],"default":0,"type":"integer"}}],"tags":["File Restoration"],"operationId":"Restore-query_file_info","x-readonly":true}}}},"directory_listing":{"paths":{"/Restore/directory_listing":{"get":{"description":"This function lists all of the backup files and directories in the user's home directory.\n\n**Important:**\n\nWhen you disable the [File Storage role](https://go.cpanel.net/serverroles), the system **disables** this function.","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Restore \\\n  directory_listing \\\n  path='/public_html/'\n","label":"CLI","lang":"Shell"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/Restore/directory_listing?path=%2fpublic_html%2f"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Restore_directory_listing.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/Restore_directory_listing.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Restore/,\n    q/directory_listing/,\n    {\n        'path' => '/public_html/',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Restore_directory_listing.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/Restore_directory_listing.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Restore',\n    'directory_listing',\n    array (\n        'path' => '/public_html/',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-available-version":"cPanel 68","summary":"Return backups in home directory","x-cpanel-api-version":"UAPI","tags":["File Restoration"],"parameters":[{"in":"query","name":"path","schema":{"example":"/public_html/","type":"string"},"required":true,"description":"A path to a subdirectory within the user's home directory, or any level below it.\n\n**Note:**\n\nThe value of this parameter **must** begin and end with a forward slash (`/`) for security purposes."}],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"func":{"example":"directory_listing","description":"The name of the method called.","type":"string"},"module":{"type":"string","example":"Restore","description":"The name of the module called."},"result":{"properties":{"data":{"type":"array","items":{"properties":{"name":{"type":"string","description":"The name of the file or directory.","example":"public_html"},"conflict":{"type":"integer","enum":[0,1],"example":0,"description":"Whether a difference exists between the `type` and `onDiskType` returns.\n* `1` - Conflict exists.\n* `0` - **No** conflict exists."},"exists":{"type":"integer","example":1,"enum":[0,1],"description":"Whether the file exists in the user's directory or **only** in the backup.\n* `1` - File exists in the user's directory.\n* `0` - File exists **only** in the backup."},"type":{"description":"The item type stored in the backup.\n* `dir` - A directory.\n* `file` - A file.\n* `symlink` - A symlink.\n* `unknown` - An unknown file type.","enum":["dir","file","symlink","unknown"],"example":"file","type":"string"},"onDiskType":{"enum":["dir","file","symlink","unknown"],"example":"file","description":"The item type stored on the disk.\n* `dir` - A directory.\n* `file` - A file.\n* `symlink` - A symlink.\n* `unknown` - An unknown file type.","type":"string"}},"type":"object"},"description":"An object that contains information about a specific item stored in the backup."},"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API."},"metadata":{"properties":{"transformed":{"description":"Post-processing may have transformed the data.","enum":[1],"example":1,"type":"integer"}}},"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null},"messages":{"description":"List of messages generated by the API.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"status":{"example":1,"enum":[0,1],"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","type":"integer"}}},"apiversion":{"type":"integer","example":3,"description":"The version of the API."}}}}}}},"operationId":"Restore-directory_listing","x-readonly":true}}},"servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}}}],"openapi":"3.0.2","tags":[{"name":"File Restoration","description":"cPanel Account Backups / File Restoration"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"tags":["File Restoration"],"name":"cPanel Account Backups"}],"security":[{"BasicAuth":[]}],"info":{"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/","contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"}},"externalDocs":{"url":"https://cpanel.net/developers/"}},"restore_file":{"paths":{"/Restore/restore_file":{"get":{"x-cpanel-available-version":"cPanel 68","summary":"Restore file or directory","x-codeSamples":[{"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","lang":"Shell","label":"CLI"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Restore/restore_file?backupID=weekly%2f2017-07-03&path=%2fpublic_html%2findex.php&overwrite=1","lang":"HTTP","label":"URL"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Restore_restore_file.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/Restore_restore_file.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Restore/,\n    q/restore_file/,\n    {\n        'backupID' => 'weekly/2017-07-03',\n        'path' => '/public_html/index.php',\n        'overwrite' => '1',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Restore_restore_file.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/Restore_restore_file.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Restore',\n    'restore_file',\n    array (\n        'backupID' => 'weekly/2017-07-03',\n        'path' => '/public_html/index.php',\n        'overwrite' => '1',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-api-version":"UAPI","tags":["File Restoration"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"func":{"description":"The name of the method called.","example":"restore_file","type":"string"},"result":{"type":"object","properties":{"metadata":{"properties":{}},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"status":{"type":"integer","example":1,"enum":[0,1],"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details."},"data":{"description":"An object containing the status of the operation.","type":"object","properties":{"success":{"example":1,"enum":[1,0],"description":"Whether the `overwrite` parameter succeeded.\n\n* `1` — Success.\n* `0` — Failure.","type":"integer"}}},"warnings":{"example":null,"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"},"messages":{"items":{"type":"string"},"description":"List of messages generated by the API.","example":null,"type":"array","nullable":true}}},"module":{"example":"Restore","description":"The name of the module called.","type":"string"}}}}}}},"operationId":"Restore-restore_file","x-readonly":false,"description":"This function restores a file or directory from a backup to the file or directory's original location.\n\n**Important:**\n\nWhen you disable the [File Storage role](https://go.cpanel.net/serverroles#roles), the system **disables** this function.","x-rollback":"none","parameters":[{"name":"backupID","in":"query","schema":{"anyOf":[{"format":"ISO-8601 Date","type":"string","description":"A daily backup file from a specified backup date."},{"type":"string","description":"An incremental daily backup.","enum":["incremental"]},{"type":"string","enum":["weekly/incremental","monthly/incremental"],"description":"A weekly or monthly incremental backup."},{"description":"A weekly or monthly backup from a specified backup date.","type":"string"}],"example":"weekly/2017-07-03"},"description":"The backup's identification.\n\n* `YYYY-MM-DD` — Restore a daily backup from the specified backup date.\n* `incremental` — Restore a daily incremental backup.\n* `weekly/YYYY-MM-DD` — Restore a weekly backup from the specified backup date.\n* `monthly/YYYY-MM-DD` — Restore a monthly backup from the specified backup date.\n* `weekly/incremental` — Restore a weekly incremental backup.\n* `monthly/incremental` — Restore a monthly incremental backup.","required":true},{"in":"query","name":"path","schema":{"format":"path","type":"string","example":"/public_html/index.php"},"required":true,"description":"The absolute file or directory's path, within a backup, that you wish to restore.\n\n**Important:**\n\n* The value of this parameter **must** begin with a forward slash (/).\n* You **must** parse filenames properly to prevent a cross-site scripting (XSS) attack."},{"schema":{"enum":[1,0],"example":1,"type":"integer"},"description":"Whether to overwrite the file or directory on the disc with its backup replacement.\n\n* `1` — Overwrite the file or directory.\n* `0` — Do **not** overwrite the file or directory.","required":true,"in":"query","name":"overwrite"}]}}},"info":{"termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"tags":[{"name":"File Restoration","description":"cPanel Account Backups / File Restoration"}],"servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}}}],"openapi":"3.0.2","x-tagGroups":[{"name":"cPanel Account Backups","tags":["File Restoration"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"security":[{"BasicAuth":[]}]},"get_users":{"paths":{"/Restore/get_users":{"get":{"tags":["File Restoration"],"parameters":[],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"func":{"type":"string","example":"get_users","description":"The name of the method called."},"module":{"description":"The name of the module called.","example":"Restore","type":"string"},"result":{"type":"object","properties":{"status":{"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","example":1,"enum":[0,1],"type":"integer"},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"data":{"description":"An array of reseller account names.","items":{"example":"username","type":"string","format":"username"},"type":"array"},"metadata":{"properties":{"transformed":{"type":"integer","description":"Post-processing may have transformed the data.","enum":[1],"example":1}}},"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."}}},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}}}}}}},"operationId":"Restore-get_users","x-readonly":true,"description":"This function lists a reseller's users that have existing backup metadata.\n\n**Note:**\n\nWhen you disable the [File Storage role](https://go.cpanel.net/serverroles), the system **disables** this function.","summary":"Return cPanel accounts with backup metadata","x-cpanel-available-version":"cPanel 72","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Restore \\\n  get_users\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Restore/get_users","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Restore_get_users.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/Restore_get_users.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Restore/,\n    q/get_users/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Restore_get_users.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/Restore_get_users.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Restore',\n    'get_users'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-api-version":"UAPI"}}},"info":{"title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"servers":[{"description":"A server running cPanel.","variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute"}],"openapi":"3.0.2","tags":[{"description":"cPanel Account Backups / File Restoration","name":"File Restoration"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"name":"cPanel Account Backups","tags":["File Restoration"]}],"security":[{"BasicAuth":[]}]}},"Postgresql":{"delete_database":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI"},"security":[{"BasicAuth":[]}],"tags":[{"name":"Postgresql","description":"The Postgresql module for UAPI."},{"name":"PostgreSQL Database Management","description":"PostgreSQL / Database Management"}],"servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"description":"A server running cPanel."}],"openapi":"3.0.2","components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"x-tagGroups":[{"name":"PostgreSQL","tags":["PostgreSQL Database Management"]}],"paths":{"/Postgresql/delete_database":{"get":{"operationId":"Postgresql-delete_database","x-readonly":false,"parameters":[{"name":"name","in":"query","schema":{"example":"database","type":"string"},"required":true,"description":"The database's name."}],"tags":["Postgresql","PostgreSQL Database Management"],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"result":{"properties":{"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"messages":{"description":"List of messages generated by the API.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"warnings":{"example":null,"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"},"data":{"default":null,"nullable":true,"type":"object"},"metadata":{"properties":{}},"status":{"type":"integer","description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","example":1,"enum":[0,1]}}},"module":{"type":"string","description":"The name of the module called.","example":"Postgresql"},"func":{"description":"The name of the method called.","example":"delete_database","type":"string"},"apiversion":{"type":"integer","description":"The version of the API.","example":3}},"type":"object"}}},"description":"HTTP Request was successful."}},"x-rollback":"none","x-cpanel-api-version":"UAPI","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.","x-cpanel-available-version":"cPanel 54","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Postgresql \\\n  delete_database \\\n  name='database'\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Postgresql/delete_database?name=database","label":"URL","lang":"HTTP"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Postgresql_delete_database.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/Postgresql_delete_database.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Postgresql/,\n    q/delete_database/,\n    {\n        'name' => 'database',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Postgresql_delete_database.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/Postgresql_delete_database.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Postgresql',\n    'delete_database',\n    array (\n        'name' => 'database',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"summary":"Delete PostgreSQL database"}}}},"set_password":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"version":"11.89.0.9999","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/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}},"security":[{"BasicAuth":[]}],"servers":[{"variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"name":"Postgresql","description":"The Postgresql module for UAPI."},{"description":"PostgreSQL / User Management","name":"PostgreSQL User Management"}],"x-tagGroups":[{"tags":["PostgreSQL User Management"],"name":"PostgreSQL"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"paths":{"/Postgresql/set_password":{"get":{"tags":["Postgresql","PostgreSQL User Management"],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"func":{"description":"The name of the method called.","example":"set_password","type":"string"},"module":{"example":"Postgresql","description":"The name of the module called.","type":"string"},"result":{"properties":{"status":{"type":"integer","description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","enum":[0,1],"example":1},"warnings":{"nullable":true,"type":"array","example":null,"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"}},"data":{"default":null,"type":"object","nullable":true},"metadata":{"properties":{}},"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}}}},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}}}}},"description":"HTTP Request was successful."}},"parameters":[{"schema":{"example":"dbuser","type":"string"},"description":"The database user's name.\n\n**Note:**\n\nIf database prefixing is enabled, this parameter **must** include the database prefix for the account.","required":true,"in":"query","name":"user"},{"schema":{"example":"12345luggage","type":"string"},"description":"The user's new password.","required":true,"name":"password","in":"query"}],"operationId":"Postgresql-set_password","x-readonly":false,"x-cpanel-api-version":"UAPI","x-cpanel-available-version":"cPanel 11.42","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Postgresql \\\n  set_password \\\n  user='dbuser' \\\n  password='12345luggage'\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Postgresql/set_password?user=dbuser&password=12345luggage","label":"URL","lang":"HTTP"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Postgresql_set_password.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/Postgresql_set_password.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Postgresql/,\n    q/set_password/,\n    {\n        'user' => 'dbuser',\n        'password' => '12345luggage',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Postgresql_set_password.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/Postgresql_set_password.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Postgresql',\n    'set_password',\n    array (\n        'user' => 'dbuser',\n        'password' => '12345luggage',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Update PostgreSQL user password","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.","x-rollback":"none"}}}},"update_privileges":{"paths":{"/Postgresql/update_privileges":{"get":{"x-rollback":"none","description":"This function synchronizes PostgreSQL® database user privileges on an account.\n\nSome versions of PostgreSQL are ANSI SQL-92 compliant and do not support recursive grants,\nwildcard grants, or future grants. If you use phpPgAdmin, or manually create new tables, and\nyou want multiple PostgreSQL users to access your PostgreSQL tables, you may either call this\nAPI function or click _Synchronize Grants_ in the _PostgreSQL Databases_ interface\n(_Home >> Databases >> PostgreSQL Databases_) after you add a table.\n\n**Important:**\n\nWhen you disable the [PostgreSQL role](https://go.cpanel.net/serverroles), the system **disables** this function.","parameters":[],"summary":"Update PostgreSQL® privileges","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Postgresql \\\n  update_privileges\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Postgresql/update_privileges","label":"URL","lang":"HTTP"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Postgresql_update_privileges.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Postgresql_update_privileges.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Postgresql/,\n    q/update_privileges/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Postgresql_update_privileges.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Postgresql_update_privileges.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Postgresql',\n    'update_privileges'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 84","x-cpanel-api-version":"UAPI","operationId":"Postgresql-update_privileges","x-readonly":false,"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"result":{"type":"object","properties":{"status":{"type":"integer","enum":[0,1],"example":1,"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details."},"errors":{"nullable":true,"type":"array","example":null,"description":"List of errors if the API failed.","items":{"type":"string"}},"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."},"data":{"type":"object","nullable":true,"default":null},"warnings":{"example":null,"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.","items":{"type":"string"},"nullable":true,"type":"array"},"metadata":{"properties":{}}}},"module":{"type":"string","description":"The name of the module called.","example":"Postgresql"},"func":{"example":"update_privileges","description":"The name of the method called.","type":"string"},"apiversion":{"type":"integer","description":"The version of the API.","example":3}}}}}}},"tags":["Postgresql","PostgreSQL User Management"]}}},"tags":[{"description":"The Postgresql module for UAPI.","name":"Postgresql"},{"name":"PostgreSQL User Management","description":"PostgreSQL / User Management"}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"name":"PostgreSQL","tags":["PostgreSQL User Management"]}],"security":[{"BasicAuth":[]}],"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.","version":"11.89.0.9999","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/"},"externalDocs":{"url":"https://cpanel.net/developers/"}},"list_users":{"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute"}],"tags":[{"name":"Postgresql","description":"The Postgresql module for UAPI."},{"name":"PostgreSQL User Management","description":"PostgreSQL / User Management"}],"x-tagGroups":[{"tags":["PostgreSQL User Management"],"name":"PostgreSQL"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"security":[{"BasicAuth":[]}],"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/Postgresql/list_users":{"get":{"description":"This function lists an account's PostgreSQL® database users.\n\n**Important:**\n\nWhen you disable the [*PostgreSQL* role](https://go.cpanel.net/serverroles), the system **disables** this function.","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Postgresql \\\n  list_users\n","lang":"Shell","label":"CLI"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/Postgresql/list_users"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Postgresql_list_users.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/Postgresql_list_users.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Postgresql/,\n    q/list_users/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Postgresql_list_users.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/Postgresql_list_users.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Postgresql',\n    'list_users'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 84","summary":"Return PostgreSQL users","x-cpanel-api-version":"UAPI","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"func":{"example":"list_users","description":"The name of the method called.","type":"string"},"module":{"example":"Postgresql","description":"The name of the module called.","type":"string"},"result":{"properties":{"metadata":{"properties":{"transformed":{"type":"integer","description":"Post-processing may have transformed the data.","enum":[1],"example":1}}},"warnings":{"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"data":{"type":"array","example":["example_user1","example_user2"],"description":"An array of strings which are PostgreSQL database usernames.","items":{"type":"string","example":"example_user1"}},"messages":{"items":{"type":"string"},"description":"List of messages generated by the API.","example":null,"type":"array","nullable":true},"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"status":{"type":"integer","enum":[0,1],"example":1,"description":"* `1` - Success\n* `0` - Failed. Check the `errors` field for more details."}},"type":"object"},"apiversion":{"type":"integer","description":"The version of the API.","example":3}},"type":"object"}}},"description":"HTTP Request was successful."}},"parameters":[],"tags":["Postgresql","PostgreSQL User Management"],"operationId":"Postgresql-list_users","x-readonly":true}}}},"create_database":{"paths":{"/Postgresql/create_database":{"get":{"x-rollback":"none","description":"This function creates a PostgreSQL® database.\n\n**Important:**\n\nWhen you disable the [PostgreSQL role](https://go.cpanel.net/howtouseserverprofiles#roles), the system **disables** this function.","parameters":[{"name":"name","in":"query","required":true,"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.","schema":{"example":"database","type":"string"}}],"x-cpanel-available-version":"cPanel 11.42","summary":"Create PostgreSQL database","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Postgresql \\\n  create_database \\\n  name='database'\n","lang":"Shell","label":"CLI"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Postgresql/create_database?name=database","label":"URL","lang":"HTTP"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Postgresql_create_database.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/Postgresql_create_database.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Postgresql/,\n    q/create_database/,\n    {\n        'name' => 'database',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Postgresql_create_database.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/Postgresql_create_database.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Postgresql',\n    'create_database',\n    array (\n        'name' => 'database',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-api-version":"UAPI","x-readonly":false,"operationId":"Postgresql-create_database","tags":["Postgresql","PostgreSQL Database Management"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"type":"integer","description":"The version of the API.","example":3},"result":{"properties":{"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}},"data":{"type":"object","nullable":true,"default":null},"warnings":{"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"metadata":{"properties":{}},"status":{"type":"integer","enum":[0,1],"example":1,"description":"* `1` - Success\n* `0` - Failed. Check the `errors` field for more details."}}},"module":{"example":"Postgresql","description":"The name of the module called.","type":"string"},"func":{"example":"create_database","description":"The name of the method called.","type":"string"}}}}}}}}}},"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"tags":["PostgreSQL Database Management"],"name":"PostgreSQL"}],"servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"description":"The Postgresql module for UAPI.","name":"Postgresql"},{"description":"PostgreSQL / Database Management","name":"PostgreSQL Database Management"}],"security":[{"BasicAuth":[]}],"info":{"license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"externalDocs":{"url":"https://cpanel.net/developers/"}},"get_restrictions":{"tags":[{"description":"The Postgresql module for UAPI.","name":"Postgresql"},{"name":"PostgreSQL Database Management","description":"PostgreSQL / Database Management"}],"openapi":"3.0.2","servers":[{"variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"x-tagGroups":[{"name":"PostgreSQL","tags":["PostgreSQL Database Management"]}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"security":[{"BasicAuth":[]}],"info":{"termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/Postgresql/get_restrictions":{"get":{"x-cpanel-api-version":"UAPI","x-cpanel-available-version":"cPanel 11.42","summary":"Return PostgreSQL name length restrictions","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Postgresql \\\n  get_restrictions\n","label":"CLI","lang":"Shell"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/Postgresql/get_restrictions"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Postgresql_get_restrictions.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/Postgresql_get_restrictions.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Postgresql/,\n    q/get_restrictions/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Postgresql_get_restrictions.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/Postgresql_get_restrictions.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Postgresql',\n    'get_restrictions'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"description":"This function retrieves the PostgreSQL® user and database name length restrictions.\n\n**Important:**\n\nWhen you disable the [*PostgreSQL* role](https://go.cpanel.net/serverroles), the system **disables** this function.      ","x-readonly":true,"operationId":"Postgresql-get_restrictions","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"func":{"description":"The name of the method called.","example":"get_restrictions","type":"string"},"result":{"properties":{"metadata":{"properties":{}},"errors":{"example":null,"description":"List of errors if the API failed.","items":{"type":"string"},"nullable":true,"type":"array"},"warnings":{"nullable":true,"type":"array","example":null,"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"}},"data":{"properties":{"max_username_length":{"description":"The maximum length of a database username.","example":63,"minimum":1,"type":"integer"},"prefix":{"example":"example_","description":"If database prefixing is enabled, this return outputs the database prefix. A valid string up to eight characters and an underscore (`_`).","type":"string"},"max_database_name_length":{"type":"integer","minimum":1,"example":63,"description":"The maximum length of a database name."}},"type":"object"},"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null},"status":{"type":"integer","example":1,"enum":[0,1],"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details."}},"type":"object"},"module":{"type":"string","description":"The name of the module called.","example":"Postgresql"},"apiversion":{"type":"integer","example":3,"description":"The version of the API."}},"type":"object"}}},"description":"HTTP Request was successful."}},"tags":["Postgresql","PostgreSQL Database Management"],"parameters":[]}}}},"rename_user":{"openapi":"3.0.2","tags":[{"name":"Postgresql","description":"The Postgresql module for UAPI."},{"description":"PostgreSQL / User Management","name":"PostgreSQL User Management"}],"servers":[{"variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"x-tagGroups":[{"name":"PostgreSQL","tags":["PostgreSQL User Management"]}],"security":[{"BasicAuth":[]}],"info":{"license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/Postgresql/rename_user":{"get":{"parameters":[{"name":"oldname","in":"query","description":"The database user's current name.\n\n**Note:**\n\nIf database prefixing is enabled, this parameter **must** include the database prefix for the account.","required":true,"schema":{"example":"dbuser","type":"string"}},{"description":"The database user's new name.\n\n**Note:**\n\nIf database prefixing is enabled, this parameter **must** include the database prefix for the account.","required":true,"schema":{"type":"string","example":"dbuser2"},"in":"query","name":"newname"},{"name":"password","in":"query","description":"The database user's new password.","required":true,"schema":{"example":"123456luggage","type":"string"}}],"x-rollback":"none","description":"This function renames a PostgreSQL® database user.\n\n**Important:**\n\nWhen you disable the [*PostgreSQL* role](https://go.cpanel.net/serverroles), the system **disables** this function.","x-readonly":false,"operationId":"Postgresql-rename_user","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"result":{"properties":{"status":{"type":"integer","example":1,"enum":[0,1],"description":"* `1` - Success\n* `0` - Failed. Check the `errors` field for more details."},"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null},"errors":{"nullable":true,"type":"array","example":null,"description":"List of errors if the API failed.","items":{"type":"string"}},"metadata":{"properties":{}},"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"},"example":null,"type":"array","nullable":true},"data":{"default":null,"type":"object","nullable":true}}},"module":{"type":"string","description":"The name of the module called.","example":"Postgresql"},"func":{"type":"string","example":"rename_user","description":"The name of the method called."},"apiversion":{"type":"integer","example":3,"description":"The version of the API."}}}}}}},"tags":["Postgresql","PostgreSQL User Management"],"x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Postgresql \\\n  rename_user \\\n  oldname='dbuser' \\\n  newname='dbuser2' \\\n  password='123456luggage'\n","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Postgresql/rename_user?oldname=dbuser&newname=dbuser2&password=123456luggage","label":"URL","lang":"HTTP"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Postgresql_rename_user.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/Postgresql_rename_user.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Postgresql/,\n    q/rename_user/,\n    {\n        'oldname' => 'dbuser',\n        'newname' => 'dbuser2',\n        'password' => '123456luggage',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Postgresql_rename_user.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/Postgresql_rename_user.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Postgresql',\n    'rename_user',\n    array (\n        'oldname' => 'dbuser',\n        'newname' => 'dbuser2',\n        'password' => '123456luggage',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 11.42","summary":"Update PostgreSQL username","x-cpanel-api-version":"UAPI"}}}},"revoke_all_privileges":{"paths":{"/Postgresql/revoke_all_privileges":{"get":{"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"type":"integer","description":"The version of the API.","example":3},"result":{"properties":{"status":{"example":1,"enum":[0,1],"description":"* `1` - Success\n* `0` - Failed. Check the `errors` field for more details.","type":"integer"},"messages":{"description":"List of messages generated by the API.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"metadata":{"properties":{}},"data":{"type":"object","nullable":true,"default":null},"warnings":{"nullable":true,"type":"array","example":null,"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.","items":{"type":"string"}}}},"module":{"type":"string","example":"Postgresql","description":"The name of the module called."},"func":{"description":"The name of the method called.","example":"revoke_all_privileges","type":"string"}},"type":"object"}}}}},"tags":["Postgresql","PostgreSQL User Management"],"x-readonly":false,"operationId":"Postgresql-revoke_all_privileges","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Postgresql \\\n  revoke_all_privileges \\\n  user='example_dbuser' \\\n  database='example_database'\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Postgresql/revoke_all_privileges?user=example_dbuser&database=example_database","lang":"HTTP","label":"URL"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Postgresql_revoke_all_privileges.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/Postgresql_revoke_all_privileges.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Postgresql/,\n    q/revoke_all_privileges/,\n    {\n        'user' => 'example_dbuser',\n        'database' => 'example_database',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Postgresql_revoke_all_privileges.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/Postgresql_revoke_all_privileges.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Postgresql',\n    'revoke_all_privileges',\n    array (\n        'user' => 'example_dbuser',\n        'database' => 'example_database',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Remove PostgreSQL user privileges","x-cpanel-available-version":"cPanel 11.42","x-cpanel-api-version":"UAPI","parameters":[{"name":"user","in":"query","schema":{"type":"string","example":"example_dbuser"},"required":true,"description":"The database user's name.\n\n**Note**\n\nIf database prefixing is enabled, this value **must** include the database prefix for the account."},{"name":"database","in":"query","schema":{"example":"example_database","type":"string"},"required":true,"description":"The database's name.\n\n**Note**\n\nIf database prefixing is enabled, this value **must** include the database prefix for the account."}],"description":"This function revokes all privileges for a PostgreSQL® database from a database user.\n\n**Important:**\n\nWhen you disable the [*PostgreSQL* role](https://go.cpanel.net/serverroles), the system **disables** this function.","x-rollback":"none"}}},"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}}}],"tags":[{"name":"Postgresql","description":"The Postgresql module for UAPI."},{"description":"PostgreSQL / User Management","name":"PostgreSQL User Management"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"name":"PostgreSQL","tags":["PostgreSQL User Management"]}],"security":[{"BasicAuth":[]}],"info":{"contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"},"termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."},"externalDocs":{"url":"https://cpanel.net/developers/"}},"delete_user":{"openapi":"3.0.2","servers":[{"url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}},"description":"A server running cPanel."}],"tags":[{"name":"Postgresql","description":"The Postgresql module for UAPI."},{"name":"PostgreSQL User Management","description":"PostgreSQL / User Management"}],"x-tagGroups":[{"name":"PostgreSQL","tags":["PostgreSQL User Management"]}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"security":[{"BasicAuth":[]}],"info":{"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/Postgresql/delete_user":{"get":{"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.","parameters":[{"name":"name","in":"query","description":"The PostgreSQL user's name.","required":true,"schema":{"example":"example","type":"string"}}],"x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Postgresql \\\n  delete_user \\\n  name='example'\n","lang":"Shell","label":"CLI"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Postgresql/delete_user?name=example","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Postgresql_delete_user.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/Postgresql_delete_user.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Postgresql/,\n    q/delete_user/,\n    {\n        'name' => 'example',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Postgresql_delete_user.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/Postgresql_delete_user.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Postgresql',\n    'delete_user',\n    array (\n        'name' => 'example',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"summary":"Delete PostgreSQL user","x-cpanel-available-version":"cPanel 84","x-cpanel-api-version":"UAPI","operationId":"Postgresql-delete_user","x-readonly":false,"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"func":{"type":"string","description":"The name of the method called.","example":"delete_user"},"module":{"description":"The name of the module called.","example":"Postgresql","type":"string"},"result":{"properties":{"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null},"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."},"data":{"nullable":true,"type":"object","default":null},"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API."},"metadata":{"properties":{}},"status":{"example":1,"enum":[0,1],"description":"*`1` - Success.\n*`0` - Failed. Check the errors field for more details.","type":"integer"}}},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}}}}},"description":"HTTP Request was successful."}},"tags":["Postgresql","PostgreSQL User Management"]}}}},"grant_all_privileges":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"security":[{"BasicAuth":[]}],"x-tagGroups":[{"tags":["PostgreSQL User Management"],"name":"PostgreSQL"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"servers":[{"variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"description":"The Postgresql module for UAPI.","name":"Postgresql"},{"name":"PostgreSQL User Management","description":"PostgreSQL / User Management"}],"paths":{"/Postgresql/grant_all_privileges":{"get":{"x-readonly":false,"operationId":"Postgresql-grant_all_privileges","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"func":{"type":"string","description":"The name of the method called.","example":"grant_all_privileges"},"module":{"type":"string","example":"Postgresql","description":"The name of the module called."},"result":{"properties":{"errors":{"example":null,"description":"List of errors if the API failed.","items":{"type":"string"},"nullable":true,"type":"array"},"messages":{"example":null,"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"},"data":{"default":null,"type":"object","nullable":true},"warnings":{"example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.","nullable":true,"type":"array"},"metadata":{"properties":{}},"status":{"type":"integer","enum":[0,1],"example":1,"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details."}}},"apiversion":{"example":3,"description":"The version of the API.","type":"integer"}}}}}}},"tags":["Postgresql","PostgreSQL User Management"],"x-cpanel-api-version":"UAPI","summary":"Enable all user privileges on PostgreSQL database","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Postgresql \\\n  grant_all_privileges \\\n  user='example_dbuser' \\\n  database='example_database'\n"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/Postgresql/grant_all_privileges?user=example_dbuser&database=example_database"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Postgresql_grant_all_privileges.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/Postgresql_grant_all_privileges.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Postgresql/,\n    q/grant_all_privileges/,\n    {\n        'user' => 'example_dbuser',\n        'database' => 'example_database',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Postgresql_grant_all_privileges.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/Postgresql_grant_all_privileges.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Postgresql',\n    'grant_all_privileges',\n    array (\n        'user' => 'example_dbuser',\n        'database' => 'example_database',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 11.42","parameters":[{"schema":{"example":"example_dbuser","type":"string"},"required":true,"description":"The database user's name.\n\n**Note**\n\nIf database prefixing is enabled, this value **must** include the database prefix for the account.","in":"query","name":"user"},{"description":"The database's name.\n\n**Note**\n\nIf database prefixing is enabled, this value **must** include the database prefix for the account.","required":true,"schema":{"type":"string","example":"example_database"},"name":"database","in":"query"}],"x-rollback":"none","description":"This function grants all privileges for a PostgreSQL® database to a database user.\n\n**Important:**\n\nWhen you disable the [*PostgreSQL* role](https://go.cpanel.net/howtouseserverprofiles#roles), the system **disables** this function."}}}},"rename_database":{"paths":{"/Postgresql/rename_database":{"get":{"x-rollback":"none","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"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Postgresql/rename_database?oldname=database&newname=database2","lang":"HTTP","label":"URL"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Postgresql_rename_database.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/Postgresql_rename_database.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Postgresql/,\n    q/rename_database/,\n    {\n        'oldname' => 'database',\n        'newname' => 'database2',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Postgresql_rename_database.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/Postgresql_rename_database.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Postgresql',\n    'rename_database',\n    array (\n        'oldname' => 'database',\n        'newname' => 'database2',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 11.42","summary":"Update PostgreSQL database name","description":"This function renames a PostgreSQL® database.\n\n**Important:**\n\nWhen you disable the [*PostgreSQL* role](https://go.cpanel.net/serverroles), the system **disables** this function.","x-cpanel-api-version":"UAPI","operationId":"Postgresql-rename_database","x-readonly":false,"parameters":[{"in":"query","name":"oldname","schema":{"type":"string","example":"database"},"required":true,"description":"The database's current name.\n\n**Note:**\n\nIf database prefixing is enabled, this parameter **must** include the database prefix for the account."},{"description":"The database's new name.\n\n**Note:**\n\nIf database prefixing is enabled, this parameter **must** include the database prefix for the account.","required":true,"schema":{"example":"database2","type":"string"},"in":"query","name":"newname"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"result":{"properties":{"warnings":{"example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","nullable":true,"type":"array"},"data":{"nullable":true,"type":"object","default":null},"metadata":{"properties":{}},"errors":{"example":null,"items":{"type":"string"},"description":"List of errors if the API failed.","nullable":true,"type":"array"},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}},"status":{"enum":[0,1],"example":1,"description":"* `1` - Success\n* `0` - Failed. Check the `errors` field for more details.","type":"integer"}}},"module":{"type":"string","example":"Postgresql","description":"The name of the module called."},"func":{"description":"The name of the method called.","example":"rename_database","type":"string"}}}}},"description":"HTTP Request was successful."}},"tags":["Postgresql","PostgreSQL Database Management"]}}},"security":[{"BasicAuth":[]}],"servers":[{"url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}},"description":"A server running cPanel."}],"tags":[{"description":"The Postgresql module for UAPI.","name":"Postgresql"},{"description":"PostgreSQL / Database Management","name":"PostgreSQL Database Management"}],"openapi":"3.0.2","components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"x-tagGroups":[{"name":"PostgreSQL","tags":["PostgreSQL Database Management"]}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}}},"list_databases":{"paths":{"/Postgresql/list_databases":{"get":{"parameters":[],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"func":{"description":"The name of the method called.","example":"list_databases","type":"string"},"result":{"type":"object","properties":{"status":{"example":1,"enum":[0,1],"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","type":"integer"},"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."},"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API."},"data":{"items":{"properties":{"disk_usage":{"type":"integer","description":"The disk space that the database uses, in bytes.","example":673},"users":{"items":{"example":"db_user","type":"string"},"description":"An array of database usernames.\n\n**Note:**\n\n  If no users exist on a database, the function returns an empty array","minimum":0,"type":"array"},"database":{"type":"string","example":"user_db","description":"The database name."}},"type":"object"},"type":"array"},"errors":{"nullable":true,"type":"array","example":null,"description":"List of errors if the API failed.","items":{"type":"string"}},"metadata":{"properties":{"transformed":{"description":"Post-processing may have transformed the data.","example":1,"enum":[1],"type":"integer"}}}}},"module":{"type":"string","description":"The name of the module called.","example":"Postgresql"}},"type":"object"}}}}},"tags":["Postgresql","PostgreSQL Database Management"],"x-readonly":true,"operationId":"Postgresql-list_databases","summary":"Return PostgreSQL databases","x-cpanel-available-version":"cPanel 84","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Postgresql \\\n  list_databases\n"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/Postgresql/list_databases"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Postgresql_list_databases.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/Postgresql_list_databases.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Postgresql/,\n    q/list_databases/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Postgresql_list_databases.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/Postgresql_list_databases.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Postgresql',\n    'list_databases'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"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.","x-cpanel-api-version":"UAPI"}}},"security":[{"BasicAuth":[]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"name":"PostgreSQL","tags":["PostgreSQL Database Management"]}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute"}],"tags":[{"description":"The Postgresql module for UAPI.","name":"Postgresql"},{"name":"PostgreSQL Database Management","description":"PostgreSQL / Database Management"}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"}}},"create_user":{"paths":{"/Postgresql/create_user":{"get":{"summary":"Create PostgreSQL user","x-cpanel-available-version":"cPanel 11.42","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Postgresql \\\n  create_user \\\n  name='dbuser' \\\n  password='123456luggage'\n","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Postgresql/create_user?name=dbuser&password=123456luggage","label":"URL","lang":"HTTP"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Postgresql_create_user.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/Postgresql_create_user.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Postgresql/,\n    q/create_user/,\n    {\n        'name' => 'dbuser',\n        'password' => '123456luggage',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Postgresql_create_user.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/Postgresql_create_user.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Postgresql',\n    'create_user',\n    array (\n        'name' => 'dbuser',\n        'password' => '123456luggage',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"x-cpanel-api-version":"UAPI","operationId":"Postgresql-create_user","x-readonly":false,"tags":["Postgresql","PostgreSQL User Management"],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"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":{"status":{"type":"integer","description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","example":1,"enum":[1,0]},"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null},"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."},"data":{"default":null,"type":"integer","nullable":true},"warnings":{"example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","nullable":true,"type":"array"},"metadata":{"properties":{}}}},"apiversion":{"type":"integer","example":3,"description":"The version of the API."}},"type":"object"}}},"description":"HTTP Request was successful."}},"x-rollback":"none","description":"This function creates a PostgreSQL® database user.\n\n**Important:**\n\nWhen you disable the [*PostgreSQL* role](https://go.cpanel.net/serverroles), the system **disables** this function.","parameters":[{"in":"query","name":"name","required":true,"description":"The database user's name.\n\n**Note:**\n\nIf database prefixing is enabled, this parameter **must** include the database prefix for the account.","schema":{"example":"dbuser","type":"string"}},{"in":"query","name":"password","schema":{"example":"123456luggage","type":"string"},"required":true,"description":"The new user's password."}]}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"security":[{"BasicAuth":[]}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"x-tagGroups":[{"tags":["PostgreSQL User Management"],"name":"PostgreSQL"}],"openapi":"3.0.2","tags":[{"description":"The Postgresql module for UAPI.","name":"Postgresql"},{"name":"PostgreSQL User Management","description":"PostgreSQL / User Management"}],"servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"description":"A server running cPanel."}]},"rename_user_no_password":{"paths":{"/Postgresql/rename_user_no_password":{"get":{"parameters":[{"in":"query","name":"oldname","schema":{"example":"dbuser","type":"string"},"required":true,"description":"The database user's current name.\n\n**Note:**\n\nIf database prefixing is enabled, this parameter **must** include the database prefix for the account."},{"description":"The database user's new name.\n\n**Note:**\n\nIf database prefixing is enabled, this parameter **must** include the database prefix for the account.","required":true,"schema":{"type":"string","example":"dbuser2"},"in":"query","name":"newname"}],"x-rollback":"none","description":"This function renames a PostgreSQL® database user.\n\n**Warning:**\n\n* If you rename a PostgreSQL user, you **must** set the password for the database user. This is required because of the md5 hash that PostgreSQL creates to store user passwords.\n* We **strongly** recommend that you use the `Postgresql::rename_user function` instead of this one.\n\n**Important:**\n\nWhen you disable the  [*PostgreSQL* role](https://go.cpanel.net/serverroles), the system **disables** this function.","x-readonly":false,"operationId":"Postgresql-rename_user_no_password","tags":["Postgresql","PostgreSQL User Management"],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"result":{"properties":{"status":{"description":"* `1` - Success\n* `0` - Failed. Check the `errors` field for more details.","enum":[0,1],"example":1,"type":"integer"},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null},"warnings":{"example":null,"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.","items":{"type":"string"},"nullable":true,"type":"array"},"data":{"type":"object","nullable":true,"default":null},"metadata":{"properties":{}}}},"module":{"description":"The name of the module called.","example":"Postgresql","type":"string"},"func":{"type":"string","example":"rename_user_no_password","description":"The name of the method called."},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}}}}},"description":"HTTP Request was successful."}},"summary":"Update PostgreSQL username without password","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Postgresql \\\n  rename_user_no_password \\\n  oldname='dbuser' \\\n  newname='dbuser2'\n","lang":"Shell","label":"CLI"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Postgresql/rename_user_no_password?oldname=dbuser&newname=dbuser2","label":"URL","lang":"HTTP"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Postgresql_rename_user_no_password.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/Postgresql_rename_user_no_password.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Postgresql/,\n    q/rename_user_no_password/,\n    {\n        'oldname' => 'dbuser',\n        'newname' => 'dbuser2',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Postgresql_rename_user_no_password.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/Postgresql_rename_user_no_password.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Postgresql',\n    'rename_user_no_password',\n    array (\n        'oldname' => 'dbuser',\n        'newname' => 'dbuser2',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-available-version":"cPanel 11.42","x-cpanel-api-version":"UAPI"}}},"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"x-tagGroups":[{"tags":["PostgreSQL User Management"],"name":"PostgreSQL"}],"openapi":"3.0.2","servers":[{"variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"tags":[{"description":"The Postgresql module for UAPI.","name":"Postgresql"},{"description":"PostgreSQL / User Management","name":"PostgreSQL User Management"}],"security":[{"BasicAuth":[]}],"info":{"contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/"},"externalDocs":{"url":"https://cpanel.net/developers/"}}},"ModSecurity":{"enable_domains":{"paths":{"/ModSecurity/enable_domains":{"get":{"x-cpanel-api-version":"UAPI","description":"This function enables ModSecurity™ for specified domains.\n\n**Important:**\n\nWhen you disable the [WebServer role](https://go.cpanel.net/serverroles#roles), the system **disables** this function.","summary":"Enable ModSecurity for selected domains","x-cpanel-available-version":"cPanel 11.46","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  ModSecurity \\\n  enable_domains \\\n  domains='example.com,dallas.example.com,galveston.example.com'\n","label":"CLI","lang":"Shell"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/ModSecurity/enable_domains?domains=example.com%2cdallas.example.com%2cgalveston.example.com"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file ModSecurity_enable_domains.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/ModSecurity_enable_domains.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/ModSecurity/,\n    q/enable_domains/,\n    {\n        'domains' => 'example.com,dallas.example.com,galveston.example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file ModSecurity_enable_domains.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/ModSecurity_enable_domains.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'ModSecurity',\n    'enable_domains',\n    array (\n        'domains' => 'example.com,dallas.example.com,galveston.example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-rollback":"none","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"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":{"status":{"type":"integer","description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","enum":[0,1],"example":1},"data":{"oneOf":[{"type":"array","example":[{"domain":"dallas.example.com","type":"sub","dependencies":["dallas.com"],"enabled":1,"searchhint":"dallas.com"},{"domain":"example.com","dependencies":["arkansas.com","kansas.com","nevada.com","newmexico.com","texas.com"],"enabled":1,"searchhint":"arkansas.com,kansas.com,nevada.com,newmexico.com,texas.com","type":"main"},{"searchhint":"galveston.com","dependencies":["galveston.com"],"enabled":1,"type":"sub","domain":"galveston.example.com"}],"items":{"properties":{"type":{"example":"main","enum":["main","sub"],"description":"The domain type.\n* `main` - A main domain.\n* `sub` - A subdomain.","type":"string"},"enabled":{"description":"Whether ModSecurity is enabled on the domain.\n* `1` - Enabled.\n* `0` - Disabled.","enum":[0,1],"example":1,"type":"integer"},"dependencies":{"example":["arkansas.com","kansas.com","nevada.com","newmexico.com","texas.com"],"description":"An array of domains that your changes to a selected domain affect.","items":{"type":"string","format":"domain"},"type":"array"},"searchhint":{"type":"string","description":"A comma-separated list of domain-related search terms.","example":"arkansas.com,kansas.com,nevada.com,newmexico.com,texas.com"},"domain":{"example":"example.com","description":"The cPanel account's domain.","format":"domain","type":"string"},"exception":{"type":"string","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":"object"}},{"type":"object","properties":{"no_domains_provided":{"type":"integer","description":"Indicates caller error on API call.","example":1,"enum":[1]}}},{"type":"object","properties":{"invalid_domains_provided":{"type":"integer","example":1,"enum":[1],"description":"Indicates caller error on API call."},"invalid_domains":{"type":"array","example":["example.invalid"],"description":"List of invalid domains provided by caller.","items":{"type":"string"}}}}]},"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API."},"metadata":{"properties":{"transformed":{"type":"integer","enum":[1],"example":1,"description":"Post-processing may have transformed the data."}}},"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null},"messages":{"example":null,"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"}},"type":"object"},"apiversion":{"type":"integer","description":"The version of the API.","example":3}}}}}}},"parameters":[{"name":"domains","in":"query","required":true,"description":"A comma-separated list of domains for which to enable ModSecurity.\n\n**Important:**\n\nThe authenticated cPanel account **must** own these domains.","schema":{"type":"string","example":"example.com,dallas.example.com,galveston.example.com"}}],"tags":["ModSecurity"],"operationId":"ModSecurity-enable_domains","x-readonly":false}}},"info":{"license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"tags":[{"description":"The ModSecurity module for UAPI.","name":"ModSecurity"}],"servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"description":"A server running cPanel."}],"openapi":"3.0.2","components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"x-tagGroups":[{"name":"Web Server Management","tags":["ModSecurity"]}],"security":[{"BasicAuth":[]}]},"has_modsecurity_installed":{"info":{"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"x-tagGroups":[{"tags":["ModSecurity"],"name":"Web Server Management"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"tags":[{"name":"ModSecurity","description":"The ModSecurity module for UAPI."}],"servers":[{"url":"https://{host}:{port}/execute","variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"description":"The cPanel port.","default":"2083"}},"description":"A server running cPanel."}],"openapi":"3.0.2","security":[{"BasicAuth":[]}],"paths":{"/ModSecurity/has_modsecurity_installed":{"get":{"x-readonly":true,"operationId":"ModSecurity-has_modsecurity_installed","parameters":[],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"func":{"example":"has_modsecurity_installed","description":"The name of the method called.","type":"string"},"result":{"properties":{"status":{"example":1,"enum":[0,1],"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","type":"integer"},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}},"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null},"metadata":{"properties":{}},"data":{"type":"object","properties":{"installed":{"description":"Whether ModSecurity is installed on the server.\n* `1` - Installed.\n* `0` - Not installed.","example":1,"enum":[0,1],"type":"integer"}}},"warnings":{"example":null,"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"},"module":{"type":"string","description":"The name of the module called.","example":"ModSecurity"}}}}}}},"tags":["ModSecurity"],"x-cpanel-api-version":"UAPI","description":"This function checks whether ModSecurity™ is installed on a server.\n\n**Important:**\n\nWhen you disable the [Web Server role](https://go.cpanel.net/serverroles#roles), the system **disables** this function.","summary":"Return ModSecurity installation status","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  ModSecurity \\\n  has_modsecurity_installed\n"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/ModSecurity/has_modsecurity_installed"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file ModSecurity_has_modsecurity_installed.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/ModSecurity_has_modsecurity_installed.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/ModSecurity/,\n    q/has_modsecurity_installed/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file ModSecurity_has_modsecurity_installed.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/ModSecurity_has_modsecurity_installed.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'ModSecurity',\n    'has_modsecurity_installed'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 11.46"}}}},"disable_all_domains":{"info":{"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"openapi":"3.0.2","servers":[{"variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"tags":[{"description":"The ModSecurity module for UAPI.","name":"ModSecurity"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"x-tagGroups":[{"name":"Web Server Management","tags":["ModSecurity"]}],"security":[{"BasicAuth":[]}],"paths":{"/ModSecurity/disable_all_domains":{"get":{"x-readonly":false,"operationId":"ModSecurity-disable_all_domains","tags":["ModSecurity"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"func":{"type":"string","description":"The name of the method called.","example":"disable_all_domains"},"module":{"example":"ModSecurity","description":"The name of the module called.","type":"string"},"result":{"properties":{"metadata":{"properties":{"transformed":{"type":"integer","description":"Post-processing may have transformed the data.","enum":[1],"example":1}}},"data":{"type":"array","items":{"properties":{"exception":{"type":"string","example":"An error occurred during the userdata update for domain “example.com”.","description":"An exception error message. The function only returns this value if an error occurs."},"domain":{"format":"domain","type":"string","example":"example.com","description":"The cPanel account's domain."},"searchhint":{"type":"string","example":"arkansas.com,kansas.com,nevada.com,newmexico.com,texas.com","description":"A comma-separated list of domain-related search terms."},"enabled":{"enum":[0,1],"example":0,"description":"Whether ModSecurity is enabled on the account.\n* `1` - Enabled.\n* `0` - Disabled.","type":"integer"},"dependencies":{"type":"array","example":["arkansas.com","kansas.com","nevada.com","newmexico.com","texas.com"],"description":"An array of domains that your changes to a selected domain affect.","items":{"type":"string","format":"domain"}},"type":{"description":"The domain type.\n* `main` - A main domain.\n* `sub` - A subdomain.","enum":["main","sub"],"example":"main","type":"string"}},"type":"object"},"example":[{"type":"sub","dependencies":["dallas.com"],"enabled":0,"searchhint":"dallas.com","domain":"dallas.example.com"},{"type":"main","searchhint":"arkansas.com,kansas.com,nevada.com,newmexico.com,texas.com","enabled":0,"dependencies":["arkansas.com","kansas.com","nevada.com","newmexico.com","texas.com"],"domain":"example.com"},{"domain":"galveston.example.com","searchhint":"galveston.com","dependencies":["galveston.com"],"enabled":0,"type":"sub"},{"type":"sub","searchhint":"houston.com","enabled":0,"dependencies":["houston.com"],"domain":"houston.example.com"},{"domain":"neworleans.example.com","dependencies":["neworleans.com"],"enabled":0,"searchhint":"neworleans.com","type":"sub"},{"type":"sub","enabled":0,"dependencies":["sanantonio.com"],"searchhint":"sanantonio.com","domain":"sanantonio.example.com"}]},"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"},"example":null,"type":"array","nullable":true},"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"},"errors":{"example":null,"description":"List of errors if the API failed.","items":{"type":"string"},"nullable":true,"type":"array"},"status":{"example":1,"enum":[0,1],"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","type":"integer"}},"type":"object"}},"type":"object"}}}}},"x-cpanel-api-version":"UAPI","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  ModSecurity \\\n  disable_all_domains\n","lang":"Shell","label":"CLI"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/ModSecurity/disable_all_domains"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file ModSecurity_disable_all_domains.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/ModSecurity_disable_all_domains.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/ModSecurity/,\n    q/disable_all_domains/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file ModSecurity_disable_all_domains.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/ModSecurity_disable_all_domains.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'ModSecurity',\n    'disable_all_domains'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"summary":"Disable ModSecurity for all domains","x-cpanel-available-version":"cPanel 11.46","parameters":[],"x-rollback":"none","description":"This function disables ModSecurity™ on a cPanel account's domains.\n\n**Important:**\n\nWhen you disable the [WebServer role](https://go.cpanel.net/serverroles#roles), the system **disables** this function."}}}},"disable_domains":{"paths":{"/ModSecurity/disable_domains":{"get":{"operationId":"ModSecurity-disable_domains","x-readonly":false,"tags":["ModSecurity"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"description":"The version of the API.","example":3,"type":"integer"},"func":{"type":"string","example":"disable_domains","description":"The name of the method called."},"module":{"example":"ModSecurity","description":"The name of the module called.","type":"string"},"result":{"properties":{"status":{"enum":[0,1],"example":1,"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","type":"integer"},"metadata":{"properties":{"transformed":{"type":"integer","description":"Post-processing may have transformed the data.","enum":[1],"example":1}}},"warnings":{"example":null,"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"},"data":{"oneOf":[{"example":[{"domain":"dallas.example.com","type":"sub","searchhint":"dallas.com","enabled":0,"dependencies":["dallas.com"]},{"searchhint":"arkansas.com,kansas.com,nevada.com,newmexico.com,texas.com","enabled":0,"dependencies":["arkansas.com","kansas.com","nevada.com","newmexico.com","texas.com"],"type":"main","domain":"example.com"},{"enabled":0,"dependencies":["galveston.com"],"searchhint":"galveston.com","type":"sub","domain":"galveston.example.com"}],"items":{"type":"object","properties":{"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"},"domain":{"example":"example.com","description":"The cPanel account's domain.","format":"domain","type":"string"},"searchhint":{"type":"string","description":"A comma-separated list of domain-related search terms.","example":"arkansas.com,kansas.com,nevada.com,newmexico.com,texas.com"},"enabled":{"type":"integer","example":1,"enum":[0,1],"description":"Whether ModSecurity is enabled on the domain.\n* `1` - Enabled.\n* `0` - Disabled."},"dependencies":{"example":["arkansas.com","kansas.com","nevada.com","newmexico.com","texas.com"],"items":{"format":"domain","type":"string"},"description":"An array of domains that your changes to a selected domain affect.","type":"array"},"type":{"type":"string","description":"The domain type.\n* `main` - A main domain.\n* `sub` - A subdomain.","enum":["main","sub"],"example":"main"}}},"type":"array"},{"properties":{"no_domains_provided":{"type":"integer","description":"Indicates caller error on API call.","enum":[1],"example":1}},"type":"object"},{"properties":{"invalid_domains_provided":{"enum":[1],"example":1,"description":"Indicates caller error on API call.","type":"integer"},"invalid_domains":{"type":"array","description":"List of invalid domains provided by caller.","items":{"type":"string"},"example":["example.invalid"]}},"type":"object"}]},"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"},"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."}},"type":"object"}},"type":"object"}}}}},"summary":"Disable ModSecurity for selected domains","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  ModSecurity \\\n  disable_domains \\\n  domains='example.com,dallas.example.com,galveston.example.com'\n","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/ModSecurity/disable_domains?domains=example.com%2cdallas.example.com%2cgalveston.example.com","label":"URL","lang":"HTTP"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file ModSecurity_disable_domains.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/ModSecurity_disable_domains.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/ModSecurity/,\n    q/disable_domains/,\n    {\n        'domains' => 'example.com,dallas.example.com,galveston.example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file ModSecurity_disable_domains.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/ModSecurity_disable_domains.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'ModSecurity',\n    'disable_domains',\n    array (\n        'domains' => 'example.com,dallas.example.com,galveston.example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-available-version":"cPanel 11.46","x-cpanel-api-version":"UAPI","parameters":[{"name":"domains","in":"query","description":"A comma-separated list of domains that the cPanel account owns.\n\n**Important:**\n\nThe authenticated cPanel account **must** own these domains.","required":true,"schema":{"example":"example.com,dallas.example.com,galveston.example.com","type":"string"}}],"x-rollback":"none","description":"This function disables ModSecurity™ on specified domains.\n\n**Important:**\n\nWhen you disable the [WebServer role](https://go.cpanel.net/serverroles#roles), the system **disables** this function."}}},"security":[{"BasicAuth":[]}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute"}],"tags":[{"description":"The ModSecurity module for UAPI.","name":"ModSecurity"}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"x-tagGroups":[{"tags":["ModSecurity"],"name":"Web Server Management"}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}}},"enable_all_domains":{"paths":{"/ModSecurity/enable_all_domains":{"get":{"parameters":[],"tags":["ModSecurity"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"func":{"type":"string","example":"enable_all_domains","description":"The name of the method called."},"result":{"type":"object","properties":{"warnings":{"example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","nullable":true,"type":"array"},"data":{"example":[{"domain":"dallas.example.com","type":"sub","dependencies":["dallas.com"],"enabled":1,"searchhint":"dallas.com"},{"domain":"example.com","type":"main","dependencies":["arkansas.com","kansas.com","nevada.com","newmexico.com","texas.com"],"enabled":1,"searchhint":"arkansas.com,kansas.com,nevada.com,newmexico.com,texas.com"},{"searchhint":"galveston.com","dependencies":["galveston.com"],"enabled":1,"type":"sub","domain":"galveston.example.com"},{"type":"sub","searchhint":"houston.com","dependencies":["houston.com"],"enabled":1,"domain":"houston.example.com"},{"domain":"neworleans.example.com","searchhint":"neworleans.com","dependencies":["neworleans.com"],"enabled":1,"type":"sub"},{"domain":"sanantonio.example.com","type":"sub","enabled":1,"dependencies":["sanantonio.com"],"searchhint":"sanantonio.com"}],"items":{"properties":{"enabled":{"type":"integer","description":"Whether ModSecurity is enabled on the account.\n* `1` - Enabled.\n* `0` - Disabled.","example":0,"enum":[0,1]},"dependencies":{"type":"array","example":["arkansas.com","kansas.com","nevada.com","newmexico.com","texas.com"],"items":{"format":"domain","type":"string"},"description":"An array of domains that your changes to a selected domain affect."},"searchhint":{"type":"string","description":"A comma-separated list of domain-related search terms.","example":"arkansas.com,kansas.com,nevada.com,newmexico.com,texas.com"},"type":{"enum":["main","sub"],"example":"main","description":"The domain type.\n* `main` - A main domain.\n* `sub` - A subdomain.","type":"string"},"domain":{"format":"domain","type":"string","example":"example.com","description":"The cPanel account's domain."},"exception":{"type":"string","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":"object"},"type":"array"},"messages":{"items":{"type":"string"},"description":"List of messages generated by the API.","example":null,"type":"array","nullable":true},"status":{"type":"integer","description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","example":1,"enum":[0,1]},"metadata":{"properties":{"transformed":{"type":"integer","description":"Post-processing may have transformed the data.","example":1,"enum":[1]}}},"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true}}},"module":{"description":"The name of the module called.","example":"ModSecurity","type":"string"},"apiversion":{"type":"integer","description":"The version of the API.","example":3}}}}}}},"x-readonly":false,"operationId":"ModSecurity-enable_all_domains","summary":"Enable ModSecurity for all domains","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  ModSecurity \\\n  enable_all_domains\n"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/ModSecurity/enable_all_domains"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file ModSecurity_enable_all_domains.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/ModSecurity_enable_all_domains.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/ModSecurity/,\n    q/enable_all_domains/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file ModSecurity_enable_all_domains.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/ModSecurity_enable_all_domains.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'ModSecurity',\n    'enable_all_domains'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-available-version":"cPanel 11.46","description":"This function enables ModSecurity™ on a cPanel account's domains.\n\n**Important:**\n\nWhen you disable the [WebServer role](https://go.cpanel.net/serverroles#roles), the system **disables** this function","x-cpanel-api-version":"UAPI","x-rollback":"none"}}},"info":{"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","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.","version":"11.89.0.9999","termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI"},"externalDocs":{"url":"https://cpanel.net/developers/"},"x-tagGroups":[{"tags":["ModSecurity"],"name":"Web Server Management"}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"openapi":"3.0.2","servers":[{"variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"tags":[{"description":"The ModSecurity module for UAPI.","name":"ModSecurity"}],"security":[{"BasicAuth":[]}]},"list_domains":{"paths":{"/ModSecurity/list_domains":{"get":{"x-cpanel-api-version":"UAPI","description":"This function returns ModSecurity's™ status for a cPanel account's domains.\n\n**Important:**\n\nWhen you disable the [WebServer role](https://go.cpanel.net/serverroles#roles), the system **disables** this function.","x-cpanel-available-version":"cPanel 11.46","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  ModSecurity \\\n  list_domains\n"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/ModSecurity/list_domains"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file ModSecurity_list_domains.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/ModSecurity_list_domains.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/ModSecurity/,\n    q/list_domains/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file ModSecurity_list_domains.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/ModSecurity_list_domains.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'ModSecurity',\n    'list_domains'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Return ModSecurity domains' status","operationId":"ModSecurity-list_domains","x-readonly":true,"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"func":{"type":"string","example":"list_domains","description":"The name of the method called."},"result":{"properties":{"status":{"type":"integer","description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","enum":[0,1],"example":1},"errors":{"example":null,"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"},"example":null,"type":"array","nullable":true},"warnings":{"example":null,"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"},"data":{"type":"array","items":{"type":"object","properties":{"searchhint":{"type":"string","example":"arkansas.com,kansas.com,nevada.com,newmexico.com,texas.com","description":"A comma-separated list of domain-related search terms."},"enabled":{"type":"integer","description":"Whether ModSecurity is enabled for the account.\n* `1` - Enabled.\n* `0` - Disabled.","enum":[0,1],"example":1},"dependencies":{"type":"array","description":"An array of domains that your changes to a selected domain affect.","items":{"type":"string","format":"domain"},"example":["arkansas.com","kansas.com","nevada.com","newmexico.com","texas.com"]},"type":{"example":"main","enum":["main","sub"],"description":"The domain type.\n* `main` - A main domain.\n* `sub` - A subdomain.","type":"string"},"domain":{"description":"The cPanel account's domain.","example":"example.com","format":"domain","type":"string"}}},"example":[{"domain":"dallas.example.com","enabled":1,"dependencies":["dallas.com"],"searchhint":"dallas.com","type":"sub"},{"domain":"example.com","enabled":1,"dependencies":["arkansas.com","kansas.com","nevada.com","newmexico.com","texas.com"],"searchhint":"arkansas.com,kansas.com,nevada.com,newmexico.com,texas.com","type":"main"},{"domain":"galveston.example.com","type":"sub","enabled":1,"dependencies":["galveston.com"],"searchhint":"galveston.com"},{"domain":"houston.example.com","enabled":0,"dependencies":["houston.com"],"searchhint":"houston.com","type":"sub"},{"domain":"neworleans.example.com","type":"sub","dependencies":["neworleans.com"],"enabled":0,"searchhint":"neworleans.com"},{"type":"sub","searchhint":"sanantonio.com","dependencies":["sanantonio.com"],"enabled":0,"domain":"sanantonio.example.com"}]},"metadata":{"properties":{"modsec":{"properties":{"total_enabled":{"description":"The total number of enabled entries.","example":3,"type":"integer"},"total_disabled":{"type":"integer","example":3,"description":"The total number of disabled entries."}}},"transformed":{"example":1,"enum":[1],"description":"Post-processing may have transformed the data.","type":"integer"}}}},"type":"object"},"module":{"example":"ModSecurity","description":"The name of the module called.","type":"string"},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}}}}}}},"parameters":[],"tags":["ModSecurity"]}}},"security":[{"BasicAuth":[]}],"openapi":"3.0.2","servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"description":"A server running cPanel."}],"tags":[{"name":"ModSecurity","description":"The ModSecurity module for UAPI."}],"x-tagGroups":[{"tags":["ModSecurity"],"name":"Web Server Management"}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}}}},"UserManager":{"unlink_service_account":{"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.","version":"11.89.0.9999","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/"},"externalDocs":{"url":"https://cpanel.net/developers/"},"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"url":"https://{host}:{port}/execute"}],"tags":[{"name":"UserManager","description":"The UserManager module for UAPI."},{"description":"cPanel Account / Subaccount Management","name":"Subaccount Management"}],"x-tagGroups":[{"tags":["Subaccount Management"],"name":"cPanel Account"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"security":[{"BasicAuth":[]}],"paths":{"/UserManager/unlink_service_account":{"get":{"parameters":[{"required":true,"description":"The subaccount's username.\n\n**Note:**\n\nThis value does **not** include the domain name.","schema":{"example":"example","type":"string","format":"username"},"in":"query","name":"username"},{"name":"domain","in":"query","required":true,"description":"The subaccount's associated domain.","schema":{"example":"example.com","format":"domain","type":"string"}},{"schema":{"example":"ftp","enum":["email","ftp","webdisk"],"type":"string"},"description":"The service to unlink.\n\n* `email`\n* `ftp`\n* `webdisk`","required":true,"in":"query","name":"service"},{"in":"query","name":"dismiss","schema":{"type":"integer","default":0,"enum":[0,1],"example":0},"required":false,"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."}],"description":"This function unlinks a service account from a subaccount.","x-rollback":"none","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"description":"The version of the API.","example":3,"type":"integer"},"result":{"properties":{"status":{"type":"integer","description":"* `1` - Success\n* `0` - Failed: Check the errors field for more details.","enum":[0,1],"example":1},"data":{"type":"object","nullable":true,"default":null},"warnings":{"example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","nullable":true,"type":"array"},"metadata":{"properties":{}},"errors":{"example":null,"description":"List of errors if the API failed.","items":{"type":"string"},"nullable":true,"type":"array"},"messages":{"items":{"type":"string"},"description":"List of messages generated by the API.","example":null,"type":"array","nullable":true}}},"module":{"example":"UserManager","description":"The name of the module called.","type":"string"},"func":{"type":"string","description":"The name of the method called.","example":"unlink_service_account"}}}}}}},"tags":["UserManager","Subaccount Management"],"operationId":"UserManager-unlink_service_account","x-readonly":false,"x-cpanel-api-version":"UAPI","summary":"Unregister service account from Subaccount","x-cpanel-available-version":"cPanel 56","x-codeSamples":[{"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":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/UserManager/unlink_service_account?username=example&domain=example.com&service=ftp","label":"URL","lang":"HTTP"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}]}}}},"change_password":{"x-tagGroups":[{"tags":["Account Management"],"name":"cPanel Account"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"servers":[{"description":"A server running cPanel.","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"url":"https://{host}:{port}/execute"}],"openapi":"3.0.2","tags":[{"name":"UserManager","description":"The UserManager module for UAPI."},{"name":"Account Management","description":"cPanel Account / Account Management"}],"security":[{"BasicAuth":[]}],"info":{"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"},"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.115.0.9999","termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI"},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/UserManager/change_password":{"get":{"parameters":[{"in":"query","name":"oldpass","schema":{"type":"string","format":"password","example":"ThisWasMyPassword!"},"required":true,"description":"The current password."},{"name":"newpass","in":"query","schema":{"type":"string","format":"password","example":"MyNewPassw0rd!"},"required":true,"description":"The new password."},{"required":false,"description":"Whether to update the cPanel account's MySQL password.\n* `1` - Update MySQL password.\n* `0` - Do not update MySQL passowrd.","schema":{"type":"integer","default":0,"example":0,"enum":[0,1]},"in":"query","name":"enablemysql"}],"tags":["UserManager","Account Management"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"description":"The version of the API.","example":3,"type":"integer"},"func":{"example":"change_password","description":"The name of the method called.","type":"string"},"result":{"properties":{"status":{"type":"integer","example":1,"enum":[0,1],"description":"* `1` - Success\n* `0` - Failed: Check the errors field for more details."},"data":{"default":null,"nullable":true,"type":"object"},"warnings":{"type":"array","nullable":true,"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"},"example":null},"metadata":{"properties":{}},"errors":{"nullable":true,"type":"array","example":null,"description":"List of errors if the API failed.","items":{"type":"string"}},"messages":{"description":"List of messages generated by the API.","items":{"type":"string"},"example":null,"type":"array","nullable":true}}},"module":{"type":"string","description":"The name of the module called.","example":"UserManager"}},"type":"object"}}}}},"x-readonly":false,"operationId":"UserManager-change_password","x-cpanel-api-version":"UAPI","summary":"Update cPanel account password (User Manager)","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"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/UserManager/change_password?oldpass=12346=newpass=ThisIs4It!","label":"URL","lang":"HTTP"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-available-version":"cPanel 116","description":"This function updates the password of the main cPanel account, from the User Manager interface. It applies to the account owner only.","x-rollback":"none"}}}},"list_users":{"paths":{"/UserManager/list_users":{"get":{"x-readonly":true,"operationId":"UserManager-list_users","parameters":[{"name":"flat","in":"query","description":"Whether to return Subaccounts with the same name under the merge_candidates array.\n* `1` - Do **not** return.\n* `0` - Return.","required":false,"schema":{"enum":[0,1],"default":0,"example":0,"type":"integer"}}],"tags":["UserManager","Subaccount Management"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"func":{"type":"string","description":"The name of the method called.","example":"list_users"},"module":{"description":"The name of the module called.","example":"UserManager","type":"string"},"result":{"properties":{"status":{"type":"integer","description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","enum":[0,1],"example":1},"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API."},"data":{"properties":{},"type":"array","items":{"type":"object","properties":{"username":{"maxLength":64,"example":"example","description":"The username for the subaccount. A username that meets the subaccount name limitations.\n- Length  64 characters.\n- Characters  a-z, A-Z, 0-9, dot (.), hyphen (-), underscore (_).\n\n**Note:**\n\nThis value does **not** include the domain name.","minLength":1,"type":"string","pattern":"^[\\w\\.]{1,64}$"},"domain":{"description":"The subaccount user's associated domain.","example":"example.com","format":"domain","type":"string"},"has_invite":{"description":"Whether an account login invitation exists.\n* `1` - Account invitation exists.\n* `0` - Account invitation does **not** exist.","enum":[0,1],"example":0,"type":"integer"},"type":{"type":"string","description":"The type of account.\n* `sub` - A subaccount.\n* `hypothetical` - A hypothetical subaccount that does not exist, but that the user could create as part of a merge.\n* `service` - A service account.\n* `cpanel` - The cPanel account.","enum":["sub","hypothetical","service","cpanel"],"example":"sub"},"special":{"type":"integer","enum":[0,1],"example":0,"description":"Whether the account is a system-created special account that the user **cannot** remove.\n* `1` — A special account.\n* `0` — **Not** a special account."},"parent_type":{"description":"The type of account that could own the service account.\n* `sub` - A subaccount.\n* `hypothetical` - A hypothetical subaccount that does **not** yet exist, but the user could create as part of a merge.\n* `null` - **Not** a merge candidate.","example":"hypothetical","enum":["sub","hypothetical"],"type":"string","nullable":true},"guid":{"type":"string","description":"The subaccount unique identifier.","example":"N4641:EXAMPLE.COM:564CC8A7:A82EA007D8348AC631C0170F9418EC1DEB0D164CC5A722A87C55EF5DD2AD98D4"},"alternate_email":{"example":"user@example.com","description":"An alternate email address for the subaccount's user.","type":"string","format":"email"},"phone_number":{"type":"string","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"},"issues":{"description":"Information about any issues or problems with the subaccount.","items":{"properties":{"service":{"type":"string","example":"email","enum":["email","ftp","webdisk"],"description":"The affected service."},"limit":{"format":"megabytes","type":"integer","description":"The set quota megabyte (MB) limit for the affected subaccount.","example":1500,"minimum":1},"used":{"format":"megabytes","type":"integer","example":2000,"description":"The number of megabytes (MB) that the account currently uses."},"type":{"description":"The type of issue.","enum":["error","warning","info"],"example":"info","type":"string"},"area":{"example":"quota","description":"The affected section of cPanel & WHM.","type":"string"},"message":{"example":"Your account is over quota.","description":"The description of the issue.","type":"string"}},"type":"object"},"type":"array"},"can_set_quota":{"description":"Whether the cPanel account user can change the subaccount's disk usage quota.\n* `1` - Can change.\n* `0` - **Cannot** change.","example":0,"enum":[0,1],"type":"integer"},"avatar_url":{"type":"string","format":"url","example":"https://img.example.com/avatars/example.jpg","description":"The user's subaccount profile photo."},"has_siblings":{"description":"Whether the service account shares a full_username value with another service account.\n* `1` - Shares.\n* `0` - Does **not** share.","enum":[0,1],"example":0,"type":"integer"},"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.","type":"object","properties":{"email":{"properties":{"enabled":{"example":1,"enum":[0,1],"description":"Whether the subaccount can access Webmail, POP, and IMAP services.\n* `1` - Can access.\n* `0` - **Cannot** access.","type":"integer"},"quota":{"minimum":1,"description":"The maximum amount of disk space allocated to subaccount's email account.","example":100,"type":"integer","format":"megabytes"}},"type":"object","description":"An object containing the information that indicates the subaccount's email status."},"special":{"description":"Whether the account is a system-created special account that the user cannot remove.\n* `1` - A special account.\n* `0` - **Not** a special account.","enum":[0,1],"example":1,"type":"integer"},"ftp":{"properties":{"homedir":{"description":"The subaccount's FTP home directory relative to the cPanel account's home.","example":"/subaccount","type":"string","format":"path"},"quota":{"format":"megabytes","maximum":999999,"type":"integer","description":"The subaccount's FTP disk space quota.\n* `0` - Unlimited.","example":100,"minimum":0},"enabled":{"type":"integer","description":"Whether the subaccount can access FTP.\n* `1` - Can access.\n* `0` - **Cannot** access.","enum":[0,1],"example":0}},"type":"object","description":"An object containing the information that indicates the subaccount's FTP status."},"webdisk":{"type":"object","properties":{"private":{"type":"integer","enum":[0,1],"example":0,"description":"Whether to set the Web Disk directory's permissions to public or private.\n* `1` - Private (0700).\n* `0` - Public (0755)."},"homedir":{"description":"The subaccount's Web Disk home directory relative to the cPanel account's home directory.","example":"/bob","format":"path","type":"string"},"perms":{"type":"string","example":"rw","enum":["ro","rw"],"description":"Whether to grant write permissions to the subaccount.\n* `ro` - Read-only permissions.\n* `rw` - Read and write permissions."},"enabled":{"description":"Whether the subaccount can access Web Disk.\n* `1` - Can access.\n* `0` - **Cannot** access.","enum":[0,1],"example":0,"type":"integer"}},"description":"An object containing information that indicates the subaccount's Web Disk status."}}},"has_expired_invite":{"type":"integer","description":"Whether an expired account login invitation exists.\n* `1` - Expired account invitation exists.\n* `0` - Expired account invitation does **not** exist.","enum":[0,1],"example":0},"invite_expiration":{"description":"When the invitation expires.","example":1591718154,"format":"unix_timestamp","type":"integer"},"full_username":{"type":"string","example":"user@example.com","description":"The subaccount's username and domain name."},"merge_candidates":{"description":"An array of objects that represents the service accounts that the system could merge for this subaccount.","items":{"type":"string"},"example":[],"type":"array"},"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"},"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"},"dismissed_merge_candidates":{"type":"array","example":[],"description":"An array of objects containing information about service candidates that the system dismissed from merges.","items":{"type":"string"}},"synced_password":{"type":"integer","nullable":true,"description":"Whether the user has synchronized the passwords for each of the subaccount's service accounts.\n* `1` - Synchronized.\n* `0` - Not synchronized.\n\n**Note:**\n\nThe function returns a `null` value if the account is **not** a subaccount.","example":0,"enum":[0,1]},"can_delete":{"type":"integer","description":"Whether the cPanel account user can delete the subaccount.\n* `1` - Can delete.\n* `0` - **Cannot** delete.","example":0,"enum":[0,1]},"sub_account_exists":{"description":"Whether a subaccount exists with the same username.\n* `1` - Exists.\n* `0` - Does **not** exist.\n\n**Note:**\n\nThe function returns a `null` value if the account is **not** a service account.","enum":[0,1],"example":0,"type":"integer","nullable":true}}}},"metadata":{"properties":{"transformed":{"description":"Post-processing may have transformed the data.","enum":[1],"example":1,"type":"integer"}}},"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"messages":{"items":{"type":"string"},"description":"List of messages generated by the API.","example":null,"type":"array","nullable":true}},"type":"object"},"apiversion":{"example":3,"description":"The version of the API.","type":"integer"}},"type":"object"}}}}},"x-cpanel-api-version":"UAPI","x-cpanel-available-version":"cPanel 54","summary":"Return cPanel account's Subaccounts","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  UserManager \\\n  list_users\n","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/UserManager/list_users","lang":"HTTP","label":"URL"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n#    to .../frontend/<theme-name>/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}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"description":"This function lists the cPanel account's Subaccounts."}}},"security":[{"BasicAuth":[]}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"x-tagGroups":[{"tags":["Subaccount Management"],"name":"cPanel Account"}],"openapi":"3.0.2","servers":[{"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."}},"description":"A server running cPanel."}],"tags":[{"name":"UserManager","description":"The UserManager module for UAPI."},{"name":"Subaccount Management","description":"cPanel Account / Subaccount Management"}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/"}},"create_user":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"security":[{"BasicAuth":[]}],"servers":[{"variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"description":"The UserManager module for UAPI.","name":"UserManager"},{"name":"Subaccount Management","description":"cPanel Account / Subaccount Management"}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{"CreateUserResponse":{"allOf":[{"$ref":"#/components/schemas/SubaccountBase"},{"properties":{"merge_candidates":{"type":"array","description":"An array of objects that represents the service accounts that the system could merge for\nthis subaccount.","items":{"$ref":"#/components/schemas/SubaccountBase"}},"invite_expiration":{"type":"integer","format":"unix_timestamp","example":1591718154,"description":"When the invitation expires. A date in Unix time format."},"has_invite":{"type":"integer","description":"Whether an account login invitation exists.\n* `1` - Account invitation exists.\n* `0` - Account invitation does **not** exist.","example":0,"enum":[0,1]},"has_expired_invite":{"description":"Whether an expired account login invitation exists.\n* `1` - Expired account invitation exists.\n* `0` - Expired account invitation does **not** exist.","example":0,"enum":[0,1],"type":"integer"},"dismissed_merge_candidates":{"items":{"$ref":"#/components/schemas/SubaccountBase"},"description":"An array of objects containing service candidates that the system dismissed from merges.","type":"array"}},"type":"object"}]},"SubaccountBase":{"properties":{"has_siblings":{"type":"integer","description":"Whether the service account shares a `full_username` value with another service account.\n* `1` - Shares.\n* `0` - Does **not** share.","enum":[0,1],"example":0},"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"},"real_name":{"type":"string","example":"John Doe","description":"The name of the subaccount's user, if provided."},"services":{"description":"Information about the subaccount's access to email, FTP, and Web Disk.","type":"object","properties":{"ftp":{"description":"Information about the subaccount's FTP status.","properties":{"enabled":{"example":0,"enum":[0,1],"description":"Whether the subaccount can access FTP.\n* `1` - Can access.\n* `0` - **Cannot** access.","type":"integer"},"quota":{"type":"string","description":"The subaccount's maximum FTP disk space quota, in megabytes (MB).\n* A string containing a non-negative float.\n* `0.00` - Unlimited.","example":"0.00"},"homedir":{"example":"/subaccount","description":"The subaccount's FTP home directory, relative to the cPanel account's home directory.","format":"path","type":"string"}},"type":"object"},"email":{"type":"object","properties":{"enabled":{"type":"integer","enum":[0,1],"example":1,"description":"Whether the subaccount can access Webmail, POP, and IMAP services.\n* `1` - Can access.\n* `0` - **Cannot** access."},"quota":{"example":1500,"description":"The maximum amount of disk space, in megabytes (MB), allocated to subaccount's email account.","minimum":1,"type":"integer"}},"description":"Information about the subaccount's email status."},"webdisk":{"description":"Information about the subaccount's Web Disk status.","properties":{"private":{"description":"Whether the subaccount's Web Disk directory permissions are public or private.\n\n* `1` - Private (`0700`).\n* `0` - Public (`0755`).","example":0,"enum":[0,1],"type":"integer"},"homedir":{"format":"path","type":"string","description":"The subaccount's Web Disk home directory, relative to the cPanel account's home directory.","example":"/bob"},"enabled":{"type":"integer","enum":[0,1],"example":0,"description":"Whether the subaccount can access Web Disk.\n* `1` - Can access.\n* `0` - **Cannot** access."},"perms":{"type":"string","example":"rw","description":"Whether the subaccount has read-only or read and write permissions.\n\n* `ro` - Read-only permissions.\n* `rw` - Read and write permissions."}},"type":"object"}}},"username":{"description":"The subaccount's username.","example":"example","type":"string"},"can_set_quota":{"example":0,"enum":[0,1],"description":"Whether the cPanel account user can change the subaccount's disk usage quota.\n* `1` - Can change.\n* `0` - **Cannot** change.","type":"integer"},"type":{"example":"sub","enum":["sub","hypothetical","service","cpanel"],"description":"The type of account.\n* `sub` - A subaccount.\n* `hypothetical` - A hypothetical subaccount that does not exist, but that the user could create as part of a merge.\n* `service` - A service account.\n* `cpanel` - The cPanel account.","type":"string"},"special":{"enum":[0,1],"example":1,"description":"Whether the account is a system-created special account that the user **cannot** remove.\n* `1` - A special account.\n* `0` - **Not** a special account.","type":"integer"},"parent_type":{"description":"The type of account that could own the service account.\n* `sub` - A subaccount.\n* `hypothetical` - A hypothetical subaccount that does **not** yet exist, but the user could create as part of a merge.\n* `null` - **Not** a merge candidate.","example":"hypothetical","type":"string","nullable":true},"domain":{"example":"example.com","description":"The subaccount user's associated domain.","format":"domain","type":"string"},"guid":{"example":"N4641:EXAMPLE.COM:564CC8A7:A82EA007D8348AC631C0170F9418EC1DEB0D164CC5A722A87C55EF5DD2AD98D4","description":"The subaccount unique identifier.","type":"string"},"full_username":{"type":"string","format":"email","example":"user@example.com","description":"The subaccount's username and domain name."},"can_set_password":{"type":"integer","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},"dismissed":{"type":"integer","description":"Whether the cPanel account user dismissed the merge prompt for the service account.\n\n* `1` - Dismissed.\n* `0` - Did **not** dismiss.\n\n**Note:**\n\n**Only** service accounts return this value.","enum":[0,1],"example":1},"alternate_email":{"description":"An alternate email address for the subaccount's user.","example":"user@example.com","type":"string","format":"email"},"phone_number":{"type":"string","description":"The subaccount user's phone number. A valid phone number that conforms to\n[ITU-T](https://en.wikipedia.org/wiki/ITU-T)'s\n[E.164](https://en.wikipedia.org/wiki/E.164)-recommended standard for the representation\nof telephone numbers.","example":"+15551234567"},"sub_account_exists":{"description":"Whether a subaccount exists with the same username.\n* `1` - Exists.\n* `0` - Does not exist.\n\n**Note:**\n\nThe function returns a null value if the account is **not** a service account.","example":0,"enum":[0,1],"type":"integer","nullable":true},"issues":{"type":"array","items":{"properties":{"message":{"type":"string","example":"Your account is over quota.","description":"The description of the issue."},"area":{"example":"quota","description":"The affected section of cPanel & WHM.","type":"string"},"type":{"example":"info","enum":["error","warning","info"],"description":"The type of issue.\n* `error`\n* `warning`\n* `info`","type":"string"},"used":{"type":"integer","example":2000,"description":"The number of megabytes (MB) that the account currently uses.","minimum":1},"limit":{"type":"integer","minimum":1,"description":"The set quota megabyte (MB) limit for the affected subaccount.","example":1500},"service":{"enum":["email","ftp","webdisk"],"example":"email","description":"The affected service.\n* `email`\n* `ftp`\n* `webdisk`","type":"string"}},"type":"object"},"description":"Information about any issues or problems with the subaccount."},"synced_password":{"description":"Whether the user has synchronized the passwords for each of the subaccount's service accounts.\n* `1` - Synchronized.\n* `0` - **Not** synchronized.\n\n**Note:**\n\nThe function returns a null value if the account is **not** a subaccount.","enum":[0,1],"example":0,"type":"integer","nullable":true},"can_delete":{"type":"integer","description":"Whether the cPanel account user can delete the subaccount.\n* `1` - Can delete.\n* `0` - **Cannot** delete.","enum":[0,1],"example":0}},"type":"object"}}},"x-tagGroups":[{"name":"cPanel Account","tags":["Subaccount Management"]}],"paths":{"/UserManager/create_user":{"get":{"parameters":[{"in":"query","name":"alternate_email","required":false,"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`.","schema":{"type":"string","format":"email","example":"user@example.com"}},{"required":false,"description":"The URL path to the user's Subaccount profile photo.\n\n**Note:**\n\nYou **must** use the HTTPS protocol to prevent mixed content warnings when users view the image from another HTTPS URL.\n\n**Warning:**\n\nWe reserved this parameter for future use. Do **not** use this parameter.","schema":{"type":"string","format":"url","example":"https://img.example.com/avatars/example.jpg"},"in":"query","name":"avatar_url"},{"schema":{"example":"example.com","type":"string","format":"domain"},"description":"The Subaccount user's associated domain that the cPanel account owns.","required":true,"in":"query","name":"domain"},{"required":true,"description":"The Subaccount's password.\n\n**Note:**\n\n Email, FTP, and Web Disk services use this password.","schema":{"example":"123456luggage","type":"string","format":"password"},"name":"password","in":"query"},{"name":"phone_number","in":"query","schema":{"example":"+15551234567","type":"string"},"description":"A phone number for the Subaccount user that conforms to\n[ITU-T](https://en.wikipedia.org/wiki/ITU-T)'s [E.164](https://en.wikipedia.org/wiki/E.164)\nstandards.\n\n**Warning:**\n\nWe reserved this parameter for future use. Do **not** use this parameter.","required":false},{"description":"The Subaccount user's first and/or last name.","required":false,"schema":{"example":"John Doe","type":"string"},"in":"query","name":"real_name"},{"name":"send_invite","in":"query","description":"Whether to send a reset password email to the Subaccount's alternate email address.\n\n* `1` - Send.\n* `0` - Do not send.","required":false,"schema":{"enum":[0,1],"default":0,"example":0,"type":"integer"}},{"name":"services.email.enabled","in":"query","description":"Whether to grant the Subaccount email access.\n\n* `1` - Can access.\n* `0` - **Cannot** access.","required":false,"schema":{"type":"integer","example":1,"default":0,"enum":[0,1]}},{"schema":{"type":"string","example":"500"},"description":"The maximum amount of disk space, in megabytes (MB), allocated to Subaccount's email account.\n\n* `0` or `unlimited` - The subaccount has unlimited disk space.\n\nThis value defaults to the defined system value.\n\n**Note:**\n\nThis value **cannot** be larger than the system's maximum email quota.","required":false,"in":"query","name":"services.email.quota"},{"name":"services.email.send_welcome_email","in":"query","description":"Whether to send client configuration instructions to the account.\n\n* `1` - Send the instructions.\n* `0` - Do **not** send the instructions.","required":false,"schema":{"default":0,"enum":[0,1],"example":1,"type":"integer"}},{"schema":{"type":"integer","example":1,"enum":[0,1],"default":0},"required":false,"description":"Whether to grant the Subaccount FTP access.\n\n* `1` - Can access.\n* `0` - **Cannot** access.","in":"query","name":"services.ftp.enabled"},{"in":"query","name":"services.ftp.homedir","description":"The Subaccount's FTP home directory, relative to the cPanel account's home directory.\n\n**Note:**\n\n* This parameter is **required** if you enabled the `services.ftp.homedir` parameter.\n* The directory **must** exist.","required":false,"schema":{"example":"/Subaccount","format":"path","type":"string"}},{"in":"query","name":"services.webdisk.enabled","required":false,"description":"Whether to grant the Subaccount Web Disk access.\n\n* `1` _ Can access.\n* `0` - **Cannot** access.","schema":{"type":"integer","enum":[0,1],"example":1,"default":0}},{"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.","required":false,"schema":{"type":"integer","default":0,"example":0,"enum":[0,1]},"in":"query","name":"services.webdisk.enabledigest"},{"description":"Whether to set the directory's permissions to public or private.\n\n* `1` - Private (`0700`).\n* `0` - Public (`0755`).","required":false,"schema":{"type":"integer","default":0,"example":1,"enum":[0,1]},"in":"query","name":"services.webdisk.private"},{"schema":{"example":"/Subaccount","format":"path","type":"string"},"required":false,"description":"The Subaccount's Web Disk home directory, relative to the cPanel account's home directory.\n\n**Note:**\n\nThis parameter is **required** if you enable the `services.webdisk.enabled` parameter.","in":"query","name":"services.webdisk.homedir"},{"required":false,"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.","schema":{"example":"rw","default":"rw","type":"string"},"name":"services.webdisk.perms","in":"query"},{"in":"query","name":"type","required":false,"description":"The type of account.\n\n* `sub` - A Subaccount.","schema":{"default":"sub","enum":["sub"],"example":"sub","type":"string"}},{"in":"query","name":"username","schema":{"type":"string","format":"username","maxLength":64,"example":"example"},"description":"The username for the Subaccount. The username can only contain alphanumeric characters, dots (`.`), hyphens (`-`), and underscores (`_`).\n\n**Note:**\n\nThis value does **not** include the domain name.","required":true}],"x-rollback":"none","description":"This function creates a Subaccount.","x-readonly":false,"operationId":"UserManager-create_user","tags":["UserManager","Subaccount Management"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"module":{"type":"string","example":"UserManager","description":"The name of the module called."},"result":{"type":"object","properties":{"errors":{"nullable":true,"type":"array","example":null,"description":"List of errors if the API failed.","items":{"type":"string"}},"metadata":{"properties":{}},"status":{"type":"integer","description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","example":1,"enum":[0,1]},"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."},"warnings":{"type":"array","nullable":true,"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"},"example":null},"data":{"$ref":"#/components/schemas/CreateUserResponse"}}},"func":{"description":"The name of the method called.","example":"create_user","type":"string"},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}},"type":"object"}}}}},"summary":"Create Subaccount","x-cpanel-available-version":"cPanel 54","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  UserManager \\\n  create_user \\\n  domain='example.com' \\\n  password='123456luggage' \\\n  username='example'\n","lang":"Shell","label":"CLI"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/UserManager/create_user?domain=example.com&password=123456luggage&username=example"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-api-version":"UAPI"}}}},"dismiss_merge":{"paths":{"/UserManager/dismiss_merge":{"get":{"x-cpanel-api-version":"UAPI","description":"This function removes a service account as a link candidate to create a subaccount or\nlink to a subaccount. When you use this function, the system removes the *Link* option in\ncPanel's [*User Manager*](https://go.cpanel.net/cpaneldocsUserManager) interface (_cPanel >> Home >> Preferences >> User Manager_).\n\n**Note:**\n\nYou **must** use at least one of the following parameters:\n* `services.email.dismiss`\n* `services.ftp.dismiss`\n* `services.webdisk.dismiss`","summary":"Remove service account link request","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  UserManager \\\n  dismiss_merge \\\n  username='example1' \\\n  domain='example.com'\n","lang":"Shell","label":"CLI"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/UserManager/dismiss_merge?username=example1&domain=example.com"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"x-cpanel-available-version":"cPanel 54","x-rollback":"none","parameters":[{"schema":{"type":"string","format":"username","maxLength":64,"example":"example1"},"required":true,"description":"The username for the service account.\n\n**Note:**\n\nThis parameter does **not** include the domain name.","in":"query","name":"username"},{"required":true,"description":"The service account's associated domain.","schema":{"type":"string","format":"domain","example":"example.com"},"name":"domain","in":"query"},{"required":false,"description":"Whether to dismiss the merge of the email service account.\n\n* `1` - Dismiss.\n* `0` - Do **not** dismiss.","schema":{"type":"integer","default":0,"enum":[0,1],"example":1},"in":"query","name":"services.email.dismiss"},{"name":"services.ftp.dismiss","in":"query","required":false,"description":"Whether to dismiss the merge of the FTP service account.\n\n* `1` - Dismiss.\n* `0` - Do **not** dismiss.","schema":{"default":0,"enum":[0,1],"example":1,"type":"integer"}},{"schema":{"default":0,"example":1,"enum":[0,1],"type":"integer"},"description":"Whether to dismiss the merge of the Web Disk service account.\n\n* `1` - Dismiss.\n* `0` - Do **not** dismiss.","required":false,"name":"services.webdisk.dismiss","in":"query"}],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"module":{"description":"The name of the module called.","example":"UserManager","type":"string"},"result":{"properties":{"errors":{"example":null,"items":{"type":"string"},"description":"List of errors if the API failed.","nullable":true,"type":"array"},"messages":{"description":"List of messages generated by the API.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"warnings":{"example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","nullable":true,"type":"array"},"data":{},"metadata":{"properties":{}},"status":{"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","enum":[0,1],"example":1,"type":"integer"}},"type":"object"},"func":{"type":"string","example":"dismiss_merge","description":"The name of the method called."},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}}}}}}},"tags":["UserManager","Subaccount Management"],"x-readonly":false,"operationId":"UserManager-dismiss_merge"}}},"security":[{"BasicAuth":[]}],"openapi":"3.0.2","tags":[{"name":"UserManager","description":"The UserManager module for UAPI."},{"name":"Subaccount Management","description":"cPanel Account / Subaccount Management"}],"servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"description":"A server running cPanel."}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"x-tagGroups":[{"name":"cPanel Account","tags":["Subaccount Management"]}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."}},"lookup_user":{"paths":{"/UserManager/lookup_user":{"get":{"x-cpanel-api-version":"UAPI","summary":"Return Subaccount's information","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  UserManager \\\n  lookup_user \\\n  guid='EXAMPLE1:EXAMPLE.COM:564CD663%3AFE50072F2620B50988EA4E5F46022546FBE6BDDE3C36C2F2534F4967C661EC37'\n","lang":"Shell","label":"CLI"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/UserManager/lookup_user?guid=EXAMPLE1%3aEXAMPLE.COM%3a564CD663%253AFE50072F2620B50988EA4E5F46022546FBE6BDDE3C36C2F2534F4967C661EC37","label":"URL","lang":"HTTP"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 54","description":"This function lists a single Subaccount's information.","parameters":[{"in":"query","name":"guid","required":true,"description":"The Subaccount's unique identifier.","schema":{"type":"string","example":"EXAMPLE1:EXAMPLE.COM:564CD663%3AFE50072F2620B50988EA4E5F46022546FBE6BDDE3C36C2F2534F4967C661EC37"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"func":{"type":"string","description":"The name of the method called.","example":"lookup_user"},"module":{"description":"The name of the module called.","example":"UserManager","type":"string"},"result":{"properties":{"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"},"data":{"allOf":[{"$ref":"#/components/schemas/ServiceAccount"},{"properties":{"dismissed_merge_candidates":{"items":{"$ref":"#/components/schemas/ServiceAccount"},"description":"An array of service account objects that the system dismissed from merges.","type":"array"},"has_invite":{"description":"Whether an account login invitation exists.\n* `1` -  Account invitation exists.\n* `0` -  Account invitation does not exist.","example":0,"enum":[0,1],"type":"integer"},"has_expired_invite":{"enum":[0,1],"example":0,"description":"Whether an expired account login invitation exists.\n* `1` - Expired account invitation exists.\n* `0` - Expired account invitation does not exist.","type":"integer"},"invite_expiration":{"nullable":true,"type":"integer","format":"unix_timestamp","example":1591718154,"description":"When the invitation expires."}}},{"type":"object"}]},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"metadata":{"properties":{}},"status":{"type":"integer","enum":[0,1],"example":1,"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details."}},"type":"object"},"apiversion":{"type":"integer","description":"The version of the API.","example":3}},"type":"object"}}},"description":"HTTP Request was successful."}},"tags":["UserManager","Subaccount Management"],"operationId":"UserManager-lookup_user","x-readonly":true}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"},"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/"},"security":[{"BasicAuth":[]}],"servers":[{"variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"name":"UserManager","description":"The UserManager module for UAPI."},{"name":"Subaccount Management","description":"cPanel Account / Subaccount Management"}],"x-tagGroups":[{"tags":["Subaccount Management"],"name":"cPanel Account"}],"components":{"schemas":{"ServiceAccount":{"type":"object","properties":{"can_set_password":{"type":"integer","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.","example":1,"enum":[0,1]},"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.","example":1,"enum":[0,1],"type":"integer"},"full_username":{"type":"string","example":"user@example.com","description":"The subaccount's username and domain name. A valid username, the `@` character, and the associated domain."},"guid":{"type":"string","example":"N4641:EXAMPLE.COM:564CC8A7:A82EA007D8348AC631C0170F9418EC1DEB0D164CC5A722A87C55EF5DD2AD98D4","description":"The subaccount unique identifier."},"merge_candidates":{"description":"An array of service account objects that the system could merge for this subaccount.","items":{"$ref":"#/components/schemas/ServiceAccount"},"type":"array"},"issues":{"type":"array","description":"Information about any issues or problems with the subaccount.","items":{"properties":{"service":{"enum":["email","ftp","webdisk"],"example":"email","description":"The affected service.","type":"string"},"message":{"type":"string","description":"The description of the issue.","example":"Your account is over quota."},"limit":{"minimum":0,"description":"The set quota megabyte (MB) limit for the affected subaccount.","example":1500,"type":"integer"},"used":{"minimum":0,"description":"The number of megabytes (MB) that the account currently uses.","example":2000,"type":"integer"},"area":{"example":"quota","description":"The affected section of cPanel & WHM.","type":"string"},"type":{"enum":["error","info","warning"],"example":"info","description":"The type of issue.","type":"string"}},"type":"object"}},"sub_account_exists":{"type":"integer","enum":[0,1],"example":0,"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."},"alternate_email":{"format":"email","nullable":true,"type":"string","example":"user@example.com","description":"An alternate email address for the subaccount's user."},"phone_number":{"nullable":true,"type":"string","example":"+15551234567","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."},"can_delete":{"example":0,"enum":[0,1],"description":"Whether the cPanel account user can delete the subaccount.\n* `1` - Can delete.\n* `0` - Cannot delete.","type":"integer"},"synced_password":{"enum":[0,1],"example":0,"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.","type":"integer"},"real_name":{"nullable":true,"type":"string","example":"John Doe","description":"The name of the subaccount's user.\n* A first name, a last name, or a first name and last name.\n* An empty or null string."},"username":{"type":"string","format":"username","example":"example","description":"The username for the subaccount."},"services":{"description":"Information about the subaccount's access to email, FTP, and Web Disk.","type":"object","properties":{"webdisk":{"type":"object","properties":{"private":{"example":0,"enum":[0,1],"description":"Whether to set the Web Disk directory's permissions to public or private.\n* `1` - Private (0700).\n* `0` - Public (0755).","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":{"enum":["ro","rw"],"example":"rw","description":"Whether to grant write permissions to the subaccount.\n* `ro` - Read-only permissions.\n* `rw` - Read and write permissions.","type":"string"},"enabled":{"description":"Whether the subaccount can access Web Disk.\n* `1` - Can access.\n* `0` - Cannot access.","enum":[0,1],"example":0,"type":"integer"},"enabledigest":{"example":0,"enum":[0,1],"description":"Whether the subaccount's Web Disk service has enabled Digest Authentication.\n* `1` - Digest Authentication is enabled.\n* `0` - Digest Authentication is not enabled.","type":"integer"}},"description":"This object contains information that indicates the subaccount's Web Disk status."},"ftp":{"description":"This object contains the information that indicates the subaccount's FTP status.","properties":{"enabled":{"description":"Whether the subaccount can access FTP.\n* `1` - Can access.\n* `0` - Cannot access.","example":0,"enum":[0,1],"type":"integer"},"quota":{"minimum":0,"description":"The subaccount's FTP disk space quota.\n* `1` to `999999` - The maximum disk space that the subaccount may use, in megabytes (MB).\n* `0` - Unlimited.","example":100,"type":"integer","maximum":999999},"homedir":{"example":"/subaccount","description":"The subaccount's FTP home directory, relative to the cPanel account's home directory.","format":"path","type":"string"}},"type":"object"},"special":{"type":"integer","description":"Whether the account is a system-created special account that the user cannot remove.\n* `1` - A special account.\n* `0` - Not a special account.","enum":[0,1],"example":1},"email":{"description":"Information that indicates the subaccount's email status.","properties":{"enabled":{"type":"integer","description":"Whether the subaccount can access Webmail, POP, and IMAP services.\n* `1` - Can access.\n* `0` - Cannot access.","enum":[0,1],"example":1},"quota":{"type":"integer","description":"The maximum amount of disk space allocated to subaccount's email account, in megabytes (MB).","example":100,"minimum":0}},"type":"object"}}},"has_siblings":{"enum":[0,1],"example":0,"description":"Whether the service account shares a `full_username` value with another service account.\n* `1` - Shares.\n* `0` - Does not share.","type":"integer"},"avatar_url":{"example":"https://img.example.com/avatars/example.jpg","description":"The user's subaccount profile photo.","nullable":true,"type":"string","format":"url"},"can_set_quota":{"type":"integer","enum":[0,1],"example":0,"description":"Whether the cPanel account user can change the subaccount's disk usage quota.\n* `1` - Can change.\n* `0` - Cannot change."},"parent_type":{"description":"The type of account that could own the service account.\n* `sub` - A subaccount.\n* `hypothetical` - A hypothetical subaccount that does not yet exist, but the user could create as part of a merge.\n* `null` - Not a merge candidate.","enum":["sub","hypothetical"],"example":"hypothetical","type":"string","nullable":true},"type":{"description":"The type of account.\n* `cpanel` - The cPanel account.\n* `hypothetical` - A hypothetical subaccount that does not exist, but that the user could create as part of a merge.\n* `service` - A service account.\n* `sub` - A subaccount.","example":"sub","enum":["cpanel","hypothetical","service","sub"],"type":"string"},"special":{"type":"integer","enum":[0,1],"example":0,"description":"Whether the account is a system-created special account that the user **cannot** remove.\n* `1` - A special account.\n* `0` - Not a special account."},"domain":{"example":"example.com","description":"The subaccount user's associated domain.","format":"domain","nullable":true,"type":"string"}}}},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}}},"lookup_service_account":{"paths":{"/UserManager/lookup_service_account":{"get":{"description":"This function lists a service account's information.","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  UserManager \\\n  lookup_service_account \\\n  type='email' \\\n  full_username='username@example.com'\n","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/UserManager/lookup_service_account?type=email&full_username=username%40example.com","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Return service account's information","x-cpanel-available-version":"cPanel 54","x-cpanel-api-version":"UAPI","parameters":[{"in":"query","name":"type","required":true,"description":"The type of system account.\n* `email`\n* `ftp`\n* `webdisk`","schema":{"enum":["email","ftp","webdisk"],"example":"email","type":"string"}},{"name":"full_username","in":"query","schema":{"type":"string","example":"username@example.com"},"description":"The full username for the system account.","required":true}],"tags":["UserManager","Subaccount Management"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"func":{"type":"string","description":"The name of the method called.","example":"lookup_service_account"},"module":{"description":"The name of the module called.","example":"UserManager","type":"string"},"result":{"properties":{"status":{"type":"integer","description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","example":1,"enum":[0,1]},"metadata":{"properties":{}},"warnings":{"nullable":true,"type":"array","example":null,"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"}},"data":{"type":"object","properties":{"dismissed_merge_candidates":{"items":{"$ref":"#/components/schemas/LookupServiceAccountSubaccountMergeCandidates"},"description":"An array of objects of service candidates that the system dismissed from merges.","type":"array"}},"allOf":[{"$ref":"#/components/schemas/LookupServiceAccountSubaccountBase"},{"$ref":"#/components/schemas/LookupServiceAccountSubaccountMergeCandidates"}]},"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null},"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true}},"type":"object"},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}},"type":"object"}}}}},"x-readonly":true,"operationId":"UserManager-lookup_service_account"}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"},"termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."},"security":[{"BasicAuth":[]}],"x-tagGroups":[{"name":"cPanel Account","tags":["Subaccount Management"]}],"components":{"schemas":{"LookupServiceAccountSubaccountBase":{"type":"object","properties":{"issues":{"type":"array","description":"Information about any issues or problems with the subaccount.","items":{"type":"object","properties":{"type":{"type":"string","example":"info","enum":["error","warning","info"],"description":"The type of issue.\n* `error`\n* `warning`\n* `info`"},"area":{"type":"string","example":"quota","description":"The affected section of cPanel & WHM."},"service":{"enum":["email","ftp","webdisk"],"example":"email","description":"The affected service.\n* `email`\n* `ftp`\n* `webdisk`","type":"string"},"limit":{"type":"integer","description":"The set quota megabyte (MB) limit for the affected subaccount.","example":1500},"used":{"example":2000,"description":"The number of megabytes (MB) that the account currently uses.","type":"integer"},"message":{"type":"string","example":"Your account is over quota.","description":"The description of the issue."}}}},"phone_number":{"description":"The subaccount user's phone number.\n\nThe number conforms to the [ITU-T](https://en.wikipedia.org/wiki/ITU-T)'s [E.164](https://en.wikipedia.org/wiki/E.164)-recommended standard for the representation of telephone numbers.","example":"+15551234567","type":"string"},"alternate_email":{"description":"An alternate email address for the subaccount's user.","example":"user@example.com","type":"string","format":"email"},"guid":{"description":"The subaccount unique identifier.","example":"N4641:EXAMPLE.COM:564CC8A7:A82EA007D8348AC631C0170F9418EC1DEB0D164CC5A722A87C55EF5DD2AD98D4","type":"string"},"has_invite":{"example":0,"enum":[0,1],"description":"Whether an account login invitation exists.\n\n* `1` - Account invitation exists.\n* `0` - Account invitation does **not** exist.","type":"integer"},"domain":{"type":"string","format":"domain","example":"example.com","description":"The Subaccount user's associated domain.\n\nA domain that the cPanel account owns."},"parent_type":{"type":"string","description":"The type of account that could own the service account.\n\n* `sub` - A subaccount.\n* `hypothetical` - A hypothetical subaccount that does **not** yet exist, but the user could create as part of a merge.\n* `null`- **Not** a merge candidate.","example":"hypothetical"},"type":{"description":"The type of account.\n\n* `sub` - A subaccount.\n* `hypothetical` - A hypothetical subaccount that does **not** exist, but that the user could create as part of a merge.\n* `service` - A service account.\n* `cpanel` - The cPanel account.","example":"sub","type":"string"},"special":{"description":"Whether the account is a system-created special account that the user **cannot** remove.\n\n* `1` - A special account.\n* `0` - **Not** a special account.","enum":[0,1],"example":1,"type":"integer"},"username":{"type":"string","example":"example","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."},"can_delete":{"description":"Whether the cPanel account user can delete the subaccount.\n\n* `1` - Can delete.\n* `0` - **Cannot** delete.","example":0,"enum":[0,1],"type":"integer"},"synced_password":{"example":0,"enum":[0,1],"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.","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"},"dismissed":{"example":1,"enum":[0,1],"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.","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.","example":1,"enum":[0,1],"type":"integer"},"invite_expiration":{"type":"integer","format":"unix_timestamp","description":"When the invitation expires.","example":1591718154},"full_username":{"type":"string","example":"user@example.com","description":"The subaccount's username and domain name."},"has_expired_invite":{"type":"integer","enum":[0,1],"example":0,"description":"Whether an expired account login invitation exists.\n\n* `1` - Expired account invitation exists.\n* `0` - Expired account invitation does **not** exist."},"can_set_quota":{"type":"integer","enum":[0,1],"example":0,"description":"Whether the cPanel account user can change the subaccount's disk usage quota.\n\n* `1` - Can change.\n* `0` - **Cannot** change."},"services":{"description":"This object contains information about the subaccount's access to email, FTP, and Web Disk.","type":"object","properties":{"email":{"description":"This object contains the information that indicates the subaccount's email status.","type":"object","properties":{"enabled":{"type":"integer","example":1,"enum":[0,1],"description":"Whether the subaccount can access Webmail, POP, and IMAP services.\n\n* `1` - Can access.\n* `0` - **Cannot** access."},"quota":{"type":"integer","example":100,"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."}}},"ftp":{"properties":{"enabled":{"type":"integer","description":"Whether the subaccount can access FTP.\n\n* `1` - Can access.\n* `0` - **Cannot** access.","enum":[0,1],"example":0},"homedir":{"format":"path","type":"string","example":"/subaccount","description":"The subaccount's FTP home directory."},"quota":{"type":"integer","example":100,"description":"The maximum amount disk space, in megabytes (MB), that the subaccount may use.\n\n* A positive integer between `1` and `999999`\n* `0` - Unlimited."}},"type":"object","description":"This object contains the information that indicates the subaccount's FTP status."},"webdisk":{"properties":{"perms":{"type":"string","enum":["ro","rw"],"example":"rw","description":"Whether to grant write permissions to the subaccount.\n\n* `ro` - Read-only permissions.\n* `rw` - Read and write permissions."},"enabled":{"description":"Whether the subaccount can access Web Disk.\n\n* `1` - Can access.\n* `0` - **Cannot** access.","enum":[0,1],"example":0,"type":"integer"},"private":{"type":"integer","enum":[0,1],"example":0,"description":"Whether to set the Web Disk directory's permissions to public or private.\n\n* `1` - Private (`0700`).\n* `0` - Public (`0755`)."},"homedir":{"example":"/bob","description":"The subaccount's Web Disk home directory.","format":"path","type":"string"}},"type":"object","description":"This object contains information that indicates the subaccount's Web Disk status."}}},"real_name":{"type":"string","example":"John Doe","description":"The name of the subaccount's user.\n\n* A first name, a last name, or a first name and last name.\n* An empty string."},"avatar_url":{"example":"https://img.example.com/avatars/example.jpg","description":"The user's subaccount profile photo.","type":"string","format":"url"},"has_siblings":{"example":0,"enum":[0,1],"description":"Whether the service account shares a `full_username` value with another service account.\n\n* `1` - Shares.\n* `0` - Does **not** share.","type":"integer"}}},"LookupServiceAccountSubaccountMergeCandidates":{"type":"object","properties":{"merge_candidates":{"type":"array","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"}]}}}},"LookupServiceAccountSubaccountMergeCandidatesEmpty":{"type":"object","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"}}}},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"tags":[{"description":"The UserManager module for UAPI.","name":"UserManager"},{"name":"Subaccount Management","description":"cPanel Account / Subaccount Management"}],"openapi":"3.0.2","servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"description":"A server running cPanel."}]},"check_account_conflicts":{"paths":{"/UserManager/check_account_conflicts":{"get":{"x-cpanel-api-version":"UAPI","description":"This function lists the other Subaccounts or services accounts that conflict\nwith the specified username.\n\n**Note:**\n\nIf the function returns more than one account, it will return some values\nmultiple times within the return arrays.","summary":"Return Subaccounts and service accounts conflicts","x-cpanel-available-version":"cPanel 56","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  UserManager \\\n  check_account_conflicts \\\n  full_username='username@example.com'\n","lang":"Shell","label":"CLI"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/UserManager/check_account_conflicts?full_username=username%40example.com"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-readonly":true,"operationId":"UserManager-check_account_conflicts","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"func":{"example":"check_account_conflicts","description":"The name of the method called.","type":"string"},"result":{"properties":{"status":{"type":"integer","description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","enum":[1,0],"example":1},"metadata":{"properties":{}},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"data":{"type":"object","properties":{"accounts":{"description":"An object containing the service accounts that match the queried `full_username` parameter.","properties":{"dismissed_merge_candidates":{"type":"array","items":{"type":"string"},"description":"A list of the service accounts that the user dismissed the merge\nprompt for.\n\n**Note:**\n\n* This array **always** returns empty.\n* We reserved this return for future use."},"can_set_password":{"type":"integer","example":1,"enum":[1,0],"description":"Whether the cPanel account user can change the Subaccount's\npassword.\n\n* `1` — Can change the password.\n* `0` — **Cannot** change the password.\n\n**Note:**\n\nthe function returns `0` for Subaccounts that inherit their password\nfrom the cPanel account."},"dismissed":{"type":"integer","enum":[1,0],"example":1,"description":"Whether the cPanel account user dismissed the merge prompt\nfor the service account.\n\n* `1` — Dismissed.\n* `0` — Did **not** dismiss.\n\n**Note:**\n\n**Only** service accounts return this value."},"full_username":{"format":"email","type":"string","example":"username@example.com","description":"The Subaccount's username."},"guid":{"description":"The Subaccount's system-assigned unique identifier.","example":"N4641:EXAMPLE.COM:564CC8A7:A82EA007D8348AC631C0170F9418EC1DEB0D164CC5A722A87C55EF5DD2AD98D4","type":"string"},"invite_expiration":{"description":"The time at which the new Subaccount invitation will expire.\n\n* `null` — The account does **not** own an active invitation.","example":1600162200,"format":"unix_timestamp","type":"integer","nullable":true},"merge_candidates":{"type":"array","items":{"properties":{"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":{"ftp":{"type":"object","properties":{"enabled":{"type":"integer","description":"Whether the Subaccount can access FTP.\n\n* `1` — Has FTP service access.\n* `0` — Does **not** have FTP service access.","enum":[1,0],"example":0},"quota":{"type":"integer","minimum":0,"example":100,"description":"The Subaccount's FTP maximum disk space quota, in\nmegabytes (MB).\n\n* `0` — The account has an unlimited disk space quota."},"homedir":{"type":"string","example":"/Subaccount","description":"The Subaccount's FTP directory, relative to the cPanel account's home directory."}},"description":"Information about the Subaccount's FTP status."},"email":{"properties":{"quota":{"minimum":0,"example":100,"description":"The Subaccount's email disk space quota, in megabytes (MB).\n\n* `0` — The account has an unlimited email disk space quota.","type":"integer","maximum":999999},"enabled":{"type":"integer","enum":[1,0],"example":1,"description":"Whether the Subaccount can access Webmail, POP, and\nIMAP services.\n\n* `1` — Has service access.\n* `0` — Does **not** have service access."}},"type":"object","description":"Information that indicates the Subaccount's email status."},"webdisk":{"type":"object","properties":{"perms":{"type":"string","description":"Whether the Web Disk has read or read and write\npermissions.\n\n* `ro` — Read-only permissions.\n* `rw` — Read and write permissions.","example":"rw","enum":["ro","rw"]},"enabled":{"type":"integer","description":"Whether the Subaccount can access Web Disk.\n\n* `1` — Has Web Disk service access.\n* `0` — Does **not** have Web Disk service access.","enum":[1,0],"example":0},"private":{"description":"Whether the Web Disk directory permissions are public\nor private.\n\n* `1` — Private (`0700`).\n* `0` — Public (`0755`).","enum":[1,0],"example":0,"type":"integer"},"homedir":{"type":"string","example":"/username","description":"The Subaccount's Web Disk directory, relative to the cPanel account's home directory."}},"description":"Information about the Subaccount's Web Disk status."}},"type":"object"},"username":{"description":"The username for the Subaccount.\n\n**Note:**\n\nThis value does **not** include the domain name.","example":"username","type":"string","format":"username"},"synced_password":{"description":"Whether the user has synchronized the passwords for each of\nthe Subaccount's service accounts.\n\n* `1` — Synchronized.\n* `0` — **Not** synchronized.\n* `null` — The account is **not** a Subaccount.","enum":[1,0],"example":0,"type":"integer","nullable":true},"parent_type":{"description":"The type of account that could own the service account.\n\n* `sub` — A Subaccount.\n* `hypothetical` — A hypothetical Subaccount that does **not**\nyet exist, but that the user could create as part of a merge.\n* `null` — **Not** a merge candidate.","enum":["sub","hypothetical"],"type":"string","nullable":true},"sub_account_exists":{"type":"integer","nullable":true,"description":"Whether a Subaccount exists with the same username.\n\n* `1` — Exists.\n* `0` — Does **not** exist.\n* `null` — The account is **not** a Subaccount.","enum":[1,0],"example":0},"type":{"enum":["sub","hypothetical","service","cpanel"],"example":"sub","description":"The type of account.\n\n* `sub` — A Subaccount.\n* `hypothetical` — A hypothetical Subaccount that does **not**\nyet exist, but that the user could create as part of a merge.\n* `service` — A service account.\n* `cpanel` — A cPanel account.","type":"string"},"special":{"description":"Whether the account is a system-created special account that\nthe user **cannot** remove.\n\n* `1` — The user can remove the account.\n* `0` — The user **cannot** remove the account.","example":1,"enum":[1,0],"type":"integer"},"phone_number":{"description":"The Subaccount user's phone number, in\n[ITU-T-recommended E.164](https://en.wikipedia.org/wiki/E.164)\nformat.","example":"+15551234567","type":"string"}},"type":"object"},"description":"An array of objects containing the service accounts that the system could merge for this Subaccount."},"issues":{"type":"array","items":{"type":"object","properties":{"message":{"example":"Your account is over quota.","description":"A description of the issue.","type":"string"},"area":{"description":"The affected section of cPanel & WHM.","example":"info","type":"string"},"type":{"enum":["error","warning","info"],"example":"info","description":"The type of issue.\n\n* `error`\n* `warning`\n* `info`","type":"string"},"used":{"minimum":1,"description":"The number of megabytes (MB) the account currently uses.","example":2000,"type":"integer"},"limit":{"type":"integer","minimum":1,"example":1500,"description":"The set megabyte (MB) quota limit for the affected Subaccount."},"service":{"type":"string","enum":["email","ftp","webdisk"],"example":"email","description":"The affected service.\n\n* `email`\n* `ftp`\n* `webdisk`"}}},"description":"An array of objects containing information about any issues or problems with the Subaccount."},"alternate_email":{"example":"user@example.com","description":"An alternate email address for the Subaccount's user.","format":"email","nullable":true,"type":"string"},"can_delete":{"enum":[1,0],"example":0,"description":"Whether the cPanel account user can delete the Subaccount.\n\n* `1` — Can delete.\n* `0` — **Cannot** delete.","type":"integer"},"avatar_url":{"nullable":true,"type":"string","format":"url","example":"https://img.example.com/avatars/example.jpg","description":"The URL to the user's Subaccount profile image file."},"has_siblings":{"example":0,"enum":[1,0],"description":"Whether the service account shares the queried `full_username` value\nwith another service account.\n\n* `1` — Shares the service account.\n* `0` — Does **not** share the service account.","type":"integer"},"can_set_quota":{"enum":[1,0],"example":0,"description":"Whether the cPanel account user can change the Subaccount's\ndisk usage quota.\n\n* `1` — Can change the Subaccount's disk usage quota.\n* `0` — **Cannot** change the Subaccount's disk useage quota.","type":"integer"},"has_expired_invite":{"type":"integer","example":0,"enum":[1,0],"description":"Whether the Subaccount owns an expired invitation.\n\n* `1` — Owns an expired invitation.\n* `0` — Does **not** own an expired invitation."},"has_invite":{"example":0,"enum":[1,0],"description":"Whether the Subaccount owns an active invitation.\n\n* `1` — Own an active invitation.\n* `0` — Does **not** own an active invitation.","type":"integer"},"domain":{"description":"The Subaccount user's associated domain.","example":"example.com","format":"domain","type":"string"}},"type":"object"},"conflict":{"description":"Whether the system detected an account conflict.\n\n* `1` — Conflict.\n* `0` — **No** conflict.","enum":[1,0],"example":1,"type":"integer"}}},"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"},"errors":{"nullable":true,"type":"array","example":null,"description":"List of errors if the API failed.","items":{"type":"string"}}},"type":"object"},"module":{"type":"string","description":"The name of the module called.","example":"UserManager"},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}}}}},"description":"HTTP Request was successful."}},"tags":["UserManager","Subaccount Management"],"parameters":[{"name":"full_username","in":"query","required":true,"description":"The Subaccount's username and domain name.","schema":{"example":"username@example.com","type":"string","format":"email"}}]}}},"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"x-tagGroups":[{"name":"cPanel Account","tags":["Subaccount Management"]}],"openapi":"3.0.2","tags":[{"name":"UserManager","description":"The UserManager module for UAPI."},{"description":"cPanel Account / Subaccount Management","name":"Subaccount Management"}],"servers":[{"description":"A server running cPanel.","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"url":"https://{host}:{port}/execute"}],"security":[{"BasicAuth":[]}],"info":{"termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"}},"edit_user":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"},"termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999"},"security":[{"BasicAuth":[]}],"x-tagGroups":[{"name":"cPanel Account","tags":["Subaccount Management"]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{"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"},"EditUserSubaccountBase":{"type":"object","properties":{"can_set_quota":{"type":"integer","enum":[0,1],"example":0,"description":"Whether the cPanel account user can change the subaccount's disk usage quota.\n\n* `1` - Can change.\n* `0` - **Cannot** change."},"avatar_url":{"type":"string","format":"url","example":"https://img.example.com/avatars/example.jpg","description":"The user's subaccount profile photo."},"has_siblings":{"type":"integer","example":0,"enum":[0,1],"description":"Whether the service account shares a `full_username` value with another service account.\n\n* `1` - Shares.\n* `0` - Does **not** share."},"services":{"description":"This object contains information about the subaccount's access to email, FTP, and Web Disk.","type":"object","properties":{"webdisk":{"description":"This object contains information that indicates the subaccount's Web Disk status.","properties":{"perms":{"type":"string","description":"Whether to grant write permissions to the subaccount.\n\n* `ro` - Read-only permissions.\n* `rw` - Read and write permissions.","enum":["ro","rw"],"example":"rw"},"enabled":{"description":"Whether the subaccount can access Web Disk.\n\n* `1` - Can access.\n* `0` - **Cannot** access.","example":0,"enum":[0,1],"type":"integer"},"private":{"example":0,"enum":[0,1],"description":"Whether to set the Web Disk directory's permissions to public or private.\n\n* `1` - Private (`0700`).\n* `0` - Public (`0755`).","type":"integer"},"homedir":{"description":"The subaccount's Web Disk home directory.","example":"/bob","type":"string","format":"path"}},"type":"object"},"email":{"type":"object","properties":{"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"},"enabled":{"enum":[0,1],"example":1,"description":"Whether the subaccount can access Webmail, POP, and IMAP services.\n\n* `1` - Can access.\n* `0` - **Cannot** access.","type":"integer"}},"description":"This object contains the information that indicates the subaccount's email status."},"ftp":{"type":"object","properties":{"quota":{"example":100,"description":"The maximum amount disk space, in megabytes (MB), that the subaccount may use.\n\n* A positive integer between `1` and `999999`\n* `0` - Unlimited.","type":"integer"},"homedir":{"description":"The subaccount's FTP home directory.","example":"/subaccount","format":"path","type":"string"},"enabled":{"type":"integer","description":"Whether the subaccount can access FTP.\n\n* `1` - Can access.\n* `0` - **Cannot** access.","enum":[0,1],"example":0}},"description":"This object contains the information that indicates the subaccount's FTP status."}}},"real_name":{"type":"string","description":"The name of the subaccount's user.\n\n* A first name, a last name, or a first name and last name.\n* An empty string.","example":"John Doe"},"has_expired_invite":{"example":0,"enum":[0,1],"description":"Whether an expired account login invitation exists.\n\n* `1` - Expired account invitation exists.\n* `0` - Expired account invitation does **not** exist.","type":"integer"},"invite_expiration":{"type":"integer","format":"unix_timestamp","description":"When the invitation expires.","example":1591718154},"full_username":{"type":"string","example":"user@example.com","description":"The subaccount's username and domain name."},"dismissed":{"type":"integer","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.","example":1,"enum":[0,1]},"can_set_password":{"example":1,"enum":[0,1],"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.","type":"integer"},"synced_password":{"type":"integer","example":0,"enum":[0,1],"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."},"can_delete":{"example":0,"enum":[0,1],"description":"Whether the cPanel account user can delete the subaccount.\n\n* `1` - Can delete.\n* `0` - **Cannot** delete.","type":"integer"},"sub_account_exists":{"type":"integer","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.","example":0,"enum":[0,1]},"username":{"type":"string","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"},"domain":{"description":"The Subaccount user's associated domain.\n\nA domain that the cPanel account owns.","example":"example.com","type":"string","format":"domain"},"has_invite":{"type":"integer","example":0,"enum":[0,1],"description":"Whether an account login invitation exists.\n\n* `1` - Account invitation exists.\n* `0` - Account invitation does **not** exist."},"type":{"description":"The type of account.\n\n* `sub` - A subaccount.\n* `hypothetical` - A hypothetical subaccount that does **not** exist, but that the user could create as part of a merge.\n* `service` - A service account.\n* `cpanel` - The cPanel account.","example":"sub","type":"string"},"special":{"type":"integer","description":"Whether the account is a system-created special account that the user **cannot** remove.\n\n* `1` - A special account.\n* `0` - **Not** a special account.","enum":[0,1],"example":1},"parent_type":{"type":"string","example":"hypothetical","description":"The type of account that could own the service account.\n\n* `sub` - A subaccount.\n* `hypothetical` - A hypothetical subaccount that does **not** yet exist, but the user could create as part of a merge.\n* `null`- **Not** a merge candidate."},"guid":{"type":"string","description":"The subaccount unique identifier.","example":"N4641:EXAMPLE.COM:564CC8A7:A82EA007D8348AC631C0170F9418EC1DEB0D164CC5A722A87C55EF5DD2AD98D4"},"phone_number":{"type":"string","example":"+15551234567","description":"The subaccount user's phone number.\n\nThe number conforms to the [ITU-T](https://en.wikipedia.org/wiki/ITU-T)'s [E.164](https://en.wikipedia.org/wiki/E.164)-recommended standard for the representation of telephone numbers."},"alternate_email":{"format":"email","type":"string","description":"An alternate email address for the subaccount's user.","example":"user@example.com"},"issues":{"type":"array","items":{"type":"object","properties":{"limit":{"type":"integer","description":"The set quota megabyte (MB) limit for the affected subaccount.","example":1500},"used":{"example":2000,"description":"The number of megabytes (MB) that the account currently uses.","type":"integer"},"area":{"type":"string","example":"quota","description":"The affected section of cPanel & WHM."},"type":{"enum":["error","warning","info"],"example":"info","description":"The type of issue.\n* `error`\n* `warning`\n* `info`","type":"string"},"message":{"description":"The description of the issue.","example":"Your account is over quota.","type":"string"},"service":{"example":"email","enum":["email","ftp","webdisk"],"description":"The affected service.\n* `email`\n* `ftp`\n* `webdisk`","type":"string"}}},"description":"Information about any issues or problems with the subaccount."}}},"SubaccountMergeCandidatesEmpty":{"type":"object","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"}}}}},"tags":[{"name":"UserManager","description":"The UserManager module for UAPI."},{"name":"Subaccount Management","description":"cPanel Account / Subaccount Management"}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}}}],"paths":{"/UserManager/edit_user":{"get":{"tags":["UserManager","Subaccount Management"],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"result":{"type":"object","properties":{"warnings":{"type":"array","nullable":true,"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"},"example":null},"data":{"allOf":[{"$ref":"#/components/schemas/EditUserSubaccountBase"},{"$ref":"#/components/schemas/SubaccountMergeCandidates"}],"properties":{"dismissed_merge_candidates":{"type":"array","items":{"$ref":"#/components/schemas/SubaccountMergeCandidates"},"description":"An array of objects of service candidates that the system dismissed from merges."}},"type":"object"},"metadata":{"properties":{}},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"messages":{"example":null,"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"},"status":{"type":"integer","description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","enum":[0,1],"example":1}}},"module":{"description":"The name of the module called.","example":"UserManager","type":"string"},"func":{"type":"string","example":"edit_user","description":"The name of the method called."},"apiversion":{"example":3,"description":"The version of the API.","type":"integer"}}}}},"description":"HTTP Request was successful."}},"parameters":[{"in":"query","name":"alternate_email","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.","required":false,"schema":{"example":"user@example.com","default":null,"format":"email","type":"string","nullable":true}},{"name":"avatar_url","in":"query","schema":{"example":"https://img.example.com/avatars/example.jpg","default":null,"format":"url","type":"string","nullable":true},"required":false,"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."},{"name":"domain","in":"query","schema":{"example":"example.com","type":"string","format":"domain"},"required":true,"description":"The Subaccount user's associated domain.\n\nA domain that the cPanel account owns."},{"schema":{"example":"12345luggage","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.","required":false,"in":"query","name":"password"},{"name":"phone_number","in":"query","schema":{"type":"string","nullable":true,"example":"+15551234567","default":null},"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.","required":false},{"description":"The Subaccount user's name.\n\n* A first name.\n* A last name.\n* A first name and last name.\n* An empty string.","required":false,"schema":{"example":"John Doe","default":null,"type":"string","nullable":true},"name":"real_name","in":"query"},{"name":"services.email.enabled","in":"query","schema":{"default":0,"enum":[0,1],"example":1,"type":"integer"},"required":false,"description":"Whether to grant the Subaccount email access.\n\n* `1` - Can access.\n* `0` - **Cannot** access."},{"required":false,"description":"The maximum amount of disk space, in megabytes (MB), that the subaccount's email account may use.\n\nIf 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.","schema":{"type":"integer","example":500},"in":"query","name":"services.email.quota"},{"description":"Whether to grant the Subaccount FTP access.\n\n* `1` - Can access.\n* `0` - **Cannot** access.","required":false,"schema":{"type":"integer","default":0,"enum":[0,1],"example":1},"in":"query","name":"services.ftp.enabled"},{"name":"services.ftp.homedir","in":"query","schema":{"example":"/Subaccount","format":"path","type":"string"},"required":false,"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."},{"name":"services.webdisk.enabled","in":"query","schema":{"default":0,"enum":[0,1],"example":1,"type":"integer"},"description":"Whether to grant the Subaccount Web Disk access.\n\n* `1` - Can access.\n* `0` - **Cannot** access.","required":false},{"schema":{"default":0,"enum":[0,1],"example":0,"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.","required":false,"name":"services.webdisk.enabledigest","in":"query"},{"name":"services.webdisk.private","in":"query","required":false,"description":"Whether to set the Web Disk directory's permissions to public or private.\n\n* `1` - Private (`0700`).\n* `0` - Public (`0755`).","schema":{"type":"integer","example":1,"enum":[0,1],"default":0}},{"in":"query","name":"services.webdisk.homedir","required":false,"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.","schema":{"format":"path","type":"string","example":"/Subaccount"}},{"in":"query","name":"services.webdisk.perms","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.","required":false,"schema":{"type":"string","default":"rw","example":"rw","enum":["ro","rw"]}},{"in":"query","name":"type","schema":{"type":"string","example":"sub","default":"sub","enum":["sub"]},"required":false,"description":"The type of account.\n\n* `sub` - A Subaccount."},{"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.","required":true,"schema":{"type":"string","example":"example"},"name":"username","in":"query"}],"operationId":"UserManager-edit_user","x-readonly":false,"x-cpanel-available-version":"cPanel 54","summary":"Update Subaccount settings","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  UserManager \\\n  edit_user \\\n  domain='example.com' \\\n  password='12345luggage' \\\n  username='example'\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/UserManager/edit_user?domain=example.com&password=12345luggage&username=example","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"description":"This function edits a Subaccount.","x-cpanel-api-version":"UAPI","x-rollback":"none"}}}},"merge_service_account":{"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":{"description":"The cPanel port.","default":"2083"}}}],"tags":[{"description":"The UserManager module for UAPI.","name":"UserManager"},{"description":"cPanel Account / Subaccount Management","name":"Subaccount Management"}],"openapi":"3.0.2","components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"x-tagGroups":[{"name":"cPanel Account","tags":["Subaccount Management"]}],"security":[{"BasicAuth":[]}],"info":{"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"},"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/"},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/UserManager/merge_service_account":{"get":{"parameters":[{"required":true,"description":"The username for the service account that meets the account name limitations.\n\n* Length - 64 characters\n* Characters — `a-z`, `A-Z`, `0-9`, dot (`.`), hyphen (`-`), underscore (`_`).\n\n**Note:**\n\nThis value does **not** include the domain name.","schema":{"example":"example","type":"string","format":"username"},"name":"username","in":"query"},{"name":"domain","in":"query","schema":{"example":"example.com","format":"domain","type":"string"},"required":true,"description":"The service account's associated domain."},{"in":"query","name":"services.email.merge","required":false,"description":"Whether to link the email account to the subaccount.\n\n* `1` - Merge.\n* `0` - Do **not** merge.","schema":{"type":"integer","enum":[0,1],"default":0,"example":1}},{"required":false,"description":"Whether to link the FTP account to the subaccount.\n\n* `1` - Merge.\n* `0` - Do **not** merge.","schema":{"example":1,"default":0,"enum":[0,1],"type":"integer"},"in":"query","name":"services.ftp.merge"},{"in":"query","name":"services.webdisk.merge","required":false,"description":"Whether to link the Web Disk account to the subaccount.\n\n* `1` - Merge.\n* `0` - Do **not** merge.","schema":{"type":"integer","example":1,"enum":[0,1],"default":0}}],"x-rollback":"none","description":"This function links service accounts to subaccounts and creates a subaccount if one does not exist.\n\n**Note:**\n\nYou can only link email, FTP, or Web Disk accounts.\n\n**Important**\n\nYou must use at least **one** of the following parameters:\n\n* services.email.merge\n* services.ftp.merge\n* services.webdisk.merge\n\nTo link multiple service accounts, the service accounts **must** share the same username and domain.","operationId":"UserManager-merge_service_account","x-readonly":false,"tags":["UserManager","Subaccount Management"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"func":{"description":"The name of the method called.","example":"merge_service_account","type":"string"},"module":{"example":"UserManager","description":"The name of the module called.","type":"string"},"result":{"type":"object","properties":{"status":{"description":"* `1` - Success\n* `0` - Failed: Check the errors field for more details.","example":1,"enum":[0,1],"type":"integer"},"metadata":{"properties":{}},"warnings":{"example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","nullable":true,"type":"array"},"data":{"type":"object","properties":{"guid":{"description":"The subaccount unique identifier. The system assigned unique value.","example":"N4641:EXAMPLE.COM:564CC8A7:A82EA007D8348AC631C0170F9418EC1DEB0D164CC5A722A87C55EF5DD2AD98D4","type":"string"},"issues":{"description":"Information about any issues or problems with the subaccount.","items":{"properties":{"type":{"type":"string","example":"info","enum":["error","warning","info"],"description":"The type of issue.\n\n* `error`\n* `warning`\n* `info`"},"area":{"type":"string","example":"quota","description":"The affected section of cPanel & WHM."},"service":{"type":"string","example":"email","enum":["email","ftp","webdisk"],"description":"The affected service.\n* `email`\n* `ftp`\n* `webdisk`"},"limit":{"type":"integer","description":"The set quota megabyte (MB) limit for the affected subaccount.","example":1500,"minimum":1},"used":{"minimum":1,"description":"The number of megabytes (MB) that the account currently uses.","example":2000,"type":"integer"},"message":{"type":"string","description":"The description of the issue.","example":"Your account is over quota."}},"type":"object"},"type":"array"},"alternate_email":{"example":"user@example.com","description":"An alternate email address for the subaccount's user.","type":"string","format":"email"},"phone_number":{"type":"string","example":"+15551234567","description":"The subaccount user's phone number."},"username":{"type":"string","format":"username","example":"example","description":"The username for the subaccount.\n\nThe username for the service account that meets the account name limitations.\n\n* Length - 64 characters\n* Characters — `a-z`, `A-Z`, `0-9`, dot (`.`), hyphen (`-`), underscore (`_`).\n\n**Note:**\n\nThis value does **not** include the domain name."},"has_invite":{"type":"integer","description":"Whether an account login invitation exists.\n* `1` - Account invitation exists.\n* `0` - Account invitation does **not** exist.","enum":[0,1],"example":0},"domain":{"description":"The subaccount user's associated domain. A domain that the cPanel account owns.","example":"example.com","type":"string","format":"domain"},"parent_type":{"example":"hypothetical","enum":["sub","hypothetical"],"description":"The type of account that could own the service account.\n* `sub` - A subaccount.\n* `hypothetical` - A hypothetical subaccount that does **not** yet exist, but the user could create as part of a merge.\n* `null` - Not a merge candidate.","nullable":true,"type":"string"},"type":{"example":"sub","description":"The type of account.\n\n* `sub` - A subaccount.\n* `hypothetical` - A hypothetical subaccount that does **not** exist, but that the user could create as part of a merge.\n* `service` - A service account.\n* `cpanel` - The cPanel account.","type":"string"},"special":{"description":"Whether the account is a system-created special account that the user **cannot** remove.\n* `1` - A special account.\n* `0` - **Not** a special account.","enum":[0,1],"example":1,"type":"integer"},"can_set_password":{"example":1,"enum":[0,1],"description":"Whether the cPanel account user can change the subaccount's password.\n* `1` - Can change.\n* `0` - **Cannot** change.\n\n**Note:**\n\nThe function returns a `0` value for subaccounts that inherit their password from the cPanel account.","type":"integer"},"dismissed":{"enum":[0,1],"example":1,"description":"Whether the cPanel account user dismissed the merge prompt for the service account.\n\n**Note:**\n\nOnly service accounts return this value.\n* `1` - Dismissed.\n* `0` - Did **not** dismiss.","type":"integer"},"full_username":{"example":"user@example.com","description":"The subaccount's username and domain name.","type":"string","format":"email"},"invite_expiration":{"format":"unix_timestamp","type":"integer","description":"When the invitation expires.","example":1591718154},"merge_candidates":{"type":"array","items":{"properties":{"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\nThe function returns a `null` value if the account is **not** a service account.","enum":[0,1],"example":0,"type":"integer","nullable":true},"issues":{"type":"array","description":"Information about any issues or problems with the subaccount.","items":{"properties":{"area":{"type":"string","example":"quota","description":"The affected section of cPanel & WHM."},"type":{"enum":["error","warning","info"],"example":"info","description":"The type of issue.\n\n* `error`\n* `warning`\n* `info`","type":"string"},"limit":{"minimum":1,"example":1500,"description":"The set quota megabyte (MB) limit for the affected subaccount.","type":"integer"},"used":{"minimum":1,"description":"The number of megabytes (MB) that the account currently uses.","example":2000,"type":"integer"},"message":{"type":"string","example":"Your account is over quota.","description":"The description of the issue."},"service":{"description":"The affected service.\n* `email`\n* `ftp`\n* `webdisk`","example":"email","enum":["email","ftp","webdisk"],"type":"string"}},"type":"object"}},"phone_number":{"type":"string","description":"The subaccount user's phone number.","example":"+15551234567"},"alternate_email":{"description":"An alternate email address for the subaccount's user.","example":"user@example.com","type":"string","format":"email"},"can_delete":{"type":"integer","enum":[0,1],"example":0,"description":"Whether the cPanel account user can delete the subaccount.\n* `1` - Can delete.\n* `0` - **Cannot** delete."},"synced_password":{"nullable":true,"type":"integer","example":0,"enum":[0,1],"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\nThe function returns a `null` value if the account is **not** a subaccount."},"can_set_password":{"type":"integer","description":"Whether the cPanel account user can change the subaccount's password.\n* `1` - Can change.\n* `0` - **Cannot** change.\n\n**Note:**\n\nThe function returns a `0` value for subaccounts that inherit their password from the cPanel account.","example":1,"enum":[0,1]},"guid":{"type":"string","description":"The subaccount unique identifier. The system assigned unique value.","example":"N4641:EXAMPLE.COM:564CC8A7:A82EA007D8348AC631C0170F9418EC1DEB0D164CC5A722A87C55EF5DD2AD98D4"},"full_username":{"format":"email","type":"string","description":"The subaccount's username and domain name.","example":"user@example.com"},"parent_type":{"example":"hypothetical","enum":["sub","hypothetical"],"description":"The type of account that could own the service account.\n* `sub` - A subaccount.\n* `hypothetical` - A hypothetical subaccount that does **not** yet exist, but the user could create as part of a merge.\n* `null` - Not a merge candidate.","nullable":true,"type":"string"},"special":{"type":"integer","description":"Whether the account is a system-created special account that the user **cannot** remove.\n* `1` - A special account.\n* `0` - **Not** a special account.","example":1,"enum":[0,1]},"type":{"type":"string","example":"sub","enum":["sub","hypothetical","service","cpanel"],"description":"The type of account.\n\n* `sub` - A subaccount.\n* `hypothetical` - A hypothetical subaccount that does **not** exist, but that the user could create as part of a merge.\n* `service` - A service account.\n* `cpanel` - The cPanel account."},"domain":{"example":"example.com","description":"The subaccount user's associated domain. A domain that the cPanel account owns.","format":"domain","type":"string"},"services":{"description":"This object contains information about the subaccount's access to email, FTP, and Web Disk.","properties":{"webdisk":{"description":"This object contains information that indicates the subaccount's Web Disk status.","properties":{"private":{"enum":[0,1],"example":0,"description":"Whether to set the Web Disk directory's permissions to public or private.\n* `1` - Private (0700).\n* `0` - Public (0755).","type":"integer"},"homedir":{"description":"The subaccount's Web Disk home directory.","example":"/bob","type":"string","format":"path"},"enabled":{"type":"integer","description":"Whether the subaccount can access Web Disk.\n* `1` - Can access.\n* `0` - **Cannot** access.","enum":[0,1],"example":0},"perms":{"description":"Whether to grant write permissions to the subaccount.\n* `ro` - Read-only permissions.\n* `rw` - Read and write permissions.","example":"rw","type":"string"}},"type":"object"},"ftp":{"description":"This object contains the information that indicates the subaccount's FTP status.","type":"object","properties":{"homedir":{"example":"/subaccount","description":"The subaccount's FTP home directory.","format":"path","type":"string"},"quota":{"type":"integer","maximum":999999,"minimum":0,"example":100,"description":"The subaccount's FTP disk space quota.\n* >= `1` - Represents the maximum disk space that the subaccount may use, in megabytes (MB).\n* `0`   - Unlimited."},"enabled":{"type":"integer","example":0,"enum":[0,1],"description":"Whether the subaccount can access FTP.\n* `1` - Can access.\n* `0` - **Cannot** access."}}},"email":{"type":"object","properties":{"quota":{"type":"integer","example":100,"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).\n\n**Note:**\n\nThis function will **not** return `0` as a value."},"enabled":{"description":"Whether the subaccount can access Webmail, POP, and IMAP services.\n\n* `1` - Can access.\n* `0` - **Cannot** access.","enum":[0,1],"example":1,"type":"integer"}},"description":"This object contains the information that indicates the subaccount's email status."}},"type":"object"},"username":{"description":"The username for the service account that meets the account name limitations.\n\n* Length - 64 characters\n* Characters — `a-z`, `A-Z`, `0-9`, dot (`.`), hyphen (`-`), underscore (`_`).\n\n**Note:**\n\nThis value does **not** include the domain name.","example":"example","format":"username","type":"string"},"real_name":{"type":"string","example":"John Doe","description":"The name of the subaccount's user.\n\n* A first name.\n* Last name.\n* First name and last name.\n* An empty string."},"has_siblings":{"type":"integer","example":0,"enum":[0,1],"description":"Whether the service account shares a `full_username` value with another service account.\n* `1` - Shares.\n* `0` - Does **not** share."},"avatar_url":{"format":"url","type":"string","description":"The user's subaccount profile photo.","example":"https://img.example.com/avatars/example.jpg"},"can_set_quota":{"type":"integer","example":0,"enum":[0,1],"description":"Whether the cPanel account user can change the subaccount's disk usage quota.\n* `1` - Can change.\n* `0` - **Cannot** change."}},"type":"object"},"description":"An array of objects that represents the service accounts that the system could merge for this subaccount."},"dismissed_merge_candidates":{"description":"An array of objects of service candidates that the system dismissed from merges.","items":{"properties":{"guid":{"type":"string","description":"The subaccount unique identifier. The system assigned unique value.","example":"N4641:EXAMPLE.COM:564CC8A7:A82EA007D8348AC631C0170F9418EC1DEB0D164CC5A722A87C55EF5DD2AD98D4"},"full_username":{"format":"email","type":"string","example":"user@example.com","description":"The subaccount's username and domain name."},"can_set_password":{"type":"integer","enum":[0,1],"example":1,"description":"Whether the cPanel account user can change the subaccount's password.\n* `1` - Can change.\n* `0` - **Cannot** change.\n\n**Note:**\n\nThe function returns a `0` value for subaccounts that inherit their password from the cPanel account."},"synced_password":{"type":"integer","nullable":true,"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\nThe function returns a `null` value if the account is **not** a subaccount.","example":0,"enum":[0,1]},"can_delete":{"description":"Whether the cPanel account user can delete the subaccount.\n* `1` - Can delete.\n* `0` - **Cannot** delete.","enum":[0,1],"example":0,"type":"integer"},"phone_number":{"type":"string","description":"The subaccount user's phone number.","example":"+15551234567"},"alternate_email":{"example":"user@example.com","description":"An alternate email address for the subaccount's user.","format":"email","type":"string"},"issues":{"description":"Information about any issues or problems with the subaccount.","items":{"type":"object","properties":{"service":{"description":"The affected service.\n* `email`\n* `ftp`\n* `webdisk`","enum":["email","ftp","webdisk"],"example":"email","type":"string"},"message":{"type":"string","description":"The description of the issue.","example":"Your account is over quota."},"used":{"minimum":1,"example":2000,"description":"The number of megabytes (MB) that the account currently uses.","type":"integer"},"limit":{"minimum":1,"description":"The set quota megabyte (MB) limit for the affected subaccount.","example":1500,"type":"integer"},"type":{"example":"info","enum":["error","warning","info"],"description":"The type of issue.\n\n* `error`\n* `warning`\n* `info`","type":"string"},"area":{"description":"The affected section of cPanel & WHM.","example":"quota","type":"string"}}},"type":"array"},"sub_account_exists":{"nullable":true,"type":"integer","enum":[0,1],"example":0,"description":"Whether a subaccount exists with the same username.\n\n* `1` - Exists.\n* `0` - Does **not** exist.\n\n**Note:**\n\nThe function returns a `null` value if the account is not a service account."},"can_set_quota":{"type":"integer","description":"Whether the cPanel account user can change the subaccount's disk usage quota.\n* `1` - Can change.\n* `0` - **Cannot** change.","enum":[0,1],"example":0},"has_siblings":{"enum":[0,1],"example":0,"description":"Whether the service account shares a `full_username` value with another service account.\n* `1` - Shares.\n* `0` - Does **not** share.","type":"integer"},"avatar_url":{"description":"The user's subaccount profile photo.","example":"https://img.example.com/avatars/example.jpg","format":"url","type":"string"},"services":{"type":"object","properties":{"webdisk":{"properties":{"homedir":{"description":"The subaccount's Web Disk home directory.","example":"/bob","format":"path","type":"string"},"private":{"description":"Whether to set the Web Disk directory's permissions to public or private.\n* `1` - Private (0700).\n* `0` - Public (0755).","example":0,"enum":[0,1],"type":"integer"},"perms":{"type":"string","enum":["ro","rw"],"example":"rw","description":"Whether to grant write permissions to the subaccount.\n* `ro` - Read-only permissions.\n* `rw` - Read and write permissions."},"enabled":{"description":"Whether the subaccount can access Web Disk.\n* `1` - Can access.\n* `0` - **Cannot** access.","example":0,"enum":[0,1],"type":"integer"}},"type":"object","description":"This object contains information that indicates the subaccount's Web Disk status."},"email":{"description":"This object contains the information that indicates the subaccount's email status.","properties":{"quota":{"type":"integer","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).\n\n**Note:**\n\nThis function will **not** return `0` as a value.","example":100},"enabled":{"description":"Whether the subaccount can access Webmail, POP, and IMAP services.\n\n* `1` - Can access.\n* `0` - **Cannot** access.","enum":[0,1],"example":1,"type":"integer"}},"type":"object"},"ftp":{"description":"This object contains the information that indicates the subaccount's FTP status.","properties":{"quota":{"minimum":0,"example":100,"description":"The subaccount's FTP disk space quota.\n* >= `1` - Represents the maximum disk space that the subaccount may use, in megabytes (MB).\n* `0`   - Unlimited.","type":"integer","maximum":999999},"homedir":{"description":"The subaccount's FTP home directory.","example":"/subaccount","format":"path","type":"string"},"enabled":{"description":"Whether the subaccount can access FTP.\n* `1` - Can access.\n* `0` - **Cannot** access.","example":0,"enum":[0,1],"type":"integer"}},"type":"object"}},"description":"This object contains information about the subaccount's access to email, FTP, and Web Disk."},"username":{"example":"example","description":"The username for the subaccount.","type":"string","format":"username"},"real_name":{"type":"string","description":"The name of the subaccount's user.\n\n* A first name.\n* Last name.\n* First name and last name.\n* An empty string.","example":"John Doe"},"domain":{"example":"example.com","description":"The subaccount user's associated domain that the cPanel account owns.","format":"domain","type":"string"},"special":{"type":"integer","description":"Whether the account is a system-created special account that the user **cannot** remove.\n* `1` - A special account.\n* `0` - **Not** a special account.","enum":[0,1],"example":1},"type":{"description":"The type of account.\n\n* `sub` - A subaccount.\n* `hypothetical` - A hypothetical subaccount that does **not** exist, but that the user could create as part of a merge.\n* `service` - A service account.\n* `cpanel` - The cPanel account.","example":"sub","enum":["sub","hypothetical","service","cpanel"],"type":"string"},"parent_type":{"type":"string","nullable":true,"description":"The type of account that could own the service account.\n* `sub`          - A subaccount.\n* `hypothetical` - A hypothetical subaccount that does not yet exist, but the user could create as part of a merge.\n* `null`         - **Not** a merge candidate.","enum":["sub","hypothetical"],"example":"hypothetical"}},"type":"object"},"type":"array"},"can_delete":{"type":"integer","description":"Whether the cPanel account user can delete the subaccount.\n* `1` - Can delete.\n* `0` - **Cannot** delete.","enum":[0,1],"example":0},"synced_password":{"type":"integer","nullable":true,"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\nThe function returns a `null` value if the account is **not** a subaccount.","example":0,"enum":[0,1]},"sub_account_exists":{"type":"integer","nullable":true,"description":"Whether a subaccount exists with the same username.\n\n* `1` - Exists.\n* `0` - Does **not** exist.\n\n**Note:**\n\nThe function returns a `null` value if the account is **not** a service account.","enum":[0,1],"example":0},"can_set_quota":{"example":0,"enum":[0,1],"description":"Whether the cPanel account user can change the subaccount's disk usage quota.\n* `1` - Can change.\n* `0` - **Cannot** change.","type":"integer"},"real_name":{"description":"The name of the subaccount's user.\n\n* A first name.\n* Last name.\n* First name and last name.\n* An empty string.","example":"John Doe","type":"string"},"services":{"type":"object","properties":{"email":{"type":"object","properties":{"quota":{"type":"integer","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).\n\n**Note:**\n\nThis function will **not** return `0` as a value.","example":100},"enabled":{"type":"integer","enum":[0,1],"example":1,"description":"Whether the subaccount can access Webmail, POP, and IMAP services.\n\n* `1` - Can access.\n* `0` - **Cannot** access."}},"description":"This object contains the information that indicates the subaccount's email status."},"ftp":{"type":"object","properties":{"enabled":{"type":"integer","description":"Whether the subaccount can access FTP.\n* `1` - Can access.\n* `0` - **Cannot** access.","enum":[0,1],"example":0},"quota":{"type":"integer","maximum":999999,"minimum":0,"description":"The subaccount's FTP disk space quota.\n* >= `1` - Represents the maximum disk space that the subaccount may use, in megabytes (MB).\n* `0`   - Unlimited.","example":100},"homedir":{"format":"path","type":"string","description":"The subaccount's FTP home directory.","example":"/subaccount"}},"description":"This object contains the information that indicates the subaccount's FTP status."},"webdisk":{"description":"This object contains information that indicates the subaccount's Web Disk status.","properties":{"enabled":{"type":"integer","description":"Whether the subaccount can access Web Disk.\n* `1` - Can access.\n* `0` - **Cannot** access.","example":0,"enum":[0,1]},"perms":{"type":"string","example":"rw","description":"Whether to grant write permissions to the subaccount.\n* `ro` - Read-only permissions.\n* `rw` - Read and write permissions."},"private":{"example":0,"enum":[0,1],"description":"Whether to set the Web Disk directory's permissions to public or private.\n* `1` - Private (0700).\n* `0` - Public (0755).","type":"integer"},"homedir":{"type":"string","format":"path","description":"The subaccount's Web Disk home directory.","example":"/bob"}},"type":"object"}},"description":"This object contains information about the subaccount's access to email, FTP, and Web Disk."},"has_siblings":{"description":"Whether the service account shares a `full_username` value with another service account.\n* `1` - Shares.\n* `0` - Does **not** share.","example":0,"enum":[0,1],"type":"integer"},"avatar_url":{"example":"https://img.example.com/avatars/example.jpg","description":"The user's subaccount profile photo.","type":"string","format":"url"},"has_expired_invite":{"description":"Whether an expired account login invitation exists.\n* `1` - Expired account invitation exists.\n* `0` - Expired account invitation does **not** exist.","example":0,"enum":[0,1],"type":"integer"}}},"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"},"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true}}},"apiversion":{"type":"integer","description":"The version of the API.","example":3}},"type":"object"}}}}},"x-cpanel-api-version":"UAPI","summary":"Register service account to Subaccount","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  UserManager \\\n  merge_service_account \\\n  username='example' \\\n  domain='example.com'\n","label":"CLI","lang":"Shell"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/UserManager/merge_service_account?username=example&domain=example.com"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 54"}}}},"delete_user":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."},"security":[{"BasicAuth":[]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"x-tagGroups":[{"name":"cPanel Account","tags":["Subaccount Management"]}],"openapi":"3.0.2","tags":[{"name":"UserManager","description":"The UserManager module for UAPI."},{"name":"Subaccount Management","description":"cPanel Account / Subaccount Management"}],"servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"description":"A server running cPanel."}],"paths":{"/UserManager/delete_user":{"get":{"x-readonly":false,"operationId":"UserManager-delete_user","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"module":{"example":"UserManager","description":"The name of the module called.","type":"string"},"result":{"properties":{"messages":{"description":"List of messages generated by the API.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null,"type":"array","nullable":true},"data":{"properties":{"guid":{"description":"The account unique identifier.","example":"N4641:EXAMPLE.COM:564CC8A7:A82EA007D8348AC631C0170F9418EC1DEB0D164CC5A722A87C55EF5DD2AD98D4","type":"string"},"phone_number":{"description":"The account user's phone number.\n* 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"},"alternate_email":{"type":"string","format":"email","example":"user@example.com","description":"An alternate email address for the account's user."},"issues":{"type":"array","description":"Information about any issues or problems with the account.","items":{"properties":{"limit":{"type":"integer","example":1500,"description":"The set quota megabyte (MB) limit for the affected account.","minimum":0},"used":{"type":"integer","minimum":0,"example":2000,"description":"The number of megabytes (MB) that the account currently uses."},"service":{"type":"string","example":"email","enum":["email","ftp","webdisk"],"description":"The affected service.\n* `email`\n* `ftp`\n* `webdisk`"},"type":{"example":"info","enum":["error","warning","info"],"description":"The type of issue.\n* `error`\n* `warning`\n* `info`","type":"string"},"area":{"example":"quota","description":"The affected section of cPanel & WHM.","type":"string"},"message":{"type":"string","description":"The description of the issue.","example":"Your account is over quota."}}}},"username":{"type":"string","format":"username","maxLength":64,"description":"The account username.\n\nThe username must meet the account name limitations.\n* Characters - `a-z`, `A-Z`, `0-9`, dot (`.`), hyphen (`-`), underscore (`_`)\n\n**Note::**\n\nThis value does **not** include the domain name."},"type":{"type":"string","example":"service","enum":["hypothetical","service"],"description":"The type of account.\n* `hypothetical` - A hypothetical account that does not exist, but that the user could create as part of a merge.\n* `service` - A service account."},"special":{"description":"Whether the account is a system-created special account that the user **cannot** remove.\n* `1` - A special account.\n* `0` - **Not** a special account.","enum":[1,0],"example":1,"type":"integer"},"parent_type":{"type":"string","nullable":true,"description":"The type of account that could own the service account.\n* `sub` - An account.\n* `hypothetical` - A hypothetical account does **not** yet exist, but that the user could create as part of a merge.\n* `null` - **Not** a merge candidate.","enum":["sub","hypothetical"],"example":"hypothetical"},"domain":{"description":"The account user's associated domain.","example":"example.com","type":"string","format":"domain"},"has_invite":{"example":0,"enum":[0,1],"description":"Whether the Subaccount owns an active invitation.\n* `1` - Owns an invitation.\n* `0` - Does **not** own an invitation.","type":"integer"},"dismissed_merge_candidates":{"type":"array","items":{"type":"object"},"description":"An array of objects that represent the service accounts that the user dismissed the merge prompt for.\nThis array will always return empty.\n\n**Note:**\n\nWe reserved this return for future use."},"merge_candidates":{"description":"The service accounts that the system could merge for this account.\n\n**Note:**\n\nYou can find descriptions for this array's returns within this table.","items":{"type":"object","properties":{"dismissed":{"type":"integer"},"can_set_password":{"type":"integer"},"merge_candidates":{"type":"array","items":{"type":"string"}},"full_username":{"type":"string"},"invite_expiration":{"type":"integer"},"dismissed_merge_candidates":{"type":"array","items":{"type":"string"}},"can_delete":{"type":"integer"},"synced_password":{"type":"integer"},"sub_account_exists":{"type":"integer"},"can_set_quota":{"type":"integer"},"services":{"type":"object"},"real_name":{"type":"string"},"avatar_url":{"type":"string"},"has_siblings":{"type":"integer"},"has_expired_invite":{"type":"integer"},"guid":{"type":"string"},"issues":{"items":{"type":"string"},"type":"array"},"phone_number":{"type":"string"},"alternate_email":{"type":"string"},"username":{"format":"username","type":"string"},"has_invite":{"type":"integer"},"domain":{"format":"domain","type":"string"},"parent_type":{"type":"string"},"type":{"type":"string"},"special":{"type":"integer"}}},"type":"array"},"invite_expiration":{"format":"unix_timestamp","type":"integer","nullable":true,"description":"The time at which the new Subaccount invitation will expire, given as a valid Unix epoch time or null.\n\nIf the account does not own an active invitation, this value returns `null`.","example":1466258282},"full_username":{"type":"string","description":"The account's username and domain name, separated by the `@` character.","example":"user@example.com"},"dismissed":{"description":"Whether the cPanel account user dismissed the merge prompt for the service account.\n* `1` - Dismissed prompt.\n* `0` - Did **not** dismiss prompt.\n\n**Note:**\n\n**Only** service accounts return this value.","enum":[0,1],"example":1,"type":"integer"},"can_set_password":{"type":"integer","example":1,"enum":[0,1],"description":"Whether the cPanel account user can change the account's password.\n* `1` - Can change password.\n* `0` - **Cannot** change password.\n\n**Note:**\n\nThe function returns `0` for accounts that inherit their password from the cPanel account."},"sub_account_exists":{"description":"Whether an account exists with the same username.\n* `1` - Exists.\n* `0` - Does not exist.\n* `null` - The account is **not** a service account.","example":0,"enum":[1,0],"type":"integer","nullable":true},"synced_password":{"type":"integer","nullable":true,"description":"Whether the user has synchronized the passwords for each of the account's service accounts.\n* `1` - Synchronized.\n* `0` - **Not** synchronized.\n* `null` - The account is **not** a Subaccount","example":0,"enum":[1,0]},"can_delete":{"enum":[0,1],"example":0,"description":"Whether the cPanel account user can delete the account.\n* `1` - Can delete.\n* `0` - **Cannot** delete.","type":"integer"},"has_siblings":{"type":"integer","description":"Whether the service account shares a `full_username` value with another service account.\n* `1` - Shares.\n* `0` - Does not share.","enum":[0,1],"example":0},"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"},"services":{"description":"Information about the account's access to email, FTP, and Web Disk.","properties":{"webdisk":{"properties":{"homedir":{"example":"/bob","description":"The account's Web Disk directory.\n* A valid path, relative to the cPanel account's home directory.","format":"path","type":"string"},"private":{"description":"Whether to set the Web Disk directory's permissions to public or private.\n* `1` - Private (0700).\n* `0` - Public (0755).","example":0,"enum":[1,0],"type":"integer"},"perms":{"description":"Whether to grant write permissions to the account.\n* `ro` - Read-only permissions.\n* `rw` - Read and write permissions.","example":"rw","type":"string"},"enabled":{"type":"integer","description":"Whether the account can access Web Disk.\n* `1` - Can access.\n* `0` - **Cannot** access.","example":0,"enum":[1,0]}},"type":"object","description":"Information about the account's Web Disk status."},"email":{"description":"Information that indicates the account's email status.","properties":{"quota":{"maximum":999999,"type":"integer","description":"The account's email disk space quota.\n* The set quota megabyte (MB) limit for the account's email disk space.\n* `0` - Unlimited.","example":100,"minimum":0},"enabled":{"description":"Whether the account can access Webmail, POP, and IMAP services.\n* `1` - Can access.\n* `0` - **Cannot** access.","enum":[1,0],"example":1,"type":"integer"}},"type":"object"},"ftp":{"description":"Information about the account's FTP status.","type":"object","properties":{"quota":{"description":"The account's FTP disk space quota.\n* An integer that represents the account's maximum FTP disk usage, in megabytes (MB).\n* `0` - Unlimited.","example":100,"minimum":0,"type":"integer"},"homedir":{"format":"path","type":"string","example":"/account","description":"The account's FTP home directory.\n* A valid path, relative to the cPanel account's home directory."},"enabled":{"type":"integer","enum":[1,0],"example":0,"description":"Whether the account can access FTP.\n* `1` - Can access.\n* `0` - **Cannot** access."}}}},"type":"object"},"real_name":{"type":"string","example":"John Doe","description":"The name of the account's user.\n* A first name, a last name, or a first name and last name.\n* An empty string."},"can_set_quota":{"type":"integer","enum":[0,1],"example":0,"description":"Whether the cPanel account user can change the account's disk usage quota.\n* `1` - Can change quota.\n* `0` - **Cannot** change quota."},"has_expired_invite":{"description":"Whether the Subaccount owns an expired invitation.\n* `1` - Owns an expired invitation.\n* `0` - Does **not** own an expired invitation.","example":0,"enum":[0,1],"type":"integer"}},"type":"object"},"status":{"type":"integer","description":"* `1` - Success\n* `0` - Failed: Check the errors field for more details.","example":1,"enum":[0,1]},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"metadata":{"properties":{}}},"type":"object"},"func":{"description":"The name of the method called.","example":"delete_user","type":"string"},"apiversion":{"type":"integer","example":3,"description":"The version of the API."}},"type":"object"}}}}},"tags":["UserManager","Subaccount Management"],"x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  UserManager \\\n  delete_user \\\n  username='example' \\\n  domain='example.com'\n","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/UserManager/delete_user?username=example&domain=example.com","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-available-version":"cPanel 54","summary":"Delete Subaccount","x-cpanel-api-version":"UAPI","parameters":[{"name":"username","in":"query","schema":{"type":"string","maxLength":64,"example":"example"},"required":true,"description":"The Subaccount's username.\n* Characters — `a-z`, `A-Z`, `0-9`, dot (`.`), hyphen (`-`), underscore (`_`)\n\n**Note:**\n\nThis value does **not** include the domain name."},{"schema":{"example":"example.com","type":"string","format":"domain"},"description":"The Subaccount's associated domain.  The domain **must** be one that the cPanel account owns.","required":true,"name":"domain","in":"query"}],"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.\n* If one service account uses the same username and domain, the function returns the service account's information.\n* If two or more service accounts use the same username and domain, the function returns a hypothetical Subaccount.\n\n**Note:**\n\n* A hypothetical Subaccount consists of two or more service accounts that use the same username and domain.\n* This function returns only metadata if the specified username and domain do **not** match any service accounts or hypothetical Subaccounts."}}}}},"BlockIP":{"add_ip":{"paths":{"/BlockIP/add_ip":{"get":{"operationId":"BlockIP-add_ip","x-readonly":false,"parameters":[{"examples":{"ipv4-range":{"summary":"IPv4 Range","value":"192.168.0.1-192.168.0.58"},"cidr-ipv4":{"summary":"CIDR Format IPv4","value":"192.168.0.1/16"},"single-ipv6":{"value":"2001:db8::1","summary":"Single IPv6 Address"},"implied-range":{"value":"192.168.0.1-58","summary":"Implied Range"},"single-ipv4":{"value":"192.0.2.0","summary":"Single IPv4 Address"},"hostname":{"value":"example.com","summary":"Add by resolving hostname"},"subnet-octet":{"value":"10.","summary":"Subnet Range - Matches 10.*.*.*"},"ipv6-range":{"value":"2001:db8::1-2001:db8::3","summary":"IPv6 Range"},"cidr-ipv6":{"value":"2001:db8::/32","summary":"CIDR Format IPv6"}},"description":"The IP address or IP address range that you wish to block.","required":true,"schema":{"type":"string"},"in":"query","name":"ip"}],"tags":["BlockIP","Block IP"],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"result":{"type":"object","properties":{"status":{"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","enum":[0,1],"example":1,"type":"integer"},"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null},"messages":{"example":null,"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"},"data":{"type":"array","nullable":true,"description":"IP addresses that were added, as translated by the system.","items":{"type":"string","example":"1.1.1.1"}},"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API."},"metadata":{"properties":{"transformed":{"example":1,"enum":[1],"description":"Post-processing may have transformed the data.","type":"integer"}}}}},"module":{"example":"BlockIP","description":"The name of the module called.","type":"string"},"func":{"type":"string","description":"The name of the method called.","example":"add_ip"},"apiversion":{"example":3,"description":"The version of the API.","type":"integer"}}}}},"description":"HTTP Request was successful."}},"x-rollback":"none","x-cpanel-api-version":"UAPI","description":"This function blocks IP addresses from accessing the domains on a cPanel account.\n\n**Important**\n\nWhen you disable the Web Server role, the system disables this function.","summary":"Add IP address to cPanel account's block list","x-cpanel-available-version":82,"x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  BlockIP \\\n  add_ip \\\n  ip='192.168.0.1/16'\n","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/BlockIP/add_ip?ip=192.168.0.1%2f16","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file BlockIP_add_ip.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/BlockIP_add_ip.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/BlockIP/,\n    q/add_ip/,\n    {\n        'ip' => '192.168.0.1/16',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file BlockIP_add_ip.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/BlockIP_add_ip.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'BlockIP',\n    'add_ip',\n    array (\n        'ip' => '192.168.0.1/16',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}]}}},"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute"}],"tags":[{"description":"The BlockIP module for UAPI.","name":"BlockIP"},{"description":"Block Ip Addresses / Block IP","name":"Block IP"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"x-tagGroups":[{"name":"Block Ip Addresses","tags":["Block IP"]}],"security":[{"BasicAuth":[]}]},"remove_ip":{"info":{"title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"openapi":"3.0.2","tags":[{"name":"BlockIP","description":"The BlockIP module for UAPI."},{"description":"Block Ip Addresses / Block IP","name":"Block IP"}],"servers":[{"variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"x-tagGroups":[{"name":"Block Ip Addresses","tags":["Block IP"]}],"security":[{"BasicAuth":[]}],"paths":{"/BlockIP/remove_ip":{"get":{"x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  BlockIP \\\n  remove_ip \\\n  ip='192.168.0.1/16'\n"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/BlockIP/remove_ip?ip=192.168.0.1%2f16"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file BlockIP_remove_ip.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/BlockIP_remove_ip.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/BlockIP/,\n    q/remove_ip/,\n    {\n        'ip' => '192.168.0.1/16',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file BlockIP_remove_ip.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/BlockIP_remove_ip.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'BlockIP',\n    'remove_ip',\n    array (\n        'ip' => '192.168.0.1/16',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"summary":"Remove IP address from cPanel account's block list","x-cpanel-available-version":82,"description":"This function unblocks IP addresses from accessing domains on a cPanel account.\n\n**Important**\n\nWhen you disable the Web Server role, the system disables this function.","x-cpanel-api-version":"UAPI","x-rollback":"none","tags":["BlockIP","Block IP"],"parameters":[{"examples":{"cidr-ipv6":{"value":"2001:db8::/32","summary":"CIDR Format IPv6"},"ipv6-range":{"summary":"IPv6 Range","value":"2001:db8::1-2001:db8::3"},"subnet-octet":{"summary":"Subnet Range - Matches 10.*.*.*","value":"10."},"hostname":{"summary":"Add by resolving hostname","value":"example.com"},"single-ipv4":{"value":"192.0.2.0","summary":"Single IPv4 Address"},"implied-range":{"summary":"Implied Range","value":"192.168.0.1-58"},"single-ipv6":{"value":"2001:db8::1","summary":"Single IPv6 Address"},"cidr-ipv4":{"value":"192.168.0.1/16","summary":"CIDR Format IPv4"},"ipv4-range":{"summary":"IPv4 Range","value":"192.168.0.1-192.168.0.58"}},"required":true,"description":"The IP address or IP address range that you wish to unblock.","schema":{"type":"string"},"in":"query","name":"ip"}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"apiversion":{"description":"The version of the API.","example":3,"type":"integer"},"result":{"type":"object","properties":{"metadata":{"properties":{"transformed":{"description":"Post-processing may have transformed the data.","enum":[1],"example":1,"type":"integer"}}},"data":{"type":"array","nullable":true,"description":"The IP addresses that the function removed, and the system translated.","items":{"example":"1.1.1.1","type":"string"}},"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"},"example":null,"type":"array","nullable":true},"messages":{"items":{"type":"string"},"description":"List of messages generated by the API.","example":null,"type":"array","nullable":true},"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null},"status":{"enum":[0,1],"example":1,"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","type":"integer"}}},"module":{"example":"BlockIP","description":"The name of the module called.","type":"string"},"func":{"type":"string","description":"The name of the method called.","example":"remove_ip"}},"type":"object"}}},"description":"HTTP Request was successful."}},"operationId":"BlockIP-remove_ip","x-readonly":false}}}}},"DirectoryPrivacy":{"add_user":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"},"license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."},"security":[{"BasicAuth":[]}],"x-tagGroups":[{"name":"Directory Management","tags":["Directory Privacy"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"tags":[{"description":"The DirectoryPrivacy module for UAPI.","name":"DirectoryPrivacy"},{"name":"Directory Privacy","description":"Directory Management / Directory Privacy"}],"servers":[{"description":"A server running cPanel.","variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute"}],"openapi":"3.0.2","paths":{"/DirectoryPrivacy/add_user":{"get":{"tags":["DirectoryPrivacy","Directory Privacy"],"parameters":[{"in":"query","name":"dir","description":"The directory to add users to.","required":true,"schema":{"example":"/home/example/example.com","format":"path","type":"string"}},{"in":"query","name":"user","schema":{"example":"example1","type":"string"},"required":true,"description":"The username of the user who can access the directory."},{"schema":{"type":"string","example":"123456luggage"},"required":true,"description":"The password for the user.","in":"query","name":"password"}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"module":{"example":"DirectoryPrivacy","description":"The name of the module called.","type":"string"},"result":{"properties":{"status":{"type":"integer","description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","enum":[0,1],"example":1},"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API."},"data":{"type":"object","nullable":true,"default":null},"metadata":{"properties":{}},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null}}},"func":{"type":"string","description":"The name of the method called.","example":"add_user"}},"type":"object"}}},"description":"HTTP Request was successful."}},"x-readonly":false,"operationId":"DirectoryPrivacy-add_user","description":"This function adds a user who can access a protected directory on the cPanel account.","summary":"Add authorized user for protected directory","x-cpanel-available-version":"cPanel 88","x-codeSamples":[{"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","lang":"Shell","label":"CLI"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/DirectoryPrivacy/add_user?dir=%2fhome%2fexample%2fexample.com&user=example1&password=123456luggage","lang":"HTTP","label":"URL"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DirectoryPrivacy_add_user.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DirectoryPrivacy_add_user.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DirectoryPrivacy/,\n    q/add_user/,\n    {\n        'dir' => '/home/example/example.com',\n        'user' => 'example1',\n        'password' => '123456luggage',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DirectoryPrivacy_add_user.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DirectoryPrivacy_add_user.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DirectoryPrivacy',\n    'add_user',\n    array (\n        'dir' => '/home/example/example.com',\n        'user' => 'example1',\n        'password' => '123456luggage',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-api-version":"UAPI","x-rollback":"none"}}}},"list_users":{"paths":{"/DirectoryPrivacy/list_users":{"get":{"x-cpanel-available-version":"cPanel 88","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"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/DirectoryPrivacy/list_users?dir=%2fhome%2fexample%2fexample.com"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DirectoryPrivacy_list_users.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DirectoryPrivacy_list_users.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DirectoryPrivacy/,\n    q/list_users/,\n    {\n        'dir' => '/home/example/example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DirectoryPrivacy_list_users.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DirectoryPrivacy_list_users.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DirectoryPrivacy',\n    'list_users',\n    array (\n        'dir' => '/home/example/example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Return authorized users for protected directory","x-cpanel-api-version":"UAPI","x-readonly":true,"operationId":"DirectoryPrivacy-list_users","tags":["DirectoryPrivacy","Directory Privacy"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"result":{"type":"object","properties":{"metadata":{"properties":{"transformed":{"type":"integer","example":1,"enum":[1],"description":"Post-processing may have transformed the data."}}},"warnings":{"type":"array","nullable":true,"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"},"example":null},"data":{"type":"array","example":["example1","example2"],"items":{"type":"string"},"description":"list of users who can access the directory."},"messages":{"example":null,"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"status":{"type":"integer","enum":[0,1],"example":1,"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details."}}},"module":{"description":"The name of the module called.","example":"DirectoryPrivacy","type":"string"},"func":{"description":"The name of the method called.","example":"list_users","type":"string"},"apiversion":{"example":3,"description":"The version of the API.","type":"integer"}},"type":"object"}}}}},"x-rollback":"none","description":"This function returns the users who can access a password-protected directory on the cPanel account.","parameters":[{"in":"query","name":"dir","schema":{"example":"/home/example/example.com","format":"path","type":"string"},"description":"The password-protected directory for which to return authorized users.","required":true}]}}},"security":[{"BasicAuth":[]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"x-tagGroups":[{"name":"Directory Management","tags":["Directory Privacy"]}],"openapi":"3.0.2","tags":[{"description":"The DirectoryPrivacy module for UAPI.","name":"DirectoryPrivacy"},{"name":"Directory Privacy","description":"Directory Management / Directory Privacy"}],"servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"description":"A server running cPanel."}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}}},"configure_directory_protection":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"security":[{"BasicAuth":[]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"x-tagGroups":[{"tags":["Directory Privacy"],"name":"Directory Management"}],"servers":[{"variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"name":"DirectoryPrivacy","description":"The DirectoryPrivacy module for UAPI."},{"name":"Directory Privacy","description":"Directory Management / Directory Privacy"}],"paths":{"/DirectoryPrivacy/configure_directory_protection":{"get":{"x-readonly":false,"operationId":"DirectoryPrivacy-configure_directory_protection","parameters":[{"required":true,"description":"The absolute or relative directory path for which to enable or disable password protection.","schema":{"format":"path","type":"string","example":"/home/example/example.com"},"in":"query","name":"dir"},{"name":"enabled","in":"query","description":"Whether to enable password protection for the directory.\n* `1` - Enable.\n* `0` - Disable.","required":true,"schema":{"type":"integer","example":1,"enum":[0,1]}},{"description":"The name of the directory protection authorization instance.\n\n**Note:**\n\n**Only** use this parameter when you enable password protection.","required":true,"schema":{"type":"string","example":"protectandserve"},"in":"query","name":"authname"}],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"func":{"type":"string","description":"The name of the method called.","example":"configure_directory_protection"},"module":{"type":"string","description":"The name of the module called.","example":"DirectoryPrivacy"},"result":{"properties":{"status":{"enum":[0,1],"example":1,"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","type":"integer"},"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"messages":{"example":null,"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"},"data":{"type":"object","properties":{"auth_name":{"example":"protectandserve","description":"The authentication resource name.","type":"string"},"passwd_file":{"description":"The path to the directory's password file.","example":"/home/example/.htpasswds/example.com/passwd","type":"string","format":"path"},"auth_type":{"type":"string","example":"Basic","enum":["Basic","None"],"description":"The directory's authentication type.\n* `Basic`\n* `None`"},"protected":{"description":"Whether the directory uses password protection.\n* `1` - Protected.\n* `0` - **Not** protected.","example":1,"enum":[0,1],"type":"integer"}}},"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null,"type":"array","nullable":true},"metadata":{"properties":{}}},"type":"object"}}}}}}},"tags":["DirectoryPrivacy","Directory Privacy"],"x-rollback":"clean","x-cpanel-api-version":"UAPI","description":"This function enables or disables password protection for a directory on the cPanel account.","x-codeSamples":[{"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":"CLI","lang":"Shell"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/DirectoryPrivacy/configure_directory_protection?dir=%2fhome%2fexample%2fexample.com&enabled=1&authname=protectandserve"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DirectoryPrivacy_configure_directory_protection.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DirectoryPrivacy_configure_directory_protection.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DirectoryPrivacy/,\n    q/configure_directory_protection/,\n    {\n        'dir' => '/home/example/example.com',\n        'enabled' => '1',\n        'authname' => 'protectandserve',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DirectoryPrivacy_configure_directory_protection.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DirectoryPrivacy_configure_directory_protection.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DirectoryPrivacy',\n    'configure_directory_protection',\n    array (\n        'dir' => '/home/example/example.com',\n        'enabled' => '1',\n        'authname' => 'protectandserve',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"summary":"Enable or disable protected directory","x-cpanel-available-version":"cPanel 88"}}}},"is_directory_protected":{"paths":{"/DirectoryPrivacy/is_directory_protected":{"get":{"operationId":"DirectoryPrivacy-is_directory_protected","x-readonly":true,"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"module":{"description":"The name of the module called.","example":"DirectoryPrivacy","type":"string"},"result":{"properties":{"status":{"type":"integer","description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","example":1,"enum":[0,1]},"messages":{"items":{"type":"string"},"description":"List of messages generated by the API.","example":null,"type":"array","nullable":true},"data":{"type":"object","properties":{"auth_name":{"type":"string","description":"The authentication resource name.","example":"Protected 'example.com'"},"passwd_file":{"example":"/home/example/.htpasswds/example.com/passwd","description":"The path to the directory's password file.","format":"path","type":"string"},"protected":{"type":"integer","description":"Whether the directory uses password protection.\n* `1` - Protected.\n* `0` - **Not** protected.","enum":[0,1],"example":1},"auth_type":{"type":"string","description":"The directory's authentication type.\n* `Basic`\n* `None`","example":"Basic","enum":["Basic","None"]}}},"warnings":{"nullable":true,"type":"array","example":null,"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"}},"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null},"metadata":{"properties":{}}},"type":"object"},"func":{"type":"string","example":"is_directory_protected","description":"The name of the method called."},"apiversion":{"example":3,"description":"The version of the API.","type":"integer"}}}}}}},"parameters":[{"description":"The absolute directory path on the cPanel account to check for password protection.","required":true,"schema":{"example":"/home/example/example.com","type":"string","format":"path"},"in":"query","name":"dir"}],"tags":["DirectoryPrivacy","Directory Privacy"],"x-rollback":"none","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"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/DirectoryPrivacy/is_directory_protected?dir=%2fhome%2fexample%2fexample.com","label":"URL","lang":"HTTP"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DirectoryPrivacy_is_directory_protected.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DirectoryPrivacy_is_directory_protected.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DirectoryPrivacy/,\n    q/is_directory_protected/,\n    {\n        'dir' => '/home/example/example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DirectoryPrivacy_is_directory_protected.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DirectoryPrivacy_is_directory_protected.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DirectoryPrivacy',\n    'is_directory_protected',\n    array (\n        'dir' => '/home/example/example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"summary":"Return whether directory uses password protection","x-cpanel-available-version":"cPanel 88","description":"This function confirms whether a directory uses password protection.","x-cpanel-api-version":"UAPI"}}},"security":[{"BasicAuth":[]}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"x-tagGroups":[{"tags":["Directory Privacy"],"name":"Directory Management"}],"tags":[{"description":"The DirectoryPrivacy module for UAPI.","name":"DirectoryPrivacy"},{"name":"Directory Privacy","description":"Directory Management / Directory Privacy"}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}}}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"},"license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."}},"list_directories":{"info":{"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"},"termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999"},"externalDocs":{"url":"https://cpanel.net/developers/"},"x-tagGroups":[{"tags":["Directory Privacy"],"name":"Directory Management"}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"tags":[{"description":"The DirectoryPrivacy module for UAPI.","name":"DirectoryPrivacy"},{"name":"Directory Privacy","description":"Directory Management / Directory Privacy"}],"openapi":"3.0.2","servers":[{"variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"security":[{"BasicAuth":[]}],"paths":{"/DirectoryPrivacy/list_directories":{"get":{"tags":["DirectoryPrivacy","Directory Privacy"],"parameters":[{"schema":{"example":"/home/example/example.com","format":"path","type":"string"},"description":"The directory path for which to return the subdirectories' privacy information.","required":true,"in":"query","name":"dir"}],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"func":{"example":"list_directories","description":"The name of the method called.","type":"string"},"module":{"example":"DirectoryPrivacy","description":"The name of the module called.","type":"string"},"result":{"type":"object","properties":{"data":{"type":"object","properties":{"current":{"type":"object","properties":{"path":{"type":"string","format":"path","example":"/home/example/example.com","description":"The current directory's path."},"state":{"type":"object","properties":{"protected":{"description":"Whether the directory is protected.\n\n* `1` — Protected.\n* `0` — **Not** protected.","enum":[1,0],"example":1,"type":"integer"},"auth_type":{"description":"The directory's authentication type.\n\n* `Basic`\n* `None`","example":"Basic","enum":["Basic","None"],"type":"string"},"auth_name":{"type":"string","description":"The authentication resource name.","example":"protected"},"passwd_file":{"example":"/home/example/.htpasswds/example.com/passwd","description":"The absolute file path to the directory's password file.","format":"path","type":"string"}},"description":"The current subdirectory's privacy information."}},"description":"The user's current directory and its privacy information."},"home":{"properties":{"path":{"description":"The home directory's absolute path.","example":"/home/example","type":"string","format":"path"},"state":{"properties":{"auth_name":{"description":"The authentication resource name.","example":"protected","type":"string"},"passwd_file":{"description":"The absolute file path to the home directory's password file.","example":"/home/example/.htpasswds/example.com/passwd","type":"string","format":"path"},"auth_type":{"type":"string","example":"Basic","enum":["Basic","None"],"description":"The home directory's authentication type.\n\n* `Basic`\n* `None`"},"protected":{"description":"Whether the home directory is protected.\n\n* `1` — Protected.\n* `0` — **Not** protected.","enum":[1,0],"example":1,"type":"integer"}},"type":"object","description":"The home directory's privacy information."}},"type":"object","description":"The user's home directory and its privacy information."},"parent":{"description":"The parent directory of the current directory and its privacy information.","properties":{"state":{"description":"The parent directory's privacy information.","properties":{"auth_name":{"example":"protected","description":"The authentication resource name.","type":"string"},"passwd_file":{"description":"The absolute file path to the parent directory's password file.","example":"/home/example/.htpasswds/example.com/passwd","type":"string","format":"path"},"auth_type":{"enum":["Basic","None"],"example":"Basic","description":"The parent directory's authentication type.\n\n* `Basic`\n* `None`","type":"string"},"protected":{"description":"Whether the subdirectory is protected.\n\n* `1` — Protected.\n* `0` — **Not** protected.","enum":[1,0],"example":1,"type":"integer"}},"type":"object"},"path":{"type":"string","format":"path","example":"/home/example","description":"The parent directory's absolute directory path."}},"type":"object"},"children":{"type":"array","description":"An array of objects containing subdirectories and their privacy\ninformation.\n\n**Note:**\n\nThe function returns an object for each subdirectory in a directory.","items":{"type":"object","properties":{"state":{"description":"The subdirectory's privacy information.","properties":{"auth_type":{"enum":["Basic","None"],"example":"Basic","description":"The subdirectory's authentication type.\n\n* `Basic`\n* `None`","type":"string"},"protected":{"description":"Whether the subdirectory is protected.\n\n* `1` — Protected.\n* `0` — **Not** protected.","enum":[1,0],"example":1,"type":"integer"},"auth_name":{"description":"The authentication resource name.","example":"Protected 'example.com'","type":"string"},"passwd_file":{"format":"path","type":"string","example":"/home/example/.htpasswds/example.com/passwd","description":"The absolute file path to the subdirectory's password file."}},"type":"object"},"path":{"description":"The subdirectory's directory path.","example":"/home/example/example.com/cgi-bin","type":"string","format":"path"}}}}}},"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"},"example":null,"type":"array","nullable":true},"metadata":{"properties":{}},"errors":{"example":null,"items":{"type":"string"},"description":"List of errors if the API failed.","nullable":true,"type":"array"},"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"},"status":{"type":"integer","example":1,"enum":[1,0],"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details."}}}}}}}}},"operationId":"DirectoryPrivacy-list_directories","x-readonly":true,"x-cpanel-api-version":"UAPI","summary":"Return privacy status of subdirectories","x-cpanel-available-version":"cPanel 88","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  DirectoryPrivacy \\\n  list_directories \\\n  dir='/home/example/example.com'\n","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/DirectoryPrivacy/list_directories?dir=%2fhome%2fexample%2fexample.com","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DirectoryPrivacy_list_directories.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DirectoryPrivacy_list_directories.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DirectoryPrivacy/,\n    q/list_directories/,\n    {\n        'dir' => '/home/example/example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DirectoryPrivacy_list_directories.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DirectoryPrivacy_list_directories.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DirectoryPrivacy',\n    'list_directories',\n    array (\n        'dir' => '/home/example/example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"description":"This function returns the privacy status of the subdirectories in a directory.","x-rollback":"none"}}}},"delete_user":{"x-tagGroups":[{"tags":["Directory Privacy"],"name":"Directory Management"}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"openapi":"3.0.2","tags":[{"name":"DirectoryPrivacy","description":"The DirectoryPrivacy module for UAPI."},{"description":"Directory Management / Directory Privacy","name":"Directory Privacy"}],"servers":[{"description":"A server running cPanel.","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute"}],"security":[{"BasicAuth":[]}],"info":{"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/DirectoryPrivacy/delete_user":{"get":{"description":"This function deletes a user who can access a protected directory on the cPanel account.","x-rollback":"none","parameters":[{"in":"query","name":"dir","description":"The absolute directory path on the cPanel account from which to remove a user.","required":true,"schema":{"example":"/home/example/example.com","format":"path","type":"string"}},{"description":"The username to remove from the directory.","required":true,"schema":{"type":"string","format":"username","example":"example1"},"name":"user","in":"query"}],"x-cpanel-api-version":"UAPI","summary":"Delete authorized user for protected directory","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  DirectoryPrivacy \\\n  delete_user \\\n  dir='/home/example/example.com' \\\n  user='example1'\n","lang":"Shell","label":"CLI"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/DirectoryPrivacy/delete_user?dir=%2fhome%2fexample%2fexample.com&user=example1","label":"URL","lang":"HTTP"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DirectoryPrivacy_delete_user.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DirectoryPrivacy_delete_user.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DirectoryPrivacy/,\n    q/delete_user/,\n    {\n        'dir' => '/home/example/example.com',\n        'user' => 'example1',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DirectoryPrivacy_delete_user.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DirectoryPrivacy_delete_user.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DirectoryPrivacy',\n    'delete_user',\n    array (\n        'dir' => '/home/example/example.com',\n        'user' => 'example1',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 88","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"func":{"description":"The name of the method called.","example":"delete_user","type":"string"},"result":{"properties":{"status":{"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","example":1,"enum":[0,1],"type":"integer"},"metadata":{"properties":{}},"data":{"default":null,"nullable":true,"type":"object"},"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"},"example":null,"type":"array","nullable":true},"messages":{"example":null,"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true}}},"module":{"description":"The name of the module called.","example":"DirectoryPrivacy","type":"string"},"apiversion":{"type":"integer","example":3,"description":"The version of the API."}}}}},"description":"HTTP Request was successful."}},"tags":["DirectoryPrivacy","Directory Privacy"],"operationId":"DirectoryPrivacy-delete_user","x-readonly":false}}}}},"Themes":{"get_theme_base":{"openapi":"3.0.2","servers":[{"variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"tags":[{"description":"The Themes module for UAPI.","name":"Themes"},{"description":"cPanel Theme Management / Theme Settings","name":"Theme Settings"}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"x-tagGroups":[{"name":"cPanel Theme Management","tags":["Theme Settings"]}],"security":[{"BasicAuth":[]}],"info":{"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"},"termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/Themes/get_theme_base":{"get":{"deprecated":true,"description":"This function is deprecated and does not return useful output.","parameters":[],"summary":"Return current theme","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Themes \\\n  get_theme_base\n"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/Themes/get_theme_base"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-available-version":"cPanel 11.50","x-cpanel-api-version":"UAPI","x-readonly":true,"operationId":"Themes-get_theme_base","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"description":"The version of the API.","example":3,"type":"integer"},"func":{"example":"get_theme_base","description":"The name of the method called.","type":"string"},"module":{"type":"string","example":"Themes","description":"The name of the module called."},"result":{"type":"object","properties":{"metadata":{"properties":{}},"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null,"type":"array","nullable":true},"data":{"type":"string","enum":["jupiter","unknown"],"example":"jupiter","description":"The cPanel account's base theme. The function returns **only** one of the following strings:\n* `jupiter`\n* `unknown` — The function returns this value when it cannot determine the base theme that\nyou modified to create the custom theme."},"messages":{"items":{"type":"string"},"description":"List of messages generated by the API.","example":null,"type":"array","nullable":true},"errors":{"example":null,"items":{"type":"string"},"description":"List of errors if the API failed.","nullable":true,"type":"array"},"status":{"type":"integer","description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","enum":[0,1],"example":1}}}}}}},"description":"HTTP Request was successful."}},"tags":["Themes","Theme Settings"]}}}},"update":{"security":[{"BasicAuth":[]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"x-tagGroups":[{"tags":["Theme Settings"],"name":"cPanel Theme Management"}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute"}],"tags":[{"name":"Themes","description":"The Themes module for UAPI."},{"name":"Theme Settings","description":"cPanel Theme Management / Theme Settings"}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"paths":{"/Themes/update":{"get":{"parameters":[{"in":"query","name":"theme","schema":{"type":"string","example":"jupiter"},"description":"The theme name.","required":true}],"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.","x-rollback":"none","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"func":{"example":"update","description":"The name of the method called.","type":"string"},"result":{"properties":{"warnings":{"example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","nullable":true,"type":"array"},"data":{"type":"object","nullable":true},"metadata":{"properties":{}},"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null},"messages":{"example":null,"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"},"status":{"type":"integer","description":"Whether the theme changed.\n\n* `1` — The theme changed.\n* `0` — The theme did **not** change, or the function failed.\n\n**Note:**\n\nIf the function fails, check the `errors` field for more details.","enum":[0,1],"example":1}},"type":"object"},"module":{"type":"string","example":"Themes","description":"The name of the module called."},"apiversion":{"type":"integer","description":"The version of the API.","example":3}}}}},"description":"HTTP Request was successful."}},"tags":["Themes","Theme Settings"],"operationId":"Themes-update","x-readonly":false,"x-cpanel-api-version":"UAPI","summary":"Update current theme","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Themes \\\n  update \\\n  theme='jupiter'\n","lang":"Shell","label":"CLI"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/Themes/update?theme=jupiter"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-available-version":"cPanel 11.42"}}}},"list":{"paths":{"/Themes/list":{"get":{"x-cpanel-available-version":"cPanel 11.42","summary":"Return available themes","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Themes \\\n  list\n","lang":"Shell","label":"CLI"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Themes/list","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n//    to .../frontend/<theme-name>/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}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"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.","x-cpanel-api-version":"UAPI","x-readonly":true,"operationId":"Themes-list","tags":["Themes","Theme Settings"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"result":{"properties":{"status":{"enum":[0,1],"example":1,"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","type":"integer"},"warnings":{"nullable":true,"type":"array","example":null,"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"}},"data":{"type":"array","description":"An array that contains the account's themes.","items":{"example":"jupiter","type":"string"}},"metadata":{"properties":{"transformed":{"description":"Post-processing may have transformed the data.","example":1,"enum":[1],"type":"integer"}}},"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null},"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null}},"type":"object"},"module":{"type":"string","description":"The name of the module called.","example":"Themes"},"func":{"description":"The name of the method called.","example":"list","type":"string"}},"type":"object"}}}}},"parameters":[{"required":false,"description":"Whether to list the account's mail themes.\n* `1` — List mail themes.\n* `0` — Do **not** list mail themes.","schema":{"type":"integer","default":0,"enum":[0,1],"example":1},"in":"query","name":"show_mail_themes"}]}}},"info":{"termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"openapi":"3.0.2","tags":[{"description":"The Themes module for UAPI.","name":"Themes"},{"name":"Theme Settings","description":"cPanel Theme Management / Theme Settings"}],"servers":[{"url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"description":"A server running cPanel."}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"x-tagGroups":[{"name":"cPanel Theme Management","tags":["Theme Settings"]}],"security":[{"BasicAuth":[]}]}},"cPGreyList":{"enable_domains":{"info":{"termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"servers":[{"description":"A server running cPanel.","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"url":"https://{host}:{port}/execute"}],"openapi":"3.0.2","tags":[{"description":"The cPGreyList module for UAPI.","name":"cPGreyList"},{"name":"Spam Filtering (Greylisting)","description":"Email / Spam Filtering (Greylisting)"}],"x-tagGroups":[{"name":"Email","tags":["Spam Filtering (Greylisting)"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"security":[{"BasicAuth":[]}],"paths":{"/cPGreyList/enable_domains":{"get":{"x-rollback":"none","description":"This function enables Greylisting on a cPanel account's selected domains.","parameters":[{"in":"query","name":"domains","schema":{"type":"string"},"examples":{"multiple":{"value":"domain=example.com&domain=example1.com&domain=example2.com","summary":"Multiple domains."},"single":{"summary":"A single domain.","value":"example.com"}},"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.","required":true}],"x-cpanel-api-version":"UAPI","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  cPGreyList \\\n  enable_domains \\\n  domains='example.com'\n","label":"CLI","lang":"Shell"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/cPGreyList/enable_domains?domains=example.com"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Enable Greylisting for specified domains","x-cpanel-available-version":"cPanel 11.50","operationId":"cPGreyList-enable_domains","x-readonly":false,"tags":["cPGreyList","Spam Filtering (Greylisting)"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"type":"integer","description":"The version of the API.","example":3},"module":{"description":"The name of the module called.","example":"cPGreyList","type":"string"},"result":{"type":"object","properties":{"errors":{"example":null,"items":{"type":"string"},"description":"List of errors if the API failed.","nullable":true,"type":"array"},"metadata":{"properties":{"transformed":{"example":1,"enum":[1],"description":"Post-processing may have transformed the data.","type":"integer"}}},"status":{"type":"integer","description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","example":1,"enum":[0,1]},"messages":{"description":"List of messages generated by the API.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"data":{"items":{"properties":{"type":{"type":"string","description":"The domain type.\n* `main` — A main domain.\n* `sub` — A subdomain.","enum":["main","sub"],"example":"main"},"dependencies":{"type":"array","example":["example.com","example1.com","example2.com"],"description":"An array of domains that your changes will affect.","items":{"type":"string","format":"domain"}},"enabled":{"type":"integer","description":"Whether Greylisting is disabled.\n* `1` — Enabled.\n* `0` — Disabled.","example":0,"enum":[0,1]},"searchhint":{"type":"string","example":"example, example1, example2","description":"A comma-separated list of domain-related search terms."},"domain":{"type":"string","description":"The domain.","example":"example.com"}},"type":"object"},"type":"array"},"warnings":{"example":null,"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"}}},"func":{"type":"string","example":"enable_domains","description":"The name of the method called."}}}}}}}}}}},"has_greylisting_enabled":{"security":[{"BasicAuth":[]}],"x-tagGroups":[{"name":"Email","tags":["Spam Filtering (Greylisting)"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"openapi":"3.0.2","servers":[{"variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"tags":[{"name":"cPGreyList","description":"The cPGreyList module for UAPI."},{"description":"Email / Spam Filtering (Greylisting)","name":"Spam Filtering (Greylisting)"}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"paths":{"/cPGreyList/has_greylisting_enabled":{"get":{"x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  cPGreyList \\\n  has_greylisting_enabled\n","lang":"Shell","label":"CLI"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/cPGreyList/has_greylisting_enabled"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"summary":"Return whether Greylisting is enabled","x-cpanel-available-version":"cPanel 11.50","description":"This function checks whether Greylisting is enabled for the cPanel account.","x-cpanel-api-version":"UAPI","operationId":"cPGreyList-has_greylisting_enabled","x-readonly":true,"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"result":{"properties":{"status":{"type":"integer","description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","enum":[0,1],"example":1},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}},"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"metadata":{"properties":{}},"data":{"properties":{"enabled":{"type":"integer","example":0,"enum":[0,1],"description":"Whether Greylisting is enabled.\n* `1` — Enabled.\n* `0` — Disabled."}},"type":"object"},"warnings":{"example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","nullable":true,"type":"array"}},"type":"object"},"module":{"type":"string","example":"cPGreyList","description":"The name of the module called."},"func":{"type":"string","example":"has_greylisting_enabled","description":"The name of the method called."},"apiversion":{"type":"integer","example":3,"description":"The version of the API."}}}}},"description":"HTTP Request was successful."}},"parameters":[],"tags":["cPGreyList","Spam Filtering (Greylisting)"]}}}},"enable_all_domains":{"info":{"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"tags":[{"description":"The cPGreyList module for UAPI.","name":"cPGreyList"},{"description":"Email / Spam Filtering (Greylisting)","name":"Spam Filtering (Greylisting)"}],"openapi":"3.0.2","servers":[{"variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"tags":["Spam Filtering (Greylisting)"],"name":"Email"}],"security":[{"BasicAuth":[]}],"paths":{"/cPGreyList/enable_all_domains":{"get":{"operationId":"cPGreyList-enable_all_domains","x-readonly":false,"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"module":{"example":"cPGreyList","description":"The name of the module called.","type":"string"},"result":{"type":"object","properties":{"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null},"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"data":{"items":{"type":"object","properties":{"enabled":{"type":"integer","example":0,"enum":[0,1],"description":"Whether Greylisting is enabled.\n* `1` — Enabled.\n* `0` — Disabled."},"dependencies":{"description":"An array of domains that your changes will affect.","items":{"type":"string"},"example":["this.com","that.com","theother.com"],"type":"array"},"searchhint":{"type":"string","description":"A comma-separated list of domain-related search terms.","example":"this, that, and the other."},"type":{"type":"string","example":"main","description":"The domain type.\n* `main` — A main domain.\n* `sub` — A subdomain."},"domain":{"type":"string","description":"The domain.","example":"example.com"}}},"type":"array"},"metadata":{"properties":{"transformed":{"example":1,"enum":[1],"description":"Post-processing may have transformed the data.","type":"integer"}}},"status":{"type":"integer","description":"* 1 — Success.\n* 0 — Failed. Check the `errors` field for more details.","enum":[0,1],"example":1}}},"func":{"type":"string","description":"The name of the method called.","example":"enable_all_domains"}},"type":"object"}}},"description":"HTTP Request was successful."}},"tags":["cPGreyList","Spam Filtering (Greylisting)"],"x-cpanel-api-version":"UAPI","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  cPGreyList \\\n  enable_all_domains\n","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/cPGreyList/enable_all_domains","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n#    to .../frontend/<theme-name>/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}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Enable Greylisting for all domains","x-cpanel-available-version":"cPanel 11.50","parameters":[],"x-rollback":"none","description":"This function enables Greylisting on all of the cPanel account's domains."}}}},"list_domains":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/","contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"}},"security":[{"BasicAuth":[]}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"x-tagGroups":[{"name":"Email","tags":["Spam Filtering (Greylisting)"]}],"servers":[{"description":"A server running cPanel.","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute"}],"openapi":"3.0.2","tags":[{"description":"The cPGreyList module for UAPI.","name":"cPGreyList"},{"description":"Email / Spam Filtering (Greylisting)","name":"Spam Filtering (Greylisting)"}],"paths":{"/cPGreyList/list_domains":{"get":{"tags":["cPGreyList","Spam Filtering (Greylisting)"],"parameters":[],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"type":"integer","description":"The version of the API.","example":3},"func":{"description":"The name of the method called.","example":"list_domains","type":"string"},"result":{"properties":{"metadata":{"properties":{"transformed":{"type":"integer","description":"Post-processing may have transformed the data.","example":1,"enum":[1]}}},"data":{"properties":{},"type":"array","items":{"type":"object","properties":{"cPGreyList":{"type":"object","properties":{"total_enabled":{"type":"integer","minimum":0,"description":"The number of domains with Greylisting enabled.","example":0},"total_disabled":{"example":1,"description":"The number of domains with Greylisting disabled.","minimum":0,"type":"integer"}},"description":"An object that contains the number of domains with Greylisting enabled or disabled."},"searchhint":{"type":"string","example":"this, that, and the other.","description":"A comma-separated list of domain-related search terms."},"enabled":{"type":"integer","enum":[0,1],"example":0,"description":"Whether Greylisting is enabled.\n* `1` — Enabled.\n* `0` — Disabled."},"type":{"type":"string","enum":["main","sub"],"example":"main","description":"The domain type.\n* `main` — A main domain.\n* `sub` — A subdomain."},"dependencies":{"example":["this.com","that.com","theother.com"],"description":"An array of domains that your changes to a selected domain will affect.","items":{"format":"domain","type":"string"},"type":"array"},"domain":{"format":"domain","type":"string","example":"example.com","description":"The domain."}}}},"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null,"type":"array","nullable":true},"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."},"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null},"status":{"type":"integer","enum":[0,1],"example":1,"description":"* 1 — Success.\n* 0 — Failed. Check the `errors` field for more details."}},"type":"object"},"module":{"type":"string","example":"cPGreyList","description":"The name of the module called."}}}}}}},"x-readonly":true,"operationId":"cPGreyList-list_domains","description":"This function returns Greylisting's status for a cPanel account's domains.","x-cpanel-available-version":"cPanel 11.50","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  cPGreyList \\\n  list_domains\n"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/cPGreyList/list_domains"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n#    to .../frontend/<theme-name>/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}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"summary":"Return Greylisting status for domains","x-cpanel-api-version":"UAPI"}}}},"disable_domains":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"}},"security":[{"BasicAuth":[]}],"x-tagGroups":[{"name":"Email","tags":["Spam Filtering (Greylisting)"]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"openapi":"3.0.2","servers":[{"variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"tags":[{"name":"cPGreyList","description":"The cPGreyList module for UAPI."},{"name":"Spam Filtering (Greylisting)","description":"Email / Spam Filtering (Greylisting)"}],"paths":{"/cPGreyList/disable_domains":{"get":{"operationId":"cPGreyList-disable_domains","x-readonly":false,"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"type":"integer","description":"The version of the API.","example":3},"module":{"type":"string","example":"cPGreyList","description":"The name of the module called."},"result":{"properties":{"status":{"example":1,"enum":[0,1],"description":"* 1 — Success.\n* 0 — Failed. Check the `errors` field for more details.","type":"integer"},"data":{"type":"array","items":{"properties":{"type":{"type":"string","description":"The domain type.\n* `main` — A main domain.\n* `sub` — A subdomain.","example":"main","enum":["main","sub"]},"searchhint":{"description":"A comma-separated list of domain-related search terms.","example":"this, that, the other","type":"string"},"enabled":{"description":"Whether Greylisting is disabled.\n* `1` — Enabled.\n* `0` — Disabled.","enum":[0,1],"example":0,"type":"integer"},"dependencies":{"example":["this.com","that.com","theother.com"],"description":"An array of domains that your changes will affect.","items":{"type":"string"},"type":"array"},"domain":{"type":"string","example":"example.com","description":"The domain."}},"type":"object"}},"warnings":{"nullable":true,"type":"array","example":null,"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"}},"metadata":{"properties":{"transformed":{"description":"Post-processing may have transformed the data.","example":1,"enum":[1],"type":"integer"}}},"errors":{"example":null,"items":{"type":"string"},"description":"List of errors if the API failed.","nullable":true,"type":"array"},"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null}},"type":"object"},"func":{"example":"disable_domains","description":"The name of the method called.","type":"string"}},"type":"object"}}}}},"tags":["cPGreyList","Spam Filtering (Greylisting)"],"x-cpanel-api-version":"UAPI","summary":"Disable Greylisting for specified domains","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  cPGreyList \\\n  disable_domains \\\n  domains='example.com'\n","label":"CLI","lang":"Shell"},{"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# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 11.50","parameters":[{"schema":{"type":"string"},"required":true,"description":"The domain on which to disable Greylisting.\n\n**Note:**\n\nTo disable Greylisting on multiple domains, use the `domains` parameter multiple times.","examples":{"single":{"value":"example.com","description":"A single domain."},"multiple":{"value":"domain=example.com domain=example1.com domain=example2.com","description":"Multiple domains."}},"name":"domains","in":"query"}],"x-rollback":"none","description":"This function disables Greylisting on a cPanel account's selected domains."}}}},"disable_all_domains":{"security":[{"BasicAuth":[]}],"servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}}}],"openapi":"3.0.2","tags":[{"name":"cPGreyList","description":"The cPGreyList module for UAPI."},{"name":"Spam Filtering (Greylisting)","description":"Email / Spam Filtering (Greylisting)"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"x-tagGroups":[{"name":"Email","tags":["Spam Filtering (Greylisting)"]}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"paths":{"/cPGreyList/disable_all_domains":{"get":{"x-cpanel-api-version":"UAPI","description":"This function disables Greylisting on a cPanel account's domains.","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"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n#    to .../frontend/<theme-name>/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}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Disable Greylisting for all domains","x-cpanel-available-version":"cPanel 11.50","x-rollback":"none","tags":["cPGreyList","Spam Filtering (Greylisting)"],"parameters":[],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"result":{"type":"object","properties":{"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"data":{"type":"array","items":{"properties":{"type":{"type":"string","description":"The domain type.\n- `main` — A main domain.\n- `addon` — An addon domain.\n- `parked` — A parked domain.","enum":["main","addon","parked"],"example":"main"},"searchhint":{"type":"string","description":"A comma-separated list of domain-related search terms.","example":"this, that, the other"},"enabled":{"enum":[0,1],"example":0,"description":"Whether Greylisting is enabled.\n- `1` — Enabled.\n- `0` — Disabled.","type":"integer"},"dependencies":{"type":"array","example":["this.com","that.com","theother.com"],"description":"The domains that your changes will affect.","items":{"type":"string"}},"domain":{"type":"string","example":"example.com","description":"The domain."}},"type":"object"}},"status":{"enum":[0,1],"example":1,"description":"- 1 — Success.\n- 0 — Failed. Check the `errors` field for more details.","type":"integer"},"errors":{"nullable":true,"type":"array","example":null,"description":"List of errors if the API failed.","items":{"type":"string"}},"metadata":{"properties":{"transformed":{"type":"integer","description":"Post-processing may have transformed the data.","example":1,"enum":[1]}}}}},"module":{"description":"The name of the module called.","example":"cPGreyList","type":"string"},"func":{"description":"The name of the method called.","example":"disable_all_domains","type":"string"}},"type":"object"}}}}},"operationId":"cPGreyList-disable_all_domains","x-readonly":false}}}}},"KnownHosts":{"update":{"paths":{"/KnownHosts/update":{"get":{"x-rollback":"clean","description":"This function updates a host's entry in the cPanel account's /home/user/.ssh/known_hosts file.","parameters":[{"name":"host_name","in":"query","description":"The host to update.","required":true,"schema":{"oneOf":[{"type":"string","format":"hostname"},{"format":"ipv4","type":"string"}],"example":"host.example.com"}},{"description":"The SSH port to use.","required":false,"schema":{"default":22,"example":1234,"minimum":1,"maximum":65535,"type":"integer"},"in":"query","name":"port"}],"x-cpanel-api-version":"UAPI","x-cpanel-available-version":"cPanel 74","summary":"Update host in the known_hosts file","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  KnownHosts \\\n  update \\\n  host_name='host.example.com'\n","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/KnownHosts/update?host_name=host.example.com","label":"URL","lang":"HTTP"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file KnownHosts_update.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/KnownHosts_update.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/KnownHosts/,\n    q/update/,\n    {\n        'host_name' => 'host.example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file KnownHosts_update.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/KnownHosts_update.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'KnownHosts',\n    'update',\n    array (\n        'host_name' => 'host.example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"x-readonly":false,"operationId":"KnownHosts-update","tags":["KnownHosts","Known SSH Hosts Management"],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"result":{"properties":{"status":{"description":"* `1` Success.\n* `0` Failed. Check the `errors` field for more details.","enum":[0,1],"example":1,"type":"integer"},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}},"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null},"metadata":{"properties":{}},"warnings":{"example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","nullable":true,"type":"array"},"data":{"type":"object","properties":{"host":{"type":"array","description":"An array of objects containing the host's information.","items":{"properties":{"meta":{"description":"An object containing metadata about the host's public key.","type":"object","properties":{"sha256":{"description":"The key's SHA-256 fingerprint.","example":"55a405bcf4e11ab5b846e58ba0bf6dabd23dcc9e367cae17cb0c91b5b3b3fc55","type":"string"},"md5-printable":{"type":"string","example":"MD5:b6:03:0e:39:97:2e:d0:e7:24:ab:c3:77:3d:01:42:09","description":"A human-readable version of the key's MD5 fingerprint."},"md5":{"description":"The key's MD5 fingerprint.","example":"b6030e39868ed0e724cea3773e014219","type":"string"},"body":{"example":"EEEEB3NzaC1yc2EAAAADAQABAAABAQCsj2bNKTBSpIYDEGk9KxsGh3mySTRgMtXL583qmBpzeQ+jqCMRgBqB98u3z++J1sKlXHWfM9dyhSevkMwSbhoR8XIq/U0tCNyokEi/ueaBMCvbcTHhO7FcwzY92WK4Yt0aGROY5qX2UKSeOvuP4D6TPqKF1onrSzH9\\bx9XUf2lEdWT/ia1NEKjunUqu1xOB/StKDHMoX4/OKyIzuS0q/T1zOATthvasJFoPrAjkohTyaDUz2LN5JoH839hViyEG82yB+MjcFV5MU3N1l1QL3cVUCh93xSaua1N85qivl+siMkPGbO5xR/En4iEY6K2XPASUEMaieWVNTRCtJ4S8H+9","description":"The host's public key.","type":"string"},"sha256-printable":{"description":"human-readable version of the key's SHA-256 fingerprint.","example":"SHA256:RPLFvPThGrW4RuWLoL9tq9I9zJ42fK3XywyRtbOz/EQ","type":"string"},"algorithm":{"type":"string","example":"ssh-rsa","description":"The key's algorithm."}}},"line":{"example":"host.example.com ssh-rsa AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","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.","type":"string"},"host":{"example":"host.example.com","description":"The updated host and its associated key value.","oneOf":[{"type":"string","format":"hostname"},{"format":"ipv4","type":"string"}]},"key":{"type":"string","description":"The host's key.","example":"ssh-rsa AAAAB3NzaC1yc2AEEEEDAQABAAABAQCsj2bNKTBSpIYDEGk9KxsGh3mySTRgMtXL583qmBpzeQ+jqCMRgBqB98u3z++J1sKlXHWfM9dyhSevkMwSbhoR8XIq/U0tCNyokEi/ueaBMCvbcTHhO7FcwzY92WK4Yt0aGROY5qX2UKSeOvuP4D6TPqKF1onSzH9bx9XUf2lEdWT/ia1NEKjunUqu1xOB/StKDHMoX4/OKyIzuS0q/T1zOATthvasJFoPrAjkohTyaDUz2LN5JoH839hViyEG82yB+MjcFV5MU3N1l1QL3cVUCh93xSaua1N85qivl+siMkPGbO5xR/En4iEY6K2XPASUEMaieWVNTRCtJ4S8H+9"}},"type":"object"}}}}},"type":"object"},"module":{"description":"The name of the module called.","example":"KnownHosts","type":"string"},"func":{"description":"The name of the method called.","example":"update","type":"string"}},"type":"object"}}},"description":"HTTP Request was successful."}}}}},"info":{"title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}}}],"openapi":"3.0.2","tags":[{"name":"KnownHosts","description":"The KnownHosts module for UAPI."},{"name":"Known SSH Hosts Management","description":"Security / Known SSH Hosts Management"}],"x-tagGroups":[{"name":"Security","tags":["Known SSH Hosts Management"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"security":[{"BasicAuth":[]}]},"verify":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"security":[{"BasicAuth":[]}],"x-tagGroups":[{"tags":["Known SSH Hosts Management"],"name":"Security"}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"servers":[{"variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"tags":[{"name":"KnownHosts","description":"The KnownHosts module for UAPI."},{"description":"Security / Known SSH Hosts Management","name":"Known SSH Hosts Management"}],"openapi":"3.0.2","paths":{"/KnownHosts/verify":{"get":{"operationId":"KnownHosts-verify","x-readonly":true,"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"func":{"type":"string","description":"The name of the method called.","example":"verify"},"module":{"description":"The name of the module called.","example":"KnownHosts","type":"string"},"result":{"type":"object","properties":{"messages":{"example":null,"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"},"data":{"properties":{"errors":{"type":"array","items":{"type":"string","example":"The example.com host does not exist in the known_hosts file."},"description":"An array of errors that the system generated."},"status":{"description":"Whether the host already exists in the `/home/user/.ssh/known_hosts` file, where `user` is the cPanel account username.\n* `1` — Exists.\n* `0` — The host does **not** already exist, or the system must re-register the hostname.","example":0,"enum":[0,1],"type":"integer"},"failure_type":{"example":"new","enum":["new","changed"],"description":"The reason why the system will register the hostname.\n* `new` — The host does **not** already exist.\n* `changed` — The host's information has changed.","type":"string"},"host":{"type":"array","items":{"type":"object","properties":{"host":{"example":"host.example.com","description":"The hostname or IP address.","oneOf":[{"format":"ipv4","type":"string"},{"type":"string","format":"domain"}]},"key":{"type":"string","description":"The host's key.","example":"ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ=="},"meta":{"properties":{"sha256":{"type":"string","example":"44e405bcf4e11ab5b846e58ba0bf6dabd23dcc9e367cae17cb0c91b5b3b3fc44","description":"The key's [SHA-256](https://en.wikipedia.org/wiki/SHA-2) fingerprint."},"sha256-printable":{"example":"SHA256:ROQFvPThGrW4RuWLoL9tq9I9zJ42fK4XywyRtbOz/EQ","description":"A human-readable version of the key's SHA-256 fingerprint.","type":"string"},"algorithm":{"type":"string","description":"The key's algorithm.","example":"ssh-rsa"},"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"},"md5":{"example":"b6030e39979ed0e724cea3773e014209","description":"The key's [MD5](https://en.wikipedia.org/wiki/MD5) fingerprint.","type":"string"},"body":{"example":"AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==","description":"The host's public key. public key.","type":"string"}},"type":"object","description":"An object that contains information about the host's public key."},"line":{"example":"host.example.com ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==","description":"The host's entry in the `/home/user/.ssh/known_hosts` file, where `user` is the cPanel account username.","type":"string"}}},"description":"An array of objects that contain information about the host."}},"type":"object"},"warnings":{"example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","nullable":true,"type":"array"},"status":{"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","example":1,"enum":[0,1],"type":"integer"},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"metadata":{"properties":{}}}}},"type":"object"}}},"description":"HTTP Request was successful."}},"tags":["KnownHosts","Known SSH Hosts Management"],"parameters":[{"in":"query","name":"host_name","schema":{"oneOf":[{"type":"string","format":"ipv4"},{"format":"domain","type":"string"}],"example":"host.example.com"},"description":"The host to query.","required":true},{"required":false,"description":"The SSH port to use.","schema":{"minimum":1,"example":1234,"default":22,"type":"integer","maximum":65535},"in":"query","name":"port"}],"x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  KnownHosts \\\n  verify \\\n  host_name='host.example.com'\n","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/KnownHosts/verify?host_name=host.example.com","label":"URL","lang":"HTTP"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file KnownHosts_verify.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/KnownHosts_verify.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/KnownHosts/,\n    q/verify/,\n    {\n        'host_name' => 'host.example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file KnownHosts_verify.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/KnownHosts_verify.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'KnownHosts',\n    'verify',\n    array (\n        'host_name' => 'host.example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"summary":"Validate host","x-cpanel-available-version":"cPanel 74","description":"This function checks whether a host's public key exists in the cPanel account's `/home/user/.ssh/known_hosts` file.","x-cpanel-api-version":"UAPI"}}}},"delete":{"info":{"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"x-tagGroups":[{"tags":["Known SSH Hosts Management"],"name":"Security"}],"servers":[{"variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"description":"The KnownHosts module for UAPI.","name":"KnownHosts"},{"description":"Security / Known SSH Hosts Management","name":"Known SSH Hosts Management"}],"security":[{"BasicAuth":[]}],"paths":{"/KnownHosts/delete":{"get":{"x-rollback":"clean","description":"This function removes a host from the cPanel account's `/home/user/.ssh/known_hosts` file.","parameters":[{"schema":{"oneOf":[{"format":"hostname","type":"string"},{"format":"ipv4","type":"string"}],"example":"host.example.com"},"required":true,"description":"The hostname or IP address of the host to delete.","name":"host_name","in":"query"},{"in":"query","name":"port","schema":{"example":1234,"default":22,"minimum":1,"type":"integer"},"required":false,"description":"The SSH port to use."}],"x-cpanel-available-version":"cPanel 74","summary":"Delete host","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  KnownHosts \\\n  delete \\\n  host_name='host.example.com'\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/KnownHosts/delete?host_name=host.example.com","label":"URL","lang":"HTTP"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file KnownHosts_delete.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/KnownHosts_delete.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/KnownHosts/,\n    q/delete/,\n    {\n        'host_name' => 'host.example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file KnownHosts_delete.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/KnownHosts_delete.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'KnownHosts',\n    'delete',\n    array (\n        'host_name' => 'host.example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-api-version":"UAPI","x-readonly":false,"operationId":"KnownHosts-delete","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"description":"The version of the API.","example":3,"type":"integer"},"func":{"description":"The name of the method called.","example":"delete","type":"string"},"result":{"properties":{"status":{"type":"integer","description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","example":1,"enum":[0,1]},"metadata":{"properties":{}},"warnings":{"example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","nullable":true,"type":"array"},"data":{"default":null,"nullable":true,"type":"object"},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}},"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true}}},"module":{"description":"The name of the module called.","example":"KnownHosts","type":"string"}}}}},"description":"HTTP Request was successful."}},"tags":["KnownHosts","Known SSH Hosts Management"]}}}},"create":{"security":[{"BasicAuth":[]}],"tags":[{"description":"The KnownHosts module for UAPI.","name":"KnownHosts"},{"description":"Security / Known SSH Hosts Management","name":"Known SSH Hosts Management"}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute"}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"x-tagGroups":[{"name":"Security","tags":["Known SSH Hosts Management"]}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"},"termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."},"paths":{"/KnownHosts/create":{"get":{"description":"This function registers a host in the cPanel account's `/home/user/.ssh/known_hosts` file.","x-rollback":"clean","parameters":[{"in":"query","name":"host_name","schema":{"oneOf":[{"description":"A valid hostname.","example":"hostname.example.com","format":"hostname","type":"string"},{"format":"ipv4","type":"string","description":"A valid IP address.","example":"192.0.2.102"}]},"example":"hostname.example.com","description":"The hostname or IP address to add.","required":true},{"schema":{"type":"integer","example":1234,"default":22},"description":"The SSH port to use, if the system uses a non-standard SSH port.","required":false,"in":"query","name":"port"}],"x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  KnownHosts \\\n  create \\\n  host_name='hostname.example.com'\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/KnownHosts/create?host_name=hostname.example.com","label":"URL","lang":"HTTP"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file KnownHosts_create.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/KnownHosts_create.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/KnownHosts/,\n    q/create/,\n    {\n        'host_name' => 'hostname.example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file KnownHosts_create.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/KnownHosts_create.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'KnownHosts',\n    'create',\n    array (\n        'host_name' => 'hostname.example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"summary":"Create host","x-cpanel-available-version":"cPanel 74","x-cpanel-api-version":"UAPI","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"func":{"type":"string","example":"create","description":"The name of the method called."},"result":{"properties":{"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"},"example":null,"type":"array","nullable":true},"data":{"type":"object","properties":{"host":{"type":"array","description":"An array of objects containing information for the host.","items":{"type":"object","properties":{"key":{"type":"string","example":"ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==","description":"The host's key."},"host":{"description":"The hostname or IP address.","oneOf":[{"type":"string","format":"hostname","description":"A valid hostname.","example":"hostname.example.com"},{"description":"A valid IP address.","example":"192.0.2.102","type":"string","format":"ipv4"}],"example":"hostname.example.com"},"meta":{"description":"An object containing metadata about the host's public key.","properties":{"body":{"description":"The host's public key.","example":"AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==","type":"string"},"md5":{"example":"b6030e39979ed0e724cea3773e014209","description":"The key's [MD5](https://en.wikipedia.org/wiki/MD5) fingerprint.","type":"string"},"md5-printable":{"example":"MD5:b6:03:0e:39:97:9e:d0:e7:24:ce:a3:77:3e:01:42:09","description":"A human-readable version of the key's MD5 fingerprint.","type":"string"},"algorithm":{"description":"The key's algorithm.","example":"ssh-rsa","type":"string"},"sha256-printable":{"type":"string","example":"SHA256:ROQFvPThGrW4RuWLoL9tq9I9zJ42fK4XywyRtbOz/EQ","description":"A human-readable version of the key's SHA-256 fingerprint."},"sha256":{"example":"44e405bcf4e11ab5b846e58ba0bf6dabd23dcc9e367cae17cb0c91b5b 3b3fc44","description":"The key's [SHA-256](https://en.wikipedia.org/wiki/SHA-2)\nfingerprint.","type":"string"}},"type":"object"},"line":{"type":"string","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=="}}}}}},"metadata":{"properties":{}},"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"messages":{"example":null,"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"},"status":{"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","example":1,"enum":[1,0],"type":"integer"}},"type":"object"},"module":{"type":"string","example":"KnownHosts","description":"The name of the module called."}}}}},"description":"HTTP Request was successful."}},"tags":["KnownHosts","Known SSH Hosts Management"],"operationId":"KnownHosts-create","x-readonly":false}}}}},"Resellers":{"list_accounts":{"paths":{"/Resellers/list_accounts":{"get":{"description":"This function lists all of a reseller's cPanel accounts.","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Resellers \\\n  list_accounts\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Resellers/list_accounts","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Resellers_list_accounts.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/Resellers_list_accounts.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Resellers/,\n    q/list_accounts/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Resellers_list_accounts.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/Resellers_list_accounts.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Resellers',\n    'list_accounts'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Return reseller's cPanel accounts","x-cpanel-available-version":"cPanel 11","x-cpanel-api-version":"UAPI","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"module":{"type":"string","example":"Resellers","description":"The name of the module called."},"result":{"properties":{"status":{"type":"integer","enum":[1,0],"example":1,"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details."},"metadata":{"properties":{"transformed":{"type":"integer","description":"Post-processing may have transformed the data.","enum":[1],"example":1}}},"data":{"type":"array","description":"An array of objects containing the reseller's cPanel accounts.","items":{"properties":{"user":{"example":"username","description":"The cPanel account's username.","format":"username","type":"string"},"domain":{"format":"domain","type":"string","description":"The cPanel account's domain.","example":"example.com"},"select":{"type":"string","description":"Whether the cPanel account's user is currently logged in.\n\n* `1` — Logged in.\n* An empty string — **Not** logged in.","enum":["1",""],"example":"1"}},"type":"object"}},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true}},"type":"object"},"func":{"description":"The name of the method called.","example":"list_accounts","type":"string"},"apiversion":{"type":"integer","example":3,"description":"The version of the API."}},"type":"object"}}},"description":"HTTP Request was successful."}},"parameters":[],"tags":["Resellers","Account Information"],"operationId":"Resellers-list_accounts","x-readonly":true}}},"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"x-tagGroups":[{"tags":["Account Information"],"name":"cPanel Account"}],"servers":[{"description":"A server running cPanel.","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute"}],"openapi":"3.0.2","tags":[{"name":"Resellers","description":"The Resellers module for UAPI."},{"description":"cPanel Account / Account Information","name":"Account Information"}],"security":[{"BasicAuth":[]}],"info":{"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"},"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/"},"externalDocs":{"url":"https://cpanel.net/developers/"}}},"Mime":{"add_hotlink":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"}},"security":[{"BasicAuth":[]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"x-tagGroups":[{"name":"Domain Management","tags":["Direct Link Protection (Hotlink)"]}],"servers":[{"variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"name":"Mime","description":"The Mime module for UAPI."},{"name":"Direct Link Protection (Hotlink)","description":"Domain Management / Direct Link Protection (Hotlink)"}],"paths":{"/Mime/add_hotlink":{"get":{"x-cpanel-available-version":"cPanel 11.42","summary":"Enable hotlink protection","x-codeSamples":[{"lang":"Shell","label":"CLI","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"},{"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","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mime_add_hotlink.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mime_add_hotlink.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mime/,\n    q/add_hotlink/,\n    {\n        'urls' => 'http://example.com/',\n        'extensions' => 'foo',\n        'redirect_url' => 'http://redirect.example.com/',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mime_add_hotlink.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mime_add_hotlink.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mime',\n    'add_hotlink',\n    array (\n        'urls' => 'http://example.com/',\n        'extensions' => 'foo',\n        'redirect_url' => 'http://redirect.example.com/',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"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.","x-cpanel-api-version":"UAPI","x-rollback":"clean","parameters":[{"schema":{"type":"string"},"description":"The site to hotlink protect.\n\n**Note:**\n\nTo protect multiple URLs, separate each URL with a newline character.","required":true,"examples":{"single":{"summary":"Add hotlink protection for a single site.","value":"http://example.com/"},"multiple":{"summary":"Add hotlink protection for multiple sites.","value":"http://example.com/\nhttp://foobar.com/"}},"name":"urls","in":"query"},{"description":"File types to hotlink protect.\n\n**Note:**\n\nTo protect multiple file types, use a comma-separated list.","required":true,"examples":{"single":{"summary":"Add hotlink protection for a single file extension.","value":"foo"},"multiple":{"value":"foo,bar","summary":"Add hotlink protection for multiple file extensions."}},"schema":{"type":"string"},"name":"extensions","in":"query"},{"name":"allow_null","in":"query","schema":{"example":1,"enum":[0,1],"type":"integer"},"description":"Whether the domain allows hotlinks.\n* `1` - Allows.\n* `0` - Does **not** allow.","required":false},{"schema":{"example":"http://redirect.example.com/","format":"url","type":"string"},"description":"The URL to which the system sends hotlinkers.","required":true,"name":"redirect_url","in":"query"}],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"description":"The version of the API.","example":3,"type":"integer"},"func":{"type":"string","description":"The name of the method called.","example":"add_hotlink"},"module":{"type":"string","example":"Mime","description":"The name of the module called."},"result":{"properties":{"messages":{"description":"List of messages generated by the API.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"metadata":{"properties":{}},"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"},"example":null,"type":"array","nullable":true},"data":{"default":null,"nullable":true,"type":"object"},"status":{"enum":[0,1],"example":1,"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","type":"integer"}}}},"type":"object"}}}}},"tags":["Mime","Direct Link Protection (Hotlink)"],"x-readonly":false,"operationId":"Mime-add_hotlink"}}}},"delete_hotlink":{"security":[{"BasicAuth":[]}],"tags":[{"name":"Mime","description":"The Mime module for UAPI."},{"description":"Domain Management / Direct Link Protection (Hotlink)","name":"Direct Link Protection (Hotlink)"}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute"}],"x-tagGroups":[{"tags":["Direct Link Protection (Hotlink)"],"name":"Domain Management"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"}},"paths":{"/Mime/delete_hotlink":{"get":{"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.","parameters":[],"summary":"Disable hotlink protection","x-cpanel-available-version":"cPanel 11.42","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Mime \\\n  delete_hotlink\n","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Mime/delete_hotlink","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mime_delete_hotlink.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mime_delete_hotlink.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mime/,\n    q/delete_hotlink/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mime_delete_hotlink.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mime_delete_hotlink.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mime',\n    'delete_hotlink'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-api-version":"UAPI","x-readonly":false,"operationId":"Mime-delete_hotlink","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"result":{"properties":{"metadata":{"properties":{}},"warnings":{"type":"array","nullable":true,"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"},"example":null},"data":{},"messages":{"description":"List of messages generated by the API.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null},"status":{"description":"* `1` - Success\n* `0` - Failed: Check the errors field for more details.","enum":[0,1],"example":1,"type":"integer"}},"type":"object"},"module":{"type":"string","example":"Mime","description":"The name of the module called."},"func":{"example":"delete_hotlink","description":"The name of the method called.","type":"string"},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}}}}},"description":"HTTP Request was successful."}},"tags":["Mime","Direct Link Protection (Hotlink)"]}}}},"add_mime":{"paths":{"/Mime/add_mime":{"get":{"parameters":[{"schema":{"example":"text/foo","format":"MIME","type":"string"},"required":true,"description":"The MIME type.","name":"type","in":"query"},{"schema":{"type":"string","example":".foo"},"required":true,"description":"The file extension.","name":"extension","in":"query"}],"description":"This function adds a MIME type to Apache.\n\n**Important:**\n\nWhen you disable the [Web Server](https://go.cpanel.net/serverroles) role, the system **disables** this function.","x-rollback":"clean","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"func":{"type":"string","description":"The name of the method called.","example":"add_mime"},"result":{"properties":{"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null},"messages":{"description":"List of messages generated by the API.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"warnings":{"type":"array","nullable":true,"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"},"example":null},"data":{"nullable":true,"type":"object","example":null,"enum":[null]},"metadata":{"properties":{}},"status":{"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","example":1,"enum":[0,1],"type":"integer"}}},"module":{"description":"The name of the module called.","example":"Mime","type":"string"}},"type":"object"}}}}},"tags":["Mime","Mime Type Management"],"operationId":"Mime-add_mime","x-readonly":false,"x-cpanel-available-version":"cPanel 11.42","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"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/Mime/add_mime?type=text%2ffoo&extension=.foo"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mime_add_mime.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mime_add_mime.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mime/,\n    q/add_mime/,\n    {\n        'type' => 'text/foo',\n        'extension' => '.foo',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mime_add_mime.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mime_add_mime.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mime',\n    'add_mime',\n    array (\n        'type' => 'text/foo',\n        'extension' => '.foo',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"summary":"Add MIME type to web server","x-cpanel-api-version":"UAPI"}}},"security":[{"BasicAuth":[]}],"x-tagGroups":[{"name":"Website Configuration","tags":["Mime Type Management"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"openapi":"3.0.2","tags":[{"name":"Mime","description":"The Mime module for UAPI."},{"name":"Mime Type Management","description":"Website Configuration / Mime Type Management"}],"servers":[{"description":"A server running cPanel.","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"url":"https://{host}:{port}/execute"}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"}}},"add_handler":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"},"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI"},"security":[{"BasicAuth":[]}],"x-tagGroups":[{"tags":["Handler Management"],"name":"Website Configuration"}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"description":"The Mime module for UAPI.","name":"Mime"},{"description":"Website Configuration / Handler Management","name":"Handler Management"}],"paths":{"/Mime/add_handler":{"get":{"x-rollback":"clean","description":"This function creates an Apache MIME type handler for a file extension.\n\n**Important:**\n\nWhen you disable the [Web Server](https://go.cpanel.net/serverroles) role, the system **disables** this function.","parameters":[{"schema":{"type":"string","example":".foo"},"required":true,"description":"The file extension.","in":"query","name":"extension"},{"schema":{"type":"string","example":"txt-foo"},"required":true,"description":"The Apache MIME handler.","name":"handler","in":"query"}],"summary":"Add web server MIME type handler","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Mime \\\n  add_handler \\\n  extension='.foo' \\\n  handler='txt-foo'\n","lang":"Shell","label":"CLI"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Mime/add_handler?extension=.foo&handler=txt-foo","label":"URL","lang":"HTTP"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mime_add_handler.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mime_add_handler.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mime/,\n    q/add_handler/,\n    {\n        'extension' => '.foo',\n        'handler' => 'txt-foo',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mime_add_handler.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mime_add_handler.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mime',\n    'add_handler',\n    array (\n        'extension' => '.foo',\n        'handler' => 'txt-foo',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 11.42","x-cpanel-api-version":"UAPI","operationId":"Mime-add_handler","x-readonly":false,"tags":["Mime","Handler Management"],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"func":{"type":"string","description":"The name of the method called.","example":"add_handler"},"result":{"type":"object","properties":{"status":{"type":"integer","example":1,"enum":[0,1],"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details."},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}},"data":{"enum":[null],"example":null,"nullable":true,"type":"object"},"warnings":{"nullable":true,"type":"array","example":null,"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"}},"metadata":{"properties":{}}}},"module":{"type":"string","example":"Mime","description":"The name of the module called."},"apiversion":{"example":3,"description":"The version of the API.","type":"integer"}},"type":"object"}}},"description":"HTTP Request was successful."}}}}}},"delete_mime":{"security":[{"BasicAuth":[]}],"servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"name":"Mime","description":"The Mime module for UAPI."},{"name":"Mime Type Management","description":"Website Configuration / Mime Type Management"}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"x-tagGroups":[{"name":"Website Configuration","tags":["Mime Type Management"]}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"}},"paths":{"/Mime/delete_mime":{"get":{"x-cpanel-available-version":"cPanel 11.42","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Mime \\\n  delete_mime \\\n  type='text/foo'\n","lang":"Shell","label":"CLI"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Mime/delete_mime?type=text%2ffoo","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mime_delete_mime.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mime_delete_mime.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mime/,\n    q/delete_mime/,\n    {\n        'type' => 'text/foo',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mime_delete_mime.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mime_delete_mime.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mime',\n    'delete_mime',\n    array (\n        'type' => 'text/foo',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Remove MIME type from web server","x-cpanel-api-version":"UAPI","x-readonly":false,"operationId":"Mime-delete_mime","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"result":{"properties":{"data":{"type":"object","nullable":true,"default":null},"warnings":{"nullable":true,"type":"array","example":null,"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"}},"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null},"errors":{"example":null,"description":"List of errors if the API failed.","items":{"type":"string"},"nullable":true,"type":"array"},"status":{"type":"integer","example":1,"enum":[0,1],"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details."}}},"module":{"example":"Mime","description":"The name of the module called.","type":"string"},"func":{"description":"The name of the method called.","example":"delete_mime","type":"string"},"apiversion":{"type":"integer","example":3,"description":"The version of the API."}},"type":"object"}}},"description":"HTTP Request was successful."}},"tags":["Mime","Mime Type Management"],"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.","parameters":[{"description":"The MIME type.","required":true,"schema":{"example":"text/foo","type":"string"},"name":"type","in":"query"}]}}}},"list_handlers":{"paths":{"/Mime/list_handlers":{"get":{"x-codeSamples":[{"lang":"Shell","label":"CLI","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"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mime_list_handlers.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mime_list_handlers.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mime/,\n    q/list_handlers/,\n    {\n        'type' => 'user',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mime_list_handlers.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mime_list_handlers.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mime',\n    'list_handlers',\n    array (\n        'type' => 'user',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Return web server's MIME handlers","x-cpanel-available-version":"cPanel 11.42","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.","x-cpanel-api-version":"UAPI","operationId":"Mime-list_handlers","x-readonly":true,"tags":["Mime","Handler Management"],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"type":"integer","description":"The version of the API.","example":3},"func":{"example":"list_handlers","description":"The name of the method called.","type":"string"},"module":{"description":"The name of the module called.","example":"Mime","type":"string"},"result":{"properties":{"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null},"warnings":{"type":"array","nullable":true,"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"},"example":null},"data":{"type":"array","items":{"type":"object","properties":{"extension":{"description":"The handler's extension. A valid file extension.","example":".foo","type":"string"},"origin":{"description":"The handler's owner.\n- system\n- user","example":"user","type":"string"},"handler":{"example":"text-foo","description":"The handler's name. A valid string.","type":"string"}}}},"metadata":{"properties":{"transformed":{"description":"Post-processing may have transformed the data.","enum":[1],"example":1,"type":"integer"}}},"status":{"enum":[0,1],"example":1,"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","type":"integer"}},"type":"object"}}}}},"description":"HTTP Request was successful."}},"parameters":[{"required":true,"description":"Whether to retrieve system or user handlers.","schema":{"enum":["system","user"],"example":"user","type":"string"},"name":"type","in":"query"}]}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"},"termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."},"security":[{"BasicAuth":[]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"name":"Website Configuration","tags":["Handler Management"]}],"openapi":"3.0.2","tags":[{"description":"The Mime module for UAPI.","name":"Mime"},{"name":"Handler Management","description":"Website Configuration / Handler Management"}],"servers":[{"description":"A server running cPanel.","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"url":"https://{host}:{port}/execute"}]},"get_redirect":{"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"x-tagGroups":[{"name":"Domain Management","tags":["Domain Redirection"]}],"servers":[{"variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"name":"Mime","description":"The Mime module for UAPI."},{"name":"Domain Redirection","description":"Domain Management / Domain Redirection"}],"security":[{"BasicAuth":[]}],"info":{"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/Mime/get_redirect":{"get":{"x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Mime \\\n  get_redirect \\\n  domain='example.com'\n","lang":"Shell","label":"CLI"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/Mime/get_redirect?domain=example.com"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mime_get_redirect.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mime_get_redirect.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mime/,\n    q/get_redirect/,\n    {\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mime_get_redirect.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mime_get_redirect.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mime',\n    'get_redirect',\n    array (\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"summary":"Return redirect URL for domain","x-cpanel-available-version":"cPanel 88","description":"This function retrieves a redirection URL for a domain.","x-cpanel-api-version":"UAPI","x-readonly":true,"operationId":"Mime-get_redirect","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"func":{"type":"string","example":"get_redirect","description":"The name of the method called."},"module":{"type":"string","example":"Mime","description":"The name of the module called."},"result":{"properties":{"messages":{"example":null,"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"},"errors":{"example":null,"description":"List of errors if the API failed.","items":{"type":"string"},"nullable":true,"type":"array"},"metadata":{"properties":{}},"warnings":{"example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","nullable":true,"type":"array"},"data":{"properties":{"url":{"example":"http://www.domain.com","description":"The URL to which to the domain redirects.","format":"url","type":"string"},"redirection_enabled":{"example":1,"enum":[0,1],"description":"Whether the domain redirects to another URL.\n* `1` - Redirects.\n* `0` - Doesn't redirect.","type":"integer"}},"type":"object"},"status":{"enum":[0,1],"example":1,"description":"* `1` - Success\n* `0` - Failed: Check the errors field for more details.","type":"integer"}},"type":"object"}}}}}}},"tags":["Mime","Domain Redirection"],"parameters":[{"in":"query","name":"domain","schema":{"example":"example.com","format":"domain","type":"string"},"description":"The domain's name.","required":true}]}}}},"add_redirect":{"paths":{"/Mime/add_redirect":{"get":{"x-rollback":"clean","x-cpanel-api-version":"UAPI","summary":"Add redirect to domain","x-cpanel-available-version":"cPanel 11.42","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Mime \\\n  add_redirect \\\n  domain='example.com' \\\n  redirect='http://example.com/'\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Mime/add_redirect?domain=example.com&redirect=http%3a%2f%2fexample.com%2f","label":"URL","lang":"HTTP"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mime_add_redirect.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mime_add_redirect.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mime/,\n    q/add_redirect/,\n    {\n        'domain' => 'example.com',\n        'redirect' => 'http://example.com/',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mime_add_redirect.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mime_add_redirect.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mime',\n    'add_redirect',\n    array (\n        'domain' => 'example.com',\n        'redirect' => 'http://example.com/',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"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","x-readonly":false,"parameters":[{"required":true,"description":"The domain from which to redirect.","schema":{"example":"example.com","format":"domain","type":"string"},"name":"domain","in":"query"},{"in":"query","name":"src","description":"A specific page from which to redirect.","required":false,"schema":{"default":"/","example":"/specific-page","type":"string","format":"url-path"}},{"in":"query","name":"redirect","schema":{"type":"string","format":"url","example":"http://example.com/"},"required":true,"description":"The URL to which to redirect."},{"name":"type","in":"query","schema":{"type":"string","enum":["permanent","temp"],"default":"permanent","example":"permanent"},"description":"Whether the redirect is temporary.\n * `permanent`\n * `temp`","required":false},{"name":"redirect_wildcard","in":"query","description":"Whether to redirect all files within a directory to the same\nfilename within the destination directory.\n* `1` - Redirect all files within the directory.\n* `0` - Do **not** redirect all files within the directory.","required":false,"schema":{"example":1,"enum":[0,1],"default":0,"type":"integer"}},{"in":"query","name":"redirect_www","schema":{"type":"integer","default":0,"example":0},"description":"Whether to redirect domains with or without `www`.\n* `2` - Redirect with `www`.\n* `1` - Redirect without `www`.\n* `0` - Redirect with **and** without `www`.","required":false}],"tags":["Mime","Domain Redirection"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"module":{"type":"string","description":"The name of the module called.","example":"Mime"},"result":{"properties":{"metadata":{"properties":{}},"data":{"nullable":true,"type":"object","default":null},"warnings":{"type":"array","nullable":true,"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"},"example":null},"messages":{"description":"List of messages generated by the API.","items":{"type":"string"},"example":["Htaccess Installed"],"type":"array","nullable":true},"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null},"status":{"example":1,"enum":[0,1],"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","type":"integer"}}},"func":{"type":"string","example":"add_redirect","description":"The name of the method called."}},"type":"object"}}}}}}}},"info":{"title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"tags":[{"name":"Mime","description":"The Mime module for UAPI."},{"name":"Domain Redirection","description":"Domain Management / Domain Redirection"}],"openapi":"3.0.2","servers":[{"url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"description":"A server running cPanel."}],"x-tagGroups":[{"name":"Domain Management","tags":["Domain Redirection"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"security":[{"BasicAuth":[]}]},"delete_handler":{"paths":{"/Mime/delete_handler":{"get":{"x-cpanel-api-version":"UAPI","summary":"Remove web server MIME type handler","x-cpanel-available-version":"cPanel 11.42","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"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mime_delete_handler.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mime_delete_handler.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mime/,\n    q/delete_handler/,\n    {\n        'extension' => '.foo',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mime_delete_handler.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mime_delete_handler.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mime',\n    'delete_handler',\n    array (\n        'extension' => '.foo',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"operationId":"Mime-delete_handler","x-readonly":false,"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"result":{"properties":{"data":{"default":null,"nullable":true,"type":"object"},"warnings":{"type":"array","nullable":true,"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"},"example":null},"metadata":{"properties":{}},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"},"status":{"example":1,"enum":[0,1],"description":"* `1` - Success.\n* `0` - Failed: Check the `errors` field for more details.","type":"integer"}}},"module":{"type":"string","example":"Mime","description":"The name of the module called."},"func":{"example":"delete_handler","description":"The name of the method called.","type":"string"}}}}},"description":"HTTP Request was successful."}},"tags":["Mime","Handler Management"],"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.","parameters":[{"name":"extension","in":"query","schema":{"example":".foo","type":"string"},"description":"The file extension.","required":true}]}}},"info":{"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"x-tagGroups":[{"name":"Website Configuration","tags":["Handler Management"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"openapi":"3.0.2","servers":[{"variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"tags":[{"name":"Mime","description":"The Mime module for UAPI."},{"name":"Handler Management","description":"Website Configuration / Handler Management"}],"security":[{"BasicAuth":[]}]},"redirect_info":{"paths":{"/Mime/redirect_info":{"get":{"summary":"Return redirect information","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Mime \\\n  redirect_info \\\n  url='http://redirect.example.com' \\\n  domain='example.com'\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Mime/redirect_info?url=http%3a%2f%2fredirect.example.com&domain=example.com","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mime_redirect_info.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mime_redirect_info.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mime/,\n    q/redirect_info/,\n    {\n        'url' => 'http://redirect.example.com',\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mime_redirect_info.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mime_redirect_info.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mime',\n    'redirect_info',\n    array (\n        'url' => 'http://redirect.example.com',\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"x-cpanel-available-version":"cPanel 11.42","x-cpanel-api-version":"UAPI","x-readonly":true,"operationId":"Mime-redirect_info","tags":["Mime","Handler Management"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"func":{"type":"string","example":"redirect_info","description":"The name of the method called."},"module":{"example":"Mime","description":"The name of the module called.","type":"string"},"result":{"type":"object","properties":{"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."},"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null},"metadata":{"properties":{}},"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API."},"data":{"properties":{"url":{"description":"The redirect's URL.","example":"http://redirect.example.com","format":"url","type":"string"},"domain":{"type":"string","description":"The redirect's domain, or `** All Public Domains **`.\n\n* A valid domain.\n* `** All Public Domains **`","example":"example.com","anyOf":[{"description":"The redirect's domain.","format":"domain","type":"string"},{"type":"string","description":"** All Public Domains **"}]}},"type":"object"},"status":{"type":"integer","example":1,"enum":[1,0],"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details."}}},"apiversion":{"example":3,"description":"The version of the API.","type":"integer"}}}}}}},"description":"This function retrieves redirect information for a URL or `** All Public Domains **`.\n\n**Important:**\n\nWhen you disable the [Web Server role](https://go.cpanel.net/serverroles), the system **disables** this function.","x-cpanel-internal-only":false,"parameters":[{"in":"query","name":"url","schema":{"format":"url","type":"string","example":"http://redirect.example.com"},"description":"The URL for which to retrieve redirector information.","required":true},{"schema":{"example":"example.com","type":"string","format":"domain"},"required":true,"description":"The domain for which to retrieve redirector information.","name":"domain","in":"query"}]}}},"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/"},"externalDocs":{"url":"https://cpanel.net/developers/"},"openapi":"3.0.2","tags":[{"description":"Website Configuration / Handler Management","name":"Handler Management"},{"name":"Mime","description":"The Mime module for UAPI."}],"servers":[{"variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"name":"Website Configuration","tags":["Handler Management"]}],"security":[{"BasicAuth":[]}]},"delete_redirect":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/"},"security":[{"BasicAuth":[]}],"servers":[{"url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"name":"Mime","description":"The Mime module for UAPI."},{"description":"Domain Management / Domain Redirection","name":"Domain Redirection"}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"x-tagGroups":[{"name":"Domain Management","tags":["Domain Redirection"]}],"paths":{"/Mime/delete_redirect":{"get":{"parameters":[{"in":"query","name":"domain","required":true,"description":"The domain name.","schema":{"example":"example.com","format":"domain","type":"string"}},{"in":"query","name":"docroot","schema":{"type":"string","format":"path","example":"/home/example/public_html/"},"required":false,"description":"The absolute file path to the document root containing the `.htaccess` file to change.\n\nIf you don't pass this parameter, the system looks up the document root from the `domain` parameter's value."},{"name":"src","in":"query","description":"The specific page that redirects visitors.","required":false,"schema":{"example":"redirectpage.html","default":"","type":"string"}},{"schema":{"type":"string","example":"redirectme http://redirectme.com/","default":""},"required":false,"description":"An argument string that contains the arguments of a `Redirect` or `RedirectMatch` directives.","in":"query","name":"args"}],"description":"This function removes a redirect from a domain.\n\n**Important:**\n\nWhen you disable the [Web Server role](https://go.cpanel.net/serverroles#roles), the system **disables** this function.","x-rollback":"clean","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"description":"The version of the API.","example":3,"type":"integer"},"func":{"type":"string","example":"delete_redirect","description":"The name of the method called."},"module":{"description":"The name of the module called.","example":"Mime","type":"string"},"result":{"properties":{"status":{"type":"integer","example":1,"enum":[0,1],"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details."},"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null,"type":"array","nullable":true},"data":{"type":"object","nullable":true,"default":null},"messages":{"description":"List of messages generated by the API.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"metadata":{"properties":{}},"errors":{"nullable":true,"type":"array","example":null,"description":"List of errors if the API failed.","items":{"type":"string"}}}}}}}}}},"tags":["Mime","Domain Redirection"],"operationId":"Mime-delete_redirect","x-readonly":false,"x-cpanel-available-version":"cPanel 11.42","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Mime \\\n  delete_redirect \\\n  domain='example.com'\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Mime/delete_redirect?domain=example.com","label":"URL","lang":"HTTP"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mime_delete_redirect.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mime_delete_redirect.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mime/,\n    q/delete_redirect/,\n    {\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mime_delete_redirect.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mime_delete_redirect.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mime',\n    'delete_redirect',\n    array (\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"summary":"Remove redirect from domain","x-cpanel-api-version":"UAPI"}}}},"list_mime":{"x-tagGroups":[{"name":"Website Configuration","tags":["Mime Type Management"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"tags":[{"name":"Mime","description":"The Mime module for UAPI."},{"name":"Mime Type Management","description":"Website Configuration / Mime Type Management"}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}}}],"security":[{"BasicAuth":[]}],"info":{"termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/Mime/list_mime":{"get":{"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"type":"integer","description":"The version of the API.","example":3},"module":{"description":"The name of the module called.","example":"Mime","type":"string"},"result":{"properties":{"metadata":{"properties":{"transformed":{"description":"Post-processing may have transformed the data.","example":1,"enum":[1],"type":"integer"}}},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"status":{"description":"* 1 - Success\n* 0 - Failed: Check the errors field for more details.","example":1,"enum":[0,1],"type":"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"},"example":null,"type":"array","nullable":true},"data":{"items":{"properties":{"type":{"description":"The MIME type.","example":"application/foo","type":"string"},"extension":{"type":"string","example":".foo","description":"The file extension."},"origin":{"type":"string","example":"user","enum":["system","user"],"description":"The handler's owner.\n*  `system`\n*  `user`"}},"type":"object"},"type":"array"},"messages":{"example":null,"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"}},"type":"object"},"func":{"type":"string","example":"list_mime","description":"The name of the method called."}},"type":"object"}}}}},"parameters":[{"description":"The MIME types to list.\n* `system` — List the Apache system MIME types.\n* `user` — List the Apache user MIME types.","required":true,"schema":{"example":"user","enum":["system","user"],"type":"string"},"in":"query","name":"type"}],"tags":["Mime","Mime Type Management"],"x-readonly":true,"operationId":"Mime-list_mime","x-cpanel-available-version":"cPanel 11.42","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"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mime_list_mime.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mime_list_mime.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mime/,\n    q/list_mime/,\n    {\n        'type' => 'user',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mime_list_mime.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mime_list_mime.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mime',\n    'list_mime',\n    array (\n        'type' => 'user',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Return web server's MIME types","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.","x-cpanel-api-version":"UAPI"}}}},"list_redirects":{"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"x-tagGroups":[{"tags":["Domain Redirection"],"name":"Domain Management"}],"servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}}}],"openapi":"3.0.2","tags":[{"name":"Mime","description":"The Mime module for UAPI."},{"name":"Domain Redirection","description":"Domain Management / Domain Redirection"}],"security":[{"BasicAuth":[]}],"info":{"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/Mime/list_redirects":{"get":{"x-readonly":true,"operationId":"Mime-list_redirects","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"func":{"description":"The name of the method called.","example":"list_redirects","type":"string"},"module":{"example":"Mime","description":"The name of the module called.","type":"string"},"result":{"properties":{"status":{"type":"integer","example":1,"enum":[1,0],"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details."},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}},"errors":{"example":null,"items":{"type":"string"},"description":"List of errors if the API failed.","nullable":true,"type":"array"},"metadata":{"properties":{"transformed":{"enum":[1],"example":1,"description":"Post-processing may have transformed the data.","type":"integer"}}},"warnings":{"example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","nullable":true,"type":"array"},"data":{"type":"array","items":{"properties":{"matchwww_text":{"description":"Whether the [*Redirect with or without www.* option](https://go.cpanel.net/Redirects) is active.\n\n* `checked` — The *Redirect with or without www.* option is active.","example":"checked","enum":["checked"],"type":"string"},"targeturl":{"example":"http://redirect.example.com/","description":"The redirect's destination URL.","type":"string","format":"url"},"domain":{"type":"string","format":"domain","example":"example.com","description":"The domain to redirect."},"urldomain":{"type":"string","format":"domain","description":"The domain to redirect.","example":"example.com"},"opts":{"type":"string","example":"L","description":"The options that the function passes to Apache as part of\nthe [Rewrite rule](https://httpd.apache.org/docs/2.4/rewrite/flags.html#flag_l)."},"kind":{"type":"string","description":"The kind of redirect.\n\n* `rewrite` — The request sent a redirect to another path on the server.\n* `redirect` — The request sent a redirect for the URL.\n* `redirectmatch` — The request sent a redirect based on a regular\nexpression match of the URL.","enum":["rewrite","redirect","redirectmatch"],"example":"rewrite"},"displaydomain":{"type":"string","example":"ALL","enum":["ALL"],"description":"The domain to redirect.\n\n* `ALL` is the only possible value."},"wildcard":{"description":"Whether the wildcard subdomains match.\n\n* `1` — Matches.\n* `0` — Does **not** match.","example":1,"enum":[1,0],"type":"integer"},"type":{"type":"string","description":"Whether the redirect is permanent or temporary.\n\n* `permanent` — The redirect is permanent.\n* `temporary` — The redirect is temporary.","enum":["permanent","temporary"],"example":"permanent"},"destination":{"description":"The redirect's destination URL.","example":"http://redirect.example.com/","format":"url","type":"string"},"wildcard_text":{"type":"string","description":"Whether the [*Wild Card Redirect*](https://go.cpanel.net/Redirects) option is active.\n\n* `checked` — The *Wild Card Redirect* option is active.","example":"checked","enum":["checked"]},"docroot":{"type":"string","format":"path","description":"The absolute file path to the source domain's document root.","example":"/home/example/public_html"},"statuscode":{"description":"The [HTTP Status Code](https://en.wikipedia.org/wiki/List_of_HTTP_status_codes) of the request","example":"301","type":"string"},"displaysourceurl":{"type":"string","format":"url-path","description":"The path to the file within the domain to test, relative to the home directory.","example":"/marceau.html"},"sourceurl":{"example":"/marceau.html","description":"The path to the file within the domain to test, relative to the home directory.","type":"string","format":"url-path"},"source":{"format":"url-path","type":"string","example":"/marceau.html","description":"The path to the file within the domain to test, relative to the home directory."},"matchwww":{"description":"Whether the redirect matches `www.` subdomains.\n* `1` — Matches.\n* `0` — Does not match.","enum":[1,0],"example":1,"type":"integer"}},"type":"object"}}},"type":"object"},"apiversion":{"type":"integer","example":3,"description":"The version of the API."}}}}},"description":"HTTP Request was successful."}},"parameters":[{"in":"query","name":"regex","schema":{"type":"string","example":"\"^[a-z0-9_-]{6,18}$\""},"required":false,"description":"A Perl regular expression that filters the results. The system matches the regular expression to the `sourceurl` return value."},{"description":"The string with which to filter results.\n\n** Note: **\n\nThis will **only** return results that match the `destination` parameter **exactly**.","required":false,"schema":{"type":"string","example":"http://example.tld"},"in":"query","name":"destination"}],"tags":["Mime","Domain Redirection"],"x-cpanel-api-version":"UAPI","description":"This function lists the redirects in an account's .htaccess files.\n\n**Important:**\n\nWhen you disable the [Web Server role](https://go.cpanel.net/serverroles#roles), the system **disables** this function.","summary":"Return .htaccess files' redirects","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Mime \\\n  list_redirects\n","lang":"Shell","label":"CLI"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/Mime/list_redirects"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mime_list_redirects.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mime_list_redirects.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mime/,\n    q/list_redirects/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mime_list_redirects.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mime_list_redirects.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mime',\n    'list_redirects'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 11.42"}}}},"list_hotlinks":{"security":[{"BasicAuth":[]}],"x-tagGroups":[{"tags":["Direct Link Protection (Hotlink)"],"name":"Domain Management"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"servers":[{"url":"https://{host}:{port}/execute","variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"description":"The cPanel port.","default":"2083"}},"description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"name":"Mime","description":"The Mime module for UAPI."},{"description":"Domain Management / Direct Link Protection (Hotlink)","name":"Direct Link Protection (Hotlink)"}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"},"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"}},"paths":{"/Mime/list_hotlinks":{"get":{"parameters":[],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"type":"integer","description":"The version of the API.","example":3},"func":{"type":"string","description":"The name of the method called.","example":"list_hotlinks"},"module":{"type":"string","example":"Mime","description":"The name of the module called."},"result":{"properties":{"status":{"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","enum":[0,1],"example":1,"type":"integer"},"metadata":{"properties":{}},"warnings":{"type":"array","nullable":true,"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"},"example":null},"data":{"type":"object","properties":{"state":{"type":"string","description":"Whether hotlink protection is enabled.\n\n* `enabled`\n* `disabled`","example":"disabled","enum":["enabled","disabled"]},"extensions":{"type":"string","description":"A comma-separated list of file types to hotlink protect.","example":"jpg,jpeg,gif,png,bmp"},"redirect_url":{"description":"The URL to which to send hotlinkers.","example":"http://redirect.example.com/","format":"url","type":"string"},"allow_null":{"enum":[0,1],"example":1,"description":"Whether the domain allows hotlinks from an empty or null referral URL.\n* `1` - Allows hotlinks.\n* `0` - Does not allow hotlinks.","type":"integer"},"urls":{"type":"array","items":{"example":"http://example.com/","type":"string","format":"url"},"description":"An array of the domains with hotlink protection."}}},"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true}},"type":"object"}}}}}}},"tags":["Mime","Direct Link Protection (Hotlink)"],"operationId":"Mime-list_hotlinks","x-readonly":true,"description":"This function lists domains with hotlink protection.\n\n**Important:**\n\nWhen you **disable** the [Web Server](https://go.cpanel.net/serverroles) role, the system **disables** this function.","summary":"Return domains with hotlink protection","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Mime \\\n  list_hotlinks\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Mime/list_hotlinks","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mime_list_hotlinks.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mime_list_hotlinks.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mime/,\n    q/list_hotlinks/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mime_list_hotlinks.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mime_list_hotlinks.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mime',\n    'list_hotlinks'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-available-version":"cPanel 11.42","x-cpanel-api-version":"UAPI"}}}}},"Stats":{"get_stats_daily":{"security":[{"BasicAuth":[]}],"servers":[{"description":"A server running cPanel & WHM.","url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel & WHM.","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}}}],"openapi":"3.0.2","tags":[{"description":"The Stats module for UAPI.","name":"Stats"},{"name":"Domain Statistics","description":"Statistics / Domain Statistics"}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"x-tagGroups":[{"tags":["Domain Statistics"],"name":"Statistics"}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.136.0.9999","termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"paths":{"/Stats/get_stats_daily":{"get":{"parameters":[{"in":"query","name":"domain","schema":{"example":"example.com","type":"string","format":"domain"},"description":"The domain to retrieve statistics for. Must be owned by the current cPanel user.","required":true}],"responses":{"200":{"content":{"application/json":{"examples":{"stats_by_domain":{"value":{"result":{"data":{"domain":"example.com","stats":{"2024-02-02":{"pages":14,"visits":7,"hits":43,"bandwidth":888296},"2024-02-01":{"pages":6,"visits":5,"hits":6,"bandwidth":81110}}}}},"summary":"Object containing daily stats for the domain"}},"schema":{"type":"object","properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"module":{"description":"The name of the module called.","example":"Stats","type":"string"},"result":{"properties":{"status":{"type":"integer","enum":[0,1],"example":1,"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details."},"data":{"type":"object","properties":{"domain":{"description":"The domain associated with the returned daily stats.\n","example":"example.com","type":"string"},"stats":{"additionalProperties":{"type":"object","properties":{"bandwidth":{"example":81110,"description":"The bandwidth used on this day (in bytes).","type":"integer"},"hits":{"type":"integer","description":"The number of hits recorded on this day.","example":6},"visits":{"description":"The number of visits recorded on this day.","example":5,"type":"integer"},"pages":{"example":6,"description":"The number of pages viewed on this day.","type":"integer"}}},"type":"object","nullable":false,"description":"A map of date strings (YYYY-MM-DD) to daily statistics.\nUp to 45 days of history are returned. Gaps between the\nfirst available stat and yesterday are filled with zeros.\n","example":{"2024-02-02":{"hits":43,"bandwidth":888296,"pages":14,"visits":7},"2024-02-01":{"bandwidth":81110,"hits":6,"visits":5,"pages":6}}}}},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"messages":{"items":{"type":"string"},"description":"List of messages generated by the API.","example":null,"type":"array","nullable":true},"metadata":{"properties":{}},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true}},"type":"object"},"func":{"type":"string","example":"get_stats_daily","description":"The name of the method called."}}}}},"description":"HTTP Request was successful."}},"tags":["Stats","Domain Statistics"],"x-readonly":true,"operationId":"Stats-get_stats_daily","description":"This function returns the daily AwStats statistics for a domain.","x-cpanel-available-version":"cPanel 132","summary":"Return daily AwStats statistics for a domain","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Stats \\\n  get_stats_daily \\\n  domain='example.com'\n","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Stats/get_stats_daily?domain=example.com","label":"URL","lang":"HTTP"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\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/<theme_name>/\n#    to .../frontend/<theme_name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\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/<theme_name>/\n//    to .../frontend/<theme_name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}\n","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-api-version":"UAPI"}}}},"list_sites":{"paths":{"/Stats/list_sites":{"get":{"x-readonly":true,"operationId":"Stats-list_sites","tags":["Stats","Domain Statistics"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"result":{"type":"object","properties":{"status":{"type":"integer","description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","enum":[0,1],"example":1},"metadata":{"properties":{}},"data":{"type":"array","items":{"type":"object","properties":{"ssl":{"description":"Whether the function generates statistics from SSL requests.\n* `1` - Generates statistics for SSL requests.\n* `0` - Generates statistics for non-SSL requests.","example":1,"enum":[0,1],"type":"integer"},"domain":{"type":"string","format":"domain","description":"The domain for which to display statistics.","example":"example.com"},"all_domains":{"type":"integer","description":"Whether the statistics file's filepath is for all the domains on a cPanel account.\n* `1` - All domains.\n* `0` - An individual domain.","example":1,"enum":[0,1]},"path":{"example":"/tmp/user/webalizer/index.html","description":"The filepath to the statistics file.","type":"string","format":"path"}}}},"warnings":{"example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","nullable":true,"type":"array"},"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null},"errors":{"example":null,"items":{"type":"string"},"description":"List of errors if the API failed.","nullable":true,"type":"array"}}},"module":{"type":"string","description":"The name of the module called.","example":"Stats"},"func":{"type":"string","description":"The name of the method called.","example":"list_sites"},"apiversion":{"example":3,"description":"The version of the API.","type":"integer"}}}}}}},"parameters":[{"schema":{"enum":["webalizer","analog"],"example":"webalizer","type":"string"},"description":"The statistics engine.\n* `webalizer`\n* `analog`","required":true,"in":"query","name":"engine"},{"required":false,"description":"The web traffic type.\n * `http`\n * `ftp`","schema":{"type":"string","example":"http","enum":["http","ftp"],"default":"http"},"in":"query","name":"traffic"}],"x-cpanel-api-version":"UAPI","summary":"Return Analog statistics for all domains","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Stats \\\n  list_sites \\\n  engine='webalizer'\n"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/Stats/list_sites?engine=webalizer"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\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/<theme_name>/\n#    to .../frontend/<theme_name>/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}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\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/<theme_name>/\n//    to .../frontend/<theme_name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-available-version":"cPanel 84","description":"This function displays the Analog statistics for the domains on a cPanel account."}}},"info":{"termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"servers":[{"description":"A server running cPanel.","variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute"}],"openapi":"3.0.2","tags":[{"description":"The Stats module for UAPI.","name":"Stats"},{"name":"Domain Statistics","description":"Statistics / Domain Statistics"}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"x-tagGroups":[{"tags":["Domain Statistics"],"name":"Statistics"}],"security":[{"BasicAuth":[]}]},"get_bandwidth":{"paths":{"/Stats/get_bandwidth":{"get":{"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"apiversion":{"description":"The version of the API.","example":3,"type":"integer"},"module":{"example":"Stats","description":"The name of the module called.","type":"string"},"result":{"type":"object","properties":{"data":{"type":"array","items":{"properties":{"month_start":{"description":"The beginning of the report window.","example":1561957200,"format":"unix_timestamp","type":"integer"},"bytes":{"minimum":0,"description":"The domain's bandwidth usage, in bytes.","example":74845,"type":"integer"},"protocol":{"example":"imap","enum":["http","imap","smtp","pop3","ftp"],"description":"The protocol for which to provide data.\n  * `http`\n  * `imap`\n  * `smtp`\n  * `pop3`\n  * `ftp`","type":"string"},"domain":{"example":"example.com","description":"The domain for which to display bandwidth statistics.\n\n**Note:**\n\nThe function only returns this value if the `protocol` return's value is `http`.","format":"domain","type":"string"}},"type":"object"}},"warnings":{"example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","nullable":true,"type":"array"},"metadata":{"properties":{"transformed":{"type":"integer","example":1,"enum":[1],"description":"Post-processing may have transformed the data."}}},"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null},"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null},"status":{"enum":[0,1],"example":1,"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","type":"integer"}}},"func":{"type":"string","description":"The name of the method called.","example":"get_bandwidth"}},"type":"object"}}},"description":"HTTP Request was successful."}},"tags":["Stats","Domain Statistics"],"parameters":[{"name":"timezone","in":"query","required":false,"description":"The timezone in which to report the data, in [Olson tz format](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones).\n\n**Note:**\n\nThis parameter defaults to the server's timezone.","schema":{"type":"string","example":"America/Chicago"}}],"x-readonly":true,"operationId":"Stats-get_bandwidth","x-cpanel-api-version":"UAPI","description":"This function retrieves a list of bandwidth records for the domains on a cPanel account.\n\n**Note:**\n\nThis function also returns the bandwidth use of a [distributed cPanel account](https://docs.cpanel.net/knowledge-base/cpanel-product/cpanel-glossary#distributed-cpanel-account).\n\n**Warning:**\n\nThis function requires the _Bandwidth Stats_ feature. To enable this feature, use WHM's [_Feature Manager_](https://go.cpanel.net/whmdocsFeatureManager)\ninterface (_WHM >> Home >> Packages >> Feature Manager_).","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Stats \\\n  get_bandwidth\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Stats/get_bandwidth","label":"URL","lang":"HTTP"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\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/<theme_name>/\n#    to .../frontend/<theme_name>/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}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\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/<theme_name>/\n//    to .../frontend/<theme_name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Return bandwidth statistics for all domains","x-cpanel-available-version":"cPanel 84"}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999"},"security":[{"BasicAuth":[]}],"openapi":"3.0.2","servers":[{"variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"tags":[{"description":"The Stats module for UAPI.","name":"Stats"},{"description":"Statistics / Domain Statistics","name":"Domain Statistics"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"x-tagGroups":[{"tags":["Domain Statistics"],"name":"Statistics"}]},"list_stats_by_domain":{"security":[{"BasicAuth":[]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"tags":["Domain Statistics"],"name":"Statistics"}],"openapi":"3.0.2","servers":[{"variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"tags":[{"name":"Stats","description":"The Stats module for UAPI."},{"description":"Statistics / Domain Statistics","name":"Domain Statistics"}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"paths":{"/Stats/list_stats_by_domain":{"get":{"x-cpanel-api-version":"UAPI","description":"This function returns a domain's Analog statistics.","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Stats \\\n  list_stats_by_domain \\\n  engine='analog' \\\n  domain='example.com'\n","lang":"Shell","label":"CLI"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Stats/list_stats_by_domain?engine=analog&domain=example.com","lang":"HTTP","label":"URL"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\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/<theme_name>/\n#    to .../frontend/<theme_name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\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/<theme_name>/\n//    to .../frontend/<theme_name>/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\nheader('Content-Type: text/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}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 84","summary":"Return Analog statistics for specified domain","operationId":"Stats-list_stats_by_domain","x-readonly":true,"parameters":[{"description":"The statistics engine. `analog` is the only possible value.","required":true,"schema":{"example":"analog","enum":["analog"],"type":"string"},"name":"engine","in":"query"},{"in":"query","name":"domain","required":true,"description":"The domain from which to retrieve statistics.","schema":{"example":"example.com","type":"string","format":"domain"}},{"in":"query","name":"ssl","schema":{"default":1,"example":1,"enum":[0,1],"type":"integer"},"required":false,"description":"Whether to return statistics from SSL requests.\n  * `1` - Return statistics for SSL requests.\n  * `0` - Return statistics for non-SSL requests."}],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"description":"The version of the API.","example":3,"type":"integer"},"module":{"example":"Stats","description":"The name of the module called.","type":"string"},"result":{"properties":{"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"messages":{"description":"List of messages generated by the API.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"warnings":{"nullable":true,"type":"array","example":null,"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"}},"data":{"type":"array","items":{"type":"object","properties":{"date":{"example":1565795929,"description":"The current date and time.","type":"integer","format":"unix_timestamp"},"url":{"example":"tmp/cptest/analog/8.html.com","description":"The URL of the file from which the system generates statistics reports.","type":"string"}}}},"metadata":{"properties":{}},"status":{"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","example":1,"enum":[0,1],"type":"integer"}},"type":"object"},"func":{"example":"list_stats_by_domain","description":"The name of the method called.","type":"string"}}}}}}},"tags":["Stats","Domain Statistics"]}}}},"get_site_errors":{"info":{"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"x-tagGroups":[{"name":"Statistics","tags":["Domain Statistics"]}],"tags":[{"name":"Stats","description":"The Stats module for UAPI."},{"name":"Domain Statistics","description":"Statistics / Domain Statistics"}],"openapi":"3.0.2","servers":[{"variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"security":[{"BasicAuth":[]}],"paths":{"/Stats/get_site_errors":{"get":{"operationId":"Stats-get_site_errors","x-readonly":true,"tags":["Stats","Domain Statistics"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"func":{"type":"string","example":"get_site_errors","description":"The name of the method called."},"result":{"type":"object","properties":{"data":{"type":"array","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"}},"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings\ndescribe non-critical failures or other problematic conditions\nnoted while running a API.","example":null,"type":"array","nullable":true},"metadata":{"properties":{"transformed":{"type":"integer","enum":[1],"example":1,"description":"Post-processing may have transformed the data."}}},"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}},"status":{"type":"integer","description":"* `1` - Success\n* `0` - Failed. Check the errors field for more details.","example":1,"enum":[0,1]}}},"module":{"example":"Stats","description":"The name of the module called.","type":"string"}},"type":"object"}}}}},"parameters":[{"in":"query","name":"domain","required":true,"description":"The domain for which to return error log entries.","schema":{"example":"example.com","type":"string","format":"domain"}},{"name":"log","in":"query","required":false,"description":"The [Apache log file](https://go.cpanel.net/cpanellogfiles) to query.\nThis parameter defaults to error.\n\n* `error` - The `/var/log/apache2/error_log` file.\n* `suexec` - The `/var/log/apache2/suexec_log` file.","schema":{"type":"string","enum":["error","suexec"],"example":"suexec"}},{"in":"query","name":"maxlines","required":false,"description":"The number of lines to retrieve from the error log.","schema":{"maximum":5000,"type":"integer","default":300,"example":250,"minimum":1}}],"x-cpanel-api-version":"UAPI","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Stats \\\n  get_site_errors \\\n  domain='example.com'\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Stats/get_site_errors?domain=example.com","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\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/<theme_name>/\n#    to .../frontend/<theme_name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\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/<theme_name>/\n//    to .../frontend/<theme_name>/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\nheader('Content-Type: text/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}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 84","summary":"Return specified domain access log","description":"This function returns entries from a domain's error log."}}}}},"Parser":{"firstfile_relative_uri":{"paths":{"/Parser/firstfile_relative_uri":{"get":{"x-cpanel-api-version":"UAPI","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Parser \\\n  firstfile_relative_uri\n","label":"CLI","lang":"Shell"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/Parser/firstfile_relative_uri"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Parser_firstfile_relative_uri.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Parser_firstfile_relative_uri.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Parser/,\n    q/firstfile_relative_uri/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Parser_firstfile_relative_uri.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Parser_firstfile_relative_uri.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Parser',\n    'firstfile_relative_uri'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"summary":"Return session relative URI","x-cpanel-available-version":"cPanel 11.42","description":"This function reports the first file's URI, relative to the cPanel base directory.","x-readonly":true,"operationId":"Parser-firstfile_relative_uri","parameters":[],"tags":["Parser","URL Parsing"],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"module":{"example":"Parser","description":"The name of the module called.","type":"string"},"result":{"type":"object","properties":{"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null},"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null},"data":{"properties":{"uri":{"description":"The file's absolute file path.","example":"/usr/local/cpanel/base/favicon.ico","type":"string"}},"type":"object"},"warnings":{"nullable":true,"type":"array","example":null,"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"}},"metadata":{"properties":{}},"status":{"enum":[0,1],"example":1,"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","type":"integer"}}},"func":{"description":"The name of the method called.","example":"firstfile_relative_uri","type":"string"},"apiversion":{"example":3,"description":"The version of the API.","type":"integer"}}}}},"description":"HTTP Request was successful."}}}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"security":[{"BasicAuth":[]}],"x-tagGroups":[{"tags":["URL Parsing"],"name":"API Development Tools"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"url":"https://{host}:{port}/execute"}],"tags":[{"name":"Parser","description":"The Parser module for UAPI."},{"description":"API Development Tools / URL Parsing","name":"URL Parsing"}]}},"Quota":{"get_quota_info":{"security":[{"BasicAuth":[]}],"tags":[{"description":"The Quota module for UAPI.","name":"Quota"},{"name":"Disk Quotas","description":"cPanel Account / Disk Quotas"}],"openapi":"3.0.2","servers":[{"variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"x-tagGroups":[{"tags":["Disk Quotas"],"name":"cPanel Account"}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"}},"paths":{"/Quota/get_quota_info":{"get":{"x-readonly":true,"operationId":"Quota-get_quota_info","tags":["Quota","Disk Quotas"],"parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"module":{"example":"Quota","description":"The name of the module called.","type":"string"},"result":{"type":"object","properties":{"data":{"properties":{"inode_limit":{"oneOf":[{"type":"integer","enum":[0],"description":"Unlimited or disabled server quotas."},{"type":"integer","minimum":1,"description":"A positive integer."}],"description":"The account's inode quota limit.\n\n* `0` — Unlimited or disabled server quotas.","example":0},"megabytes_remain":{"description":"The account's available disk space in, megabytes (MB).\n\n* `0.00` — Unlimited or disabled server quotas.","oneOf":[{"enum":[0],"description":"Unlimited or disabled server quotas.","type":"number"},{"description":"A decimal number.","minimum":1,"type":"number"}],"example":0},"megabytes_used":{"oneOf":[{"description":"Unlimited or disabled server quotas.","enum":[0],"type":"number"},{"type":"number","minimum":1,"description":"A decimal number."}],"description":"The account's used disk space, in megabytes (MB).\n\n* `0.00` — No usage or disabled server quotas.","example":5.46},"under_inode_limit":{"description":"Whether the account is under its inode limit.\n\n* `1` — Under limit.\n* `0` — Over limit.","enum":[1,0],"example":0,"type":"integer"},"inodes_remain":{"example":0,"oneOf":[{"type":"integer","description":"Unlimited or disabled server quotas.","enum":[0]},{"type":"integer","description":"A positive integer.","minimum":1}],"description":"The account's available inode quota.\n\n* `0` — Unlimited or disabled server quotas."},"under_quota_overall":{"type":"integer","example":1,"enum":[1,0],"description":"Whether the account is under both its inode and disk megabyte (MB) limit.\n\n* `1` — Under limit.\n* `0` — Over limit."},"inodes_used":{"oneOf":[{"enum":[0],"description":"No usage or disabled server quotas.","type":"integer"},{"minimum":1,"description":"A positive integer.","type":"integer"}],"description":"The account's number of used inodes.\n\n* `0` — No usage or disabled server quotas.","example":1035},"megabyte_limit":{"example":0,"description":"The account's disk space limit, in megabytes (MB).\n\n* `0.00` — Unlimited or disabled server quotas.","oneOf":[{"type":"number","enum":[0],"description":"Unlimited or disabled server quotas."},{"minimum":1,"description":"A decimal number.","type":"number"}]},"under_megabyte_limit":{"type":"integer","description":"Whether the account is under its disk space limit, in megabytes (MB).\n\n* `1` — Under limit.\n* `0` — Over limit.","enum":[1,0],"example":1}},"type":"object","description":"An object containing the cPanel account's quota."},"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API."},"metadata":{"properties":{}},"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null},"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null},"status":{"example":1,"enum":[1,0],"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","type":"integer"}}},"func":{"example":"get_quota_info","description":"The name of the method called.","type":"string"}},"type":"object"}}},"description":"HTTP Request was successful."}},"x-cpanel-api-version":"UAPI","description":"This function retrieves the cPanel account's quota.","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Quota \\\n  get_quota_info\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Quota/get_quota_info","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Quota_get_quota_info.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/Quota_get_quota_info.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Quota/,\n    q/get_quota_info/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Quota_get_quota_info.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/Quota_get_quota_info.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Quota',\n    'get_quota_info'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"x-cpanel-available-version":"cPanel 56","summary":"Return disk quota information"}}}},"get_local_quota_info":{"tags":[{"description":"The Quota module for UAPI.","name":"Quota"},{"name":"Disk Quotas","description":"cPanel Account / Disk Quotas"}],"openapi":"3.0.2","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."}}}],"x-tagGroups":[{"tags":["Disk Quotas"],"name":"cPanel Account"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"security":[{"BasicAuth":[]}],"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999"},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/Quota/get_local_quota_info":{"get":{"x-cpanel-api-version":"UAPI","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Quota \\\n  get_local_quota_info\n","lang":"Shell","label":"CLI"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Quota/get_local_quota_info","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Quota_get_local_quota_info.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/Quota_get_local_quota_info.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Quota/,\n    q/get_local_quota_info/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Quota_get_local_quota_info.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/Quota_get_local_quota_info.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Quota',\n    'get_local_quota_info'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 88","summary":"Return local disk quota information","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","x-readonly":true,"tags":["Quota","Disk Quotas"],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"module":{"type":"string","example":"Quota","description":"The name of the module called."},"result":{"properties":{"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null},"messages":{"example":null,"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"},"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API."},"data":{"type":"object","properties":{"inodes_used":{"type":"integer","example":1035,"description":"The number of inodes that the cPanel account uses on this server.\n* A positive integer.\n* `0` - No usage or disabled server quotas.","minimum":0},"bytes_used":{"minimum":0,"description":"The amount of disk space the cPanel account uses on this server, in bytes.\n* A positive integer.\n* `0` - No usage or disabled server quotas.","example":4149284,"type":"integer"},"byte_limit":{"minimum":0,"example":262144000,"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.","type":"integer"},"inode_limit":{"description":"The limit for inodes that the cPanel account may use on this server.\n* A positive integer.\n* `0` - Unlimited or disabled server quotas.","example":0,"minimum":0,"type":"integer"}}},"metadata":{"properties":{}},"status":{"type":"integer","example":1,"enum":[0,1],"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details."}},"type":"object"},"func":{"example":"get_local_quota_info","description":"The name of the method called.","type":"string"}},"type":"object"}}},"description":"HTTP Request was successful."}},"parameters":[]}}}}},"ExternalAuthentication":{"get_authn_links":{"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"name":"Authentication","tags":["External Authentication"]}],"openapi":"3.0.2","servers":[{"variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"tags":[{"description":"The ExternalAuthentication module for UAPI.","name":"ExternalAuthentication"},{"description":"Authentication / External Authentication","name":"External Authentication"}],"security":[{"BasicAuth":[]}],"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999"},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/ExternalAuthentication/get_authn_links":{"get":{"x-readonly":true,"operationId":"ExternalAuthentication-get_authn_links","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"result":{"type":"object","properties":{"status":{"type":"integer","example":1,"enum":[0,1],"description":"* 1 — Success\n* 0 — Failed. Check the `errors` field for more details."},"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null},"messages":{"items":{"type":"string"},"description":"List of messages generated by the API.","example":null,"type":"array","nullable":true},"data":{"type":"array","items":{"type":"object","properties":{"link_time":{"type":"integer","format":"unix_timestamp","example":1443124604,"description":"When the user linked their account to the identity provider."},"preferred_username":{"example":"username@gmail.com","description":"The preferred username of the account on the identity provider.","type":"string"},"provider_protocol":{"type":"string","description":"The identity provider's protocol.","example":"openid_connect"},"subject_unique_identifier":{"example":123456789012346,"description":"The unique identifier for the user at the identity provider.","type":"integer"},"provider_id":{"description":"The system's unique key for the identity provider.","example":"google","type":"string"}}}},"warnings":{"type":"array","nullable":true,"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"},"example":null},"metadata":{"properties":{}}}},"module":{"type":"string","description":"The name of the module called.","example":"ExternalAuthentication"},"func":{"description":"The name of the method called.","example":"get_authn_links","type":"string"},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}},"type":"object"}}}}},"parameters":[],"tags":["ExternalAuthentication","External Authentication"],"description":"This function lists the external authentication links to the current cPanel account.","x-cpanel-available-version":"cPanel 54","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  ExternalAuthentication \\\n  get_authn_links\n","lang":"Shell","label":"CLI"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/ExternalAuthentication/get_authn_links"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file ExternalAuthentication_get_authn_links.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/ExternalAuthentication_get_authn_links.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/ExternalAuthentication/,\n    q/get_authn_links/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file ExternalAuthentication_get_authn_links.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/ExternalAuthentication_get_authn_links.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'ExternalAuthentication',\n    'get_authn_links'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Return external authentication links","x-cpanel-api-version":"UAPI"}}}},"has_external_auth_modules_configured":{"info":{"title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}}}],"tags":[{"description":"The ExternalAuthentication module for UAPI.","name":"ExternalAuthentication"},{"description":"Authentication / External Authentication","name":"External Authentication"}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"x-tagGroups":[{"name":"Authentication","tags":["External Authentication"]}],"security":[{"BasicAuth":[]}],"paths":{"/ExternalAuthentication/has_external_auth_modules_configured":{"get":{"x-readonly":true,"operationId":"ExternalAuthentication-has_external_auth_modules_configured","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"module":{"example":"ExternalAuthentication","description":"The name of the module called.","type":"string"},"result":{"properties":{"status":{"example":1,"enum":[0,1],"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","type":"integer"},"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"},"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"metadata":{"properties":{}},"data":{"enum":[0,1],"example":1,"description":"Whether the cPanel user enabled any external modules.\n\n* `1` - Enabled.\n* `0` - **Not** enabled.\n\n**Note:**\n\nFor more information, read our [Password and Security](https://go.cpanel.net/cpaneldocsPasswordoutputampSecurity) and [External Authentication](https://go.cpanel.net/externalauth) FAQ documentation.","type":"integer"},"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null,"type":"array","nullable":true}},"type":"object"},"func":{"type":"string","description":"The name of the method called.","example":"has_external_auth_modules_configured"},"apiversion":{"type":"integer","example":3,"description":"The version of the API."}}}}},"description":"HTTP Request was successful."}},"parameters":[],"tags":["ExternalAuthentication","External Authentication"],"description":"This function determines whether the user enabled external authentication modules.","summary":"Return external authentication user status","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  ExternalAuthentication \\\n  has_external_auth_modules_configured\n"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/ExternalAuthentication/has_external_auth_modules_configured"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file ExternalAuthentication_has_external_auth_modules_configured.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/ExternalAuthentication_has_external_auth_modules_configured.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/ExternalAuthentication/,\n    q/has_external_auth_modules_configured/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file ExternalAuthentication_has_external_auth_modules_configured.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/ExternalAuthentication_has_external_auth_modules_configured.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'ExternalAuthentication',\n    'has_external_auth_modules_configured'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-available-version":"cPanel 66","x-cpanel-api-version":"UAPI"}}}},"remove_authn_link":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"},"title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999"},"security":[{"BasicAuth":[]}],"openapi":"3.0.2","tags":[{"name":"ExternalAuthentication","description":"The ExternalAuthentication module for UAPI."},{"name":"External Authentication","description":"Authentication / External Authentication"}],"servers":[{"description":"A server running cPanel.","variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"x-tagGroups":[{"name":"Authentication","tags":["External Authentication"]}],"paths":{"/ExternalAuthentication/remove_authn_link":{"get":{"parameters":[{"required":true,"description":"The name of the identity provider.","schema":{"example":"cpanelid","type":"string"},"in":"query","name":"provider"},{"in":"query","name":"subject_unique_identifier","schema":{"type":"string","example":"123456789012345678901"},"required":true,"description":"The unique identifier for the user at the identity provider."}],"tags":["ExternalAuthentication","External Authentication"],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"apiversion":{"description":"The version of the API.","example":3,"type":"integer"},"func":{"type":"string","example":"remove_authn_link","description":"The name of the method called."},"result":{"properties":{"errors":{"example":null,"description":"List of errors if the API failed.","items":{"type":"string"},"nullable":true,"type":"array"},"metadata":{"properties":{}},"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."},"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API."},"data":{"default":null,"nullable":true,"type":"object"},"status":{"type":"integer","description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","enum":[0,1],"example":1}}},"module":{"type":"string","description":"The name of the module called.","example":"ExternalAuthentication"}},"type":"object"}}},"description":"HTTP Request was successful."}},"operationId":"ExternalAuthentication-remove_authn_link","x-readonly":false,"x-cpanel-api-version":"UAPI","description":"This function removes a link to an account at an external authentication identity provider.","x-cpanel-available-version":"cPanel 54","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"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/ExternalAuthentication/remove_authn_link?provider=cpanelid&subject_unique_identifier=123456789012345678901","lang":"HTTP","label":"URL"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file ExternalAuthentication_remove_authn_link.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/ExternalAuthentication_remove_authn_link.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/ExternalAuthentication/,\n    q/remove_authn_link/,\n    {\n        'provider' => 'cpanelid',\n        'subject_unique_identifier' => '123456789012345678901',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file ExternalAuthentication_remove_authn_link.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/ExternalAuthentication_remove_authn_link.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'ExternalAuthentication',\n    'remove_authn_link',\n    array (\n        'provider' => 'cpanelid',\n        'subject_unique_identifier' => '123456789012345678901',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"summary":"Remove external authentication link","x-rollback":"none"}}}},"configured_modules":{"x-tagGroups":[{"name":"Authentication","tags":["External Authentication"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"openapi":"3.0.2","tags":[{"description":"The ExternalAuthentication module for UAPI.","name":"ExternalAuthentication"},{"name":"External Authentication","description":"Authentication / External Authentication"}],"servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"description":"A server running cPanel."}],"security":[{"BasicAuth":[]}],"info":{"license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/ExternalAuthentication/configured_modules":{"get":{"summary":"Return server's external authentication providers","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  ExternalAuthentication \\\n  configured_modules\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/ExternalAuthentication/configured_modules","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file ExternalAuthentication_configured_modules.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/ExternalAuthentication_configured_modules.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/ExternalAuthentication/,\n    q/configured_modules/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file ExternalAuthentication_configured_modules.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/ExternalAuthentication_configured_modules.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'ExternalAuthentication',\n    'configured_modules'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 54","description":"This function lists the display information for your server's available and configured external authentication identity provider modules.","x-cpanel-api-version":"UAPI","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"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":{"type":"object","properties":{"status":{"type":"integer","example":1,"enum":[0,1],"description":"- `1` - Success\n- `0` - Failed. Check the `errors` field for more details."},"data":{"type":"array","items":{"type":"object","properties":{"icon":{"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==","description":"The icon file to display on the button in the cPanel login interface.","type":"string","format":"base64 image"},"display_name":{"description":"The identity provider's friendly name. cPanel & WHM interfaces will display this value.","example":"cPanel ID","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"},"documentation_url":{"description":"The public URL of the identity provider's implementation documentation.","example":"https://go.cpanel.net/OpenIDConnect","type":"string","format":"url"},"color":{"description":"The background color of the button on the cPanel interface.","example":"00aef0","type":"string","format":"RGB"},"icon_type":{"format":"MIME","type":"string","description":"The icon file's MIME type.","example":"image/svg+xml"},"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","type":"string","format":"url"},"provider_name":{"example":"cpanelid","description":"The identity provider's system name.","type":"string"},"textcolor":{"type":"string","format":"RGB","description":"The color of the text label in the cPanel login interface.","example":"FFFFFF"}}}},"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null,"type":"array","nullable":true},"metadata":{"properties":{}},"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null},"messages":{"description":"List of messages generated by the API.","items":{"type":"string"},"example":null,"type":"array","nullable":true}}},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}},"type":"object"}}},"description":"HTTP Request was successful."}},"tags":["ExternalAuthentication","External Authentication"],"x-readonly":true,"operationId":"ExternalAuthentication-configured_modules"}}}}},"Team":{"remove_team_user":{"paths":{"/Team/remove_team_user":{"get":{"description":"This function removes a team user.","x-rollback":"none","parameters":[{"in":"query","name":"user","description":"The username of the team user.","required":true,"schema":{"type":"string","example":"teamuser"}}],"x-cpanel-api-version":"UAPI","summary":"Remove a team user","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Team \\\n  remove_team_user \\\n  user='teamuser'\n"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/Team/remove_team_user?user=teamuser"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"x-cpanel-available-version":108,"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"result":{"properties":{"status":{"type":"integer","description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","enum":[1,0],"example":1},"errors":{"example":null,"description":"List of errors if the API failed.","items":{"type":"string"},"nullable":true,"type":"array"},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"data":{"nullable":true,"type":"object"},"metadata":{"properties":{"transformed":{"type":"integer","example":1,"enum":[1],"description":"Post-processing may have transformed the data."}}}},"type":"object"},"module":{"example":"Team","description":"The name of the module called.","type":"string"},"func":{"type":"string","example":"remove_team_user","description":"The name of the method called."},"apiversion":{"type":"integer","description":"The version of the API.","example":3}},"type":"object"}}},"description":"HTTP Request was successful."}},"tags":["Team Users"],"x-readonly":false,"operationId":"Team-remove_team_user"}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","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.","version":"11.107.0.9999","termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI"},"security":[{"BasicAuth":[]}],"x-tagGroups":[{"tags":["Team Users"],"name":"cPanel Account"}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"openapi":"3.0.2","tags":[{"name":"Team Users","description":"The Team User module for UAPI."}],"servers":[{"variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}]},"cancel_expire":{"paths":{"/Team/cancel_expire":{"get":{"x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Team \\\n  cancel_expire \\\n  user='teamUser'\n","label":"CLI","lang":"Shell"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/Team/cancel_expire?user=teamUser"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file 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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file 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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}\n"}],"summary":"Stop a team user from expiring","x-cpanel-available-version":110,"x-cpanel-api-version":"UAPI","x-readonly":false,"operationId":"Team-cancel_expire","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"apiversion":{"type":"integer","description":"The version of the API.","example":3},"func":{"type":"string","description":"The name of the method called.","example":"expire_team_user"},"module":{"type":"string","description":"The name of the module called.","example":"Team"},"result":{"type":"object","properties":{"status":{"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","enum":[1,0],"example":1,"type":"integer"},"metadata":{"properties":{"transformed":{"type":"integer","enum":[1],"example":1,"description":"Post-processing may have transformed the data."}}},"data":{"type":"object","nullable":true},"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API."},"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null},"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true}}}},"type":"object"}}},"description":"HTTP Request was successful."}},"tags":["Team Users"],"x-rollback":"none","description":"This function stops a team user from expiring.","parameters":[{"in":"query","name":"user","description":"The username of the team user.","required":true,"schema":{"type":"string","example":"teamUser"}}]}}},"info":{"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.109.0.9999","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"x-tagGroups":[{"tags":["Team Users"],"name":"cPanel Account"}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"openapi":"3.0.2","tags":[{"description":"The Team User module for UAPI.","name":"Team Users"}],"servers":[{"description":"A server running cPanel.","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute"}],"security":[{"BasicAuth":[]}]},"list_team":{"paths":{"/Team/list_team":{"get":{"x-cpanel-api-version":"UAPI","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Team \\\n  list_team\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Team/list_team","label":"URL","lang":"HTTP"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n//    to .../frontend/<theme-name>/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":104,"summary":"List Team Users","tags":["Team Users"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"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":{"metadata":{"properties":{"transformed":{"example":1,"enum":[1],"description":"Post-processing may have transformed the data.","type":"integer"}}},"data":{"oneOf":[{"$ref":"#/components/schemas/TeamArray"},{"$ref":"#/components/schemas/TeamHash"}]},"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"},"example":null,"type":"array","nullable":true},"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null},"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"status":{"type":"integer","description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","example":1,"enum":[1,0]}},"type":"object"},"apiversion":{"example":3,"description":"The version of the API.","type":"integer"}}}}}}},"operationId":"Team-list_team","x-readonly":true,"description":"This function lists the team users connected to a cPanel account.\nThis list is given in an array by default, but can be given in a hash.","x-rollback":"none","parameters":[{"name":"format","in":"query","schema":{"example":"array","type":"string"},"required":false,"description":"The format in which the team data is listed."}]}}},"info":{"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"},"license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","version":"11.103.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."},"externalDocs":{"url":"https://cpanel.net/developers/"},"tags":[{"name":"Team Users","description":"The Team User module for UAPI."}],"openapi":"3.0.2","servers":[{"url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}},"description":"A server running cPanel."}],"x-tagGroups":[{"name":"cPanel Account","tags":["Team Users"]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{"TeamHash":{"properties":{"users":{"properties":{"info":{"properties":{"suspend_date":{"type":"string"},"roles":{"type":"array","items":{"example":"email,web","type":"string"}},"created":{"example":1650036110,"type":"integer","format":"unix_timestamp"},"expire_reason":{"type":"string","example":"team user 1 year"},"locale":{"type":"string","example":"en"},"secondary-contact-email":{"example":"team_user_backup@example.com","type":"string","format":"email"},"suspend_reason":{"example":"teamUser is on vacation","type":"string"},"lastlogin":{"format":"unix_timestamp","type":"integer","example":1650046110},"contact-email":{"type":"string","format":"email","example":"team_user@example.com"},"password":{"type":"string","example":"encryptedpassword"},"notes":{"type":"string","example":"This is a note about team_user."},"services":{"$ref":"#/components/schemas/Services"},"expire_date":{"format":"unix_timestamp","type":"integer","example":1674575562}}},"username":{"type":"string","example":"teamuser"}}},"owner":{"type":"string","example":"cPanelUser"}},"type":"object"},"TeamArray":{"type":"array","items":{"properties":{"notes":{"type":"string","example":"This is a note about team user."},"username":{"type":"string","example":"teamuser"},"services":{"$ref":"#/components/schemas/Services"},"expire_date":{"example":1674575562,"type":"integer","format":"unix_timestamp"},"contact-email":{"type":"string","format":"email","example":"team_user@example.com"},"password":{"example":"encryptedpassword","type":"string"},"lastlogin":{"format":"unix_timestamp","type":"integer","example":1650046110},"suspend_reason":{"type":"string","example":"team user is on vacation"},"secondary-contact-email":{"example":"team_user_backup@example.com","format":"email","type":"string"},"locale":{"type":"string","example":"en"},"expire_reason":{"type":"string","example":"team user 1 year"},"created":{"format":"unix_timestamp","type":"integer","example":1650036110},"suspend_date":{"type":"integer","format":"unix-timestamp","example":1650046210},"roles":{"type":"array","items":{"type":"string","example":"email,web"}}}}},"Services":{"properties":{"ftp":{"example":1,"type":"integer"},"email":{"example":"500*2**20","type":"string"},"webdisk":{"example":"rw","type":"string"}},"type":"object"}}},"security":[{"BasicAuth":[]}]},"reinstate_team_user":{"paths":{"/Team/reinstate_team_user":{"get":{"operationId":"Team-reinstate_team_user","x-readonly":false,"tags":["Team Users"],"parameters":[{"in":"query","name":"user","required":true,"description":"The username of the team user.","schema":{"example":"teamUser","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"func":{"example":"reinstate_team_user","description":"The name of the method called.","type":"string"},"result":{"properties":{"status":{"type":"integer","example":1,"enum":[1,0],"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details."},"metadata":{"properties":{"transformed":{"type":"integer","enum":[1],"example":1,"description":"Post-processing may have transformed the data."}}},"warnings":{"nullable":true,"type":"array","example":null,"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"}},"data":{"type":"object","nullable":true},"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"},"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."}},"type":"object"},"module":{"description":"The name of the module called.","example":"Team","type":"string"},"apiversion":{"type":"integer","example":3,"description":"The version of the API."}},"type":"object"}}},"description":"HTTP Request was successful."}},"x-rollback":"none","summary":"Reinstate a team user","x-cpanel-available-version":108,"x-codeSamples":[{"lang":"Shell","label":"CLI","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"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file 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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file 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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}\n","lang":"PHP","label":"LiveAPI PHP"}],"description":"This function reinstates a team user by removing any suspended or expired statuses. The reason field is also cleared.","x-cpanel-api-version":"UAPI"}}},"security":[{"BasicAuth":[]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"x-tagGroups":[{"name":"cPanel Account","tags":["Team Users"]}],"tags":[{"name":"Team Users","description":"The Team User module for UAPI."}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}}}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.107.0.9999","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}}},"get_team_users_with_roles_count":{"tags":[{"description":"The Team User module for UAPI.","name":"Team Users"}],"servers":[{"description":"A server running cPanel.","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute"}],"openapi":"3.0.2","components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"tags":["Team Users"],"name":"cPanel Account"}],"security":[{"BasicAuth":[]}],"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.118.0","termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI"},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/Team/get_team_users_with_roles_count":{"get":{"x-cpanel-api-version":"UAPI","description":"This function returns the current and maximum number of team users with roles.","summary":"Get number of team users with roles","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"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file 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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file 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/<theme-name>/\n//    to .../frontend/<theme-name>/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}\n","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-available-version":118,"x-readonly":true,"operationId":"Team-get_team_users_with_roles_count","parameters":[],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"func":{"type":"string","example":"get_team_users_with_roles_count","description":"The name of the method called."},"module":{"description":"The name of the module called.","example":"Team","type":"string"},"result":{"type":"object","properties":{"status":{"description":"- `1` - Success.\n- `0` - Failed: Check the `errors` field for more details.","enum":[1,0],"example":1,"type":"integer"},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}},"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"metadata":{"properties":{"transformed":{"description":"Post-processing may have transformed the data.","enum":[1],"example":1,"type":"integer"}}},"warnings":{"example":null,"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.","items":{"type":"string"},"nullable":true,"type":"array"},"data":{"properties":{"max":{"example":7,"description":"Maximum number of team users with roles.\n\n**Note:**\n\nThis value is stored in the package.","type":"integer"},"used":{"description":"The current number of team users with roles.","example":2,"type":"integer"}}}}}},"type":"object"}}}}},"tags":["Team Users"]}}}},"list_team_ui":{"paths":{"/Team/list_team_ui":{"get":{"operationId":"Team-list_team_ui","x-readonly":true,"parameters":[],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"type":"integer","description":"The version of the API.","example":3},"result":{"type":"object","properties":{"status":{"type":"integer","description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","example":1,"enum":[1,0]},"data":{"$ref":"#/components/schemas/TeamArray"},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.","example":null},"metadata":{"properties":{"transformed":{"type":"integer","enum":[1],"example":1,"description":"Post-processing may have transformed the data."}}},"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null}}},"module":{"type":"string","example":"Team","description":"The name of the module called."},"func":{"type":"string","description":"The name of the method called.","example":"list_team_ui"}}}}}}},"tags":["Team Users"],"x-cpanel-internal-only":true,"x-cpanel-api-version":"UAPI","description":"This function lists the team users connected to a cPanel account.\nThis function transforms roles to titles.\nThis list is given in an array.","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Team \\\n  list_team_ui\n","lang":"Shell","label":"CLI"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/Team/list_team_ui"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Team_list_team_ui.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Team_list_team_ui.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\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_ui/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Team_list_team_ui.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Team_list_team_ui.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/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_ui'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"summary":"List Team Users","x-cpanel-available-version":104}}},"info":{"termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.103.0.9999","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"servers":[{"description":"A server running cPanel.","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute"}],"openapi":"3.0.2","tags":[{"name":"Team Users","description":"The Team User module for UAPI."}],"x-tagGroups":[{"tags":["Team Users"],"name":"cPanel Account"}],"components":{"schemas":{"TeamArray":{"items":{"properties":{"notes":{"type":"string","example":"This is a note about team user."},"username":{"type":"string","example":"teamuser"},"expire_date":{"type":"integer","format":"unix_timestamp","example":1674575562},"services":{"$ref":"#/components/schemas/Services"},"contact-email":{"example":"team_user@example.com","format":"email","type":"string"},"lastlogin":{"example":1650046110,"format":"unix_timestamp","type":"integer"},"suspend_reason":{"type":"string","example":"team user is on vacation"},"secondary-contact-email":{"format":"email","type":"string","example":"team_user_backup@example.com"},"locale":{"example":"en","type":"string"},"expire_reason":{"example":"team user 1 year","type":"string"},"created":{"example":1650036110,"format":"unix_timestamp","type":"integer"},"suspend_date":{"type":"integer","format":"unix-timestamp","example":1650046210},"roles":{"items":{"example":"Email,Web","type":"string"},"type":"array"}}},"type":"array"},"Services":{"properties":{"email":{"type":"string","example":"500*2**20"},"ftp":{"type":"integer","example":1},"webdisk":{"example":"rw","type":"string"}},"type":"object"}},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"security":[{"BasicAuth":[]}]},"set_expire":{"paths":{"/Team/set_expire":{"get":{"x-cpanel-api-version":"UAPI","description":"This function expires a team user after a specified amount of time.\n\nIf the team user already has an expire date set, it's replaced with a new date and reason.","summary":"Set a team user to expire","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Team \\\n  set_expire \\\n  user='teamUser' \\\n  date='120days'\n","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Team/set_expire?user=teamUser&date=120days","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file 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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file 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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}\n"}],"x-cpanel-available-version":110,"x-rollback":"none","tags":["Team Users"],"parameters":[{"schema":{"type":"string","example":"teamUser"},"description":"The username of the team user.","required":true,"in":"query","name":"user"},{"name":"reason","in":"query","description":"The reason for expiration.","required":false,"schema":{"example":"teamUser gave a two week notice.","type":"string"}},{"in":"query","name":"date","schema":{"oneOf":[{"type":"integer"},{"type":"string"}]},"examples":{"unix-timestamp":{"value":1649948169},"offset":{"value":"120days"}},"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'.","required":true}],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"description":"The version of the API.","example":3,"type":"integer"},"module":{"description":"The name of the module called.","example":"Team","type":"string"},"result":{"properties":{"metadata":{"properties":{"transformed":{"description":"Post-processing may have transformed the data.","enum":[1],"example":1,"type":"integer"}}},"data":{"description":"The unix timestamp that represents when the team user expires.","example":1674575562,"format":"unix-timestamp","type":"integer"},"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.","example":null,"type":"array","nullable":true},"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"status":{"type":"integer","description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","enum":[1,0],"example":1}},"type":"object"},"func":{"description":"The name of the method called.","example":"set_expire","type":"string"}}}}}}},"x-readonly":false,"operationId":"Team-set_expire"}}},"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"version":"11.109.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/"},"externalDocs":{"url":"https://cpanel.net/developers/"},"servers":[{"description":"A server running cPanel.","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute"}],"openapi":"3.0.2","tags":[{"description":"The Team User module for UAPI.","name":"Team Users"}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"x-tagGroups":[{"name":"cPanel Account","tags":["Team Users"]}],"security":[{"BasicAuth":[]}]},"remove_roles":{"paths":{"/Team/remove_roles":{"get":{"x-cpanel-available-version":108,"summary":"Remove roles from a team user","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Team \\\n  remove_roles \\\n  user='teamuser' \\\n  role='database'\n"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/Team/remove_roles?user=teamuser&role=database"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"description":"This function removes roles from a team user.","x-cpanel-api-version":"UAPI","x-rollback":"none","parameters":[{"name":"user","in":"query","description":"The username of the team user.","required":true,"schema":{"type":"string","example":"teamuser"}},{"in":"query","name":"role","required":true,"description":"The role or roles to remove from the team user.","schema":{"type":"string","example":"database"}}],"tags":["Team Users"],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"type":"integer","description":"The version of the API.","example":3},"func":{"description":"The name of the method called.","example":"remove_roles","type":"string"},"module":{"type":"string","description":"The name of the module called.","example":"Team"},"result":{"type":"object","properties":{"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"messages":{"example":null,"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"},"data":{"nullable":true,"type":"object"},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"metadata":{"properties":{"transformed":{"type":"integer","enum":[1],"example":1,"description":"Post-processing may have transformed the data."}}},"status":{"enum":[1,0],"example":1,"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","type":"integer"}}}}}}},"description":"HTTP Request was successful."}},"operationId":"Team-remove_roles","x-readonly":false}}},"security":[{"BasicAuth":[]}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"x-tagGroups":[{"name":"cPanel Account","tags":["Team Users"]}],"servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}}}],"openapi":"3.0.2","tags":[{"name":"Team Users","description":"The Team User module for UAPI."}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"version":"11.107.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}}},"set_locale":{"paths":{"/Team/set_locale":{"get":{"x-cpanel-available-version":108,"x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Team \\\n  set_locale \\\n  user='teamuser' \\\n  locale='es_es'\n","lang":"Shell","label":"CLI"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/Team/set_locale?user=teamuser&locale=es_es"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Set locale for a team user","x-cpanel-api-version":"UAPI","tags":["Team Users"],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"apiversion":{"type":"integer","description":"The version of the API.","example":3},"func":{"description":"The name of the method called.","example":"set_locale","type":"string"},"result":{"properties":{"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null},"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"metadata":{"properties":{"transformed":{"description":"Post-processing may have transformed the data.","example":1,"enum":[1],"type":"integer"}}},"data":{"nullable":true,"type":"object"},"warnings":{"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"status":{"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","enum":[1,0],"example":1,"type":"integer"}},"type":"object"},"module":{"description":"The name of the module called.","example":"Team","type":"string"}},"type":"object"}}},"description":"HTTP Request was successful."}},"x-readonly":false,"operationId":"Team-set_locale","description":"This function sets locale for a team user.","x-rollback":"none","parameters":[{"schema":{"type":"string","example":"teamuser"},"required":true,"description":"The username of the team user.","name":"user","in":"query"},{"schema":{"type":"string","example":"es_es"},"required":true,"description":"The new locale for the team user.","name":"locale","in":"query"}]}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"version":"11.107.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}},"security":[{"BasicAuth":[]}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute"}],"tags":[{"name":"Team Users","description":"The Team User module for UAPI."}],"x-tagGroups":[{"tags":["Team Users"],"name":"cPanel Account"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}}},"set_notes":{"info":{"version":"11.103.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"x-tagGroups":[{"name":"cPanel Account","tags":["Team Users"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"openapi":"3.0.2","tags":[{"description":"The Team User module for UAPI.","name":"Team Users"}],"servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"description":"A server running cPanel."}],"security":[{"BasicAuth":[]}],"paths":{"/Team/set_notes":{"get":{"x-rollback":"none","description":"This function replaces the current notes field with new text.","parameters":[{"in":"query","name":"user","schema":{"example":"teamUser","type":"string"},"required":true,"description":"The username of the team user."},{"name":"notes","in":"query","schema":{"type":"string","example":"teamUser is a good employee"},"required":true,"description":"The content of the notes field."}],"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"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Team/set_notes?user=teamUser&notes=teamUser%20","lang":"HTTP","label":"URL"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file 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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file 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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}\n"}],"summary":"Set notes for a team user","x-cpanel-available-version":110,"x-cpanel-api-version":"UAPI","x-readonly":false,"operationId":"Team-set_notes","tags":["Team Users"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"func":{"example":"set_notes","description":"The name of the method called.","type":"string"},"result":{"type":"object","properties":{"status":{"type":"integer","enum":[1,0],"example":1,"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details."},"data":{"nullable":true,"type":"object"},"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API."},"metadata":{"properties":{"transformed":{"type":"integer","description":"Post-processing may have transformed the data.","enum":[1],"example":1}}},"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null},"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."}}},"module":{"example":"Team","description":"The name of the module called.","type":"string"},"apiversion":{"type":"integer","description":"The version of the API.","example":3}},"type":"object"}}}}}}}}},"set_contact_email":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"},"license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","version":"11.103.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."},"security":[{"BasicAuth":[]}],"tags":[{"description":"The Team User module for UAPI.","name":"Team Users"}],"openapi":"3.0.2","servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"description":"A server running cPanel."}],"x-tagGroups":[{"tags":["Team Users"],"name":"cPanel Account"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"paths":{"/Team/set_contact_email":{"get":{"parameters":[{"schema":{"example":"teamUser","type":"string"},"required":true,"description":"The username of the team user.","name":"user","in":"query"},{"schema":{"type":"string","example":"email1@example.com"},"required":false,"description":"The primary contact email address to set for the team user.","name":"email1","in":"query"},{"name":"email2","in":"query","required":false,"description":"The secondary contact email address to set for the team user.","schema":{"example":"email2@example.com","type":"string"}}],"x-rollback":"none","description":"This function sets or changes primary and secondary email addresses.","x-readonly":false,"operationId":"Team-set_contact_email","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"apiversion":{"type":"integer","description":"The version of the API.","example":3},"result":{"type":"object","properties":{"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null},"data":{"type":"object","nullable":true},"warnings":{"type":"array","nullable":true,"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"},"example":null},"metadata":{"properties":{"transformed":{"type":"integer","description":"Post-processing may have transformed the data.","example":1,"enum":[1]}}},"status":{"enum":[1,0],"example":1,"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","type":"integer"}}},"module":{"example":"Team","description":"The name of the module called.","type":"string"},"func":{"description":"The name of the method called.","example":"set_contact_email","type":"string"}},"type":"object"}}},"description":"HTTP Request was successful."}},"tags":["Team Users"],"summary":"Set a contact email address for a team user","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Team \\\n  set_contact_email \\\n  user='teamUser'\n","lang":"Shell","label":"CLI"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/Team/set_contact_email?user=teamUser"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file 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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file 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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}\n"}],"x-cpanel-available-version":110,"x-cpanel-api-version":"UAPI"}}}},"set_roles":{"info":{"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"},"title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.107.0.9999"},"externalDocs":{"url":"https://cpanel.net/developers/"},"x-tagGroups":[{"name":"cPanel Account","tags":["Team Users"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"servers":[{"description":"A server running cPanel.","variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute"}],"openapi":"3.0.2","tags":[{"description":"The Team User module for UAPI.","name":"Team Users"}],"security":[{"BasicAuth":[]}],"paths":{"/Team/set_roles":{"get":{"x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Team \\\n  set_roles \\\n  user='teamuser'\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Team/set_roles?user=teamuser","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file 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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file 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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}\n"}],"summary":"Set roles for a team user","x-cpanel-available-version":108,"x-cpanel-api-version":"UAPI","operationId":"Team-set_roles","x-readonly":false,"tags":["Team Users"],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"module":{"type":"string","description":"The name of the module called.","example":"Team"},"result":{"type":"object","properties":{"status":{"type":"integer","example":1,"enum":[1,0],"description":"- `1` - Success\n- `0` - Failed: Check the errors field for more details."},"metadata":{"properties":{"transformed":{"type":"integer","enum":[1],"example":1,"description":"Post-processing may have transformed the data."}}},"data":{"type":"object","nullable":true},"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API."},"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null},"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null}}},"func":{"example":"set_roles","description":"The name of the method called.","type":"string"},"apiversion":{"example":3,"description":"The version of the API.","type":"integer"}},"type":"object"}}},"description":"HTTP Request was successful."}},"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.","parameters":[{"description":"The username of the team user.","required":true,"schema":{"example":"teamuser","type":"string"},"name":"user","in":"query"},{"name":"role","in":"query","schema":{"example":"database","type":"string"},"required":false,"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."}]}}}},"add_team_user":{"paths":{"/Team/add_team_user":{"get":{"parameters":[{"description":"The username of the team user. Follows cPanel standards.","required":true,"schema":{"type":"string","example":"teamuser"},"name":"user","in":"query"},{"schema":{"example":"teamuser@example.com","type":"string"},"required":true,"description":"The contact email for the new team user.","in":"query","name":"email1"},{"in":"query","name":"email2","schema":{"example":"teamuser-backup@example.com","type":"string"},"description":"The secondary email for the new team user.","required":false},{"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.","required":false,"schema":{"example":"securepassword","type":"string"},"in":"query","name":"password"},{"required":false,"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.","schema":{"example":1,"type":"integer"},"in":"query","name":"activation_email"},{"in":"query","name":"roles","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.","required":false,"schema":{"type":"string","example":"email,database"}},{"in":"query","name":"notes","schema":{"type":"string","example":"This is a note about teamuser"},"description":"Notes about the new team user. This field should not contain private information. Maximum of 100 characters.","required":false},{"required":false,"in":"query","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":{"unix-timestamp":{"value":1649948169},"offset":{"value":"120days"}},"schema":{"oneOf":[{"type":"integer"},{"type":"string"}]},"name":"expire_date"},{"schema":{"type":"string","example":"teamUser gave a two week notice."},"required":false,"description":"The reason for expiration.","name":"expire_reason","in":"query"},{"in":"query","name":"services.email.enabled","required":false,"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.\n\n* `1` - Create an email subaccount.\n* `0` - **Do Not** create an email subaccount.","schema":{"enum":[0,1],"default":0,"example":1,"type":"integer"}},{"required":false,"description":"The maximum amount of disk space, in megabytes (MB), allocated to the team user's email account.\n\n* `0` or `unlimited` - The subaccount has unlimited disk space.\n\nThis value defaults to the defined system value.\n\n**Note:**\n\nThis value **cannot** be larger than the system's maximum email quota.","schema":{"example":"500","type":"string"},"name":"services.email.quota","in":"query"},{"in":"query","name":"services.ftp.enabled","required":false,"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.\n\n* `1` - Create an FTP subaccount.\n* `0` - **Do Not** create an FTP subaccount.","schema":{"default":0,"enum":[0,1],"example":1,"type":"integer"}},{"name":"services.ftp.homedir","in":"query","schema":{"example":"/Teamusername","format":"path","type":"string"},"required":false,"description":"The team user's FTP home directory, relative to the cPanel account's home directory.\n\n**Note:**\n\n* This parameter is **required** if you enabled the `services.ftp.homedir` parameter.\n* The directory **must** exist."},{"schema":{"type":"integer","default":0,"enum":[0,1],"example":1},"required":false,"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.\n\n* `1` - Create a Web Disk subaccount.\n* `0` - **Do Not** create a Web Disk subaccount.","name":"services.webdisk.enabled","in":"query"},{"name":"services.webdisk.enabledigest","in":"query","required":false,"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.","schema":{"type":"integer","enum":[0,1],"default":0,"example":0}},{"name":"services.webdisk.private","in":"query","schema":{"enum":[0,1],"default":0,"example":1,"type":"integer"},"required":false,"description":"Whether to set the directory's permissions to public or private.\n\n* `1` - Private (`0700`).\n* `0` - Public (`0755`)."},{"required":false,"description":"The team user's Web Disk home directory, relative to the cPanel account's home directory.\n\n**Note:**\n\nThis parameter is **required** if you enable the `services.webdisk.enabled` parameter.","schema":{"type":"string","format":"path","example":"/Teamusername"},"in":"query","name":"services.webdisk.homedir"},{"name":"services.webdisk.perms","in":"query","schema":{"default":"rw","example":"rw","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.","required":false}],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"func":{"type":"string","example":"add_team_user","description":"The name of the method called."},"result":{"properties":{"metadata":{"properties":{"transformed":{"type":"integer","enum":[1],"example":1,"description":"Post-processing may have transformed the data."}}},"data":{"example":1674575562,"description":"The unix timestamp that represents when the team user expires.","type":"integer","format":"unix-timestamp"},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"},"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"status":{"type":"integer","description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","example":1,"enum":[1,0]}},"type":"object"},"module":{"description":"The name of the module called.","example":"Team","type":"string"},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}},"type":"object"}}}}},"tags":["Team Users"],"operationId":"Team-add_team_user","x-readonly":false,"x-cpanel-api-version":"UAPI","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.","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Team \\\n  add_team_user \\\n  user='teamuser' \\\n  email1='teamuser@example.com'\n","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Team/add_team_user?user=teamuser&email1=teamuser%40example.com","lang":"HTTP","label":"URL"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file 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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file 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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}\n"}],"summary":"Add a team user","x-cpanel-available-version":104,"x-rollback":"none"}}},"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"tags":["Team Users"],"name":"cPanel Account"}],"openapi":"3.0.2","tags":[{"name":"Team Users","description":"The Team User module for UAPI."}],"servers":[{"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."}},"description":"A server running cPanel."}],"security":[{"BasicAuth":[]}],"info":{"license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.103.0.9999","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"}},"set_password":{"servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}}}],"openapi":"3.0.2","tags":[{"name":"Team Users","description":"The Team User module for UAPI."}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"x-tagGroups":[{"name":"cPanel Account","tags":["Team Users"]}],"security":[{"BasicAuth":[]}],"info":{"version":"11.103.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/Team/set_password":{"get":{"parameters":[{"schema":{"type":"string","example":"teamuser"},"required":true,"description":"The username of the team user.","name":"user","in":"query"},{"in":"query","name":"password","description":"The password to set for the team user.","required":true,"schema":{"type":"string","example":"securepassword"}}],"description":"This function replaces the current password with a new one.","x-rollback":"none","responses":{"200":{"content":{"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"},"result":{"type":"object","properties":{"status":{"example":1,"enum":[1,0],"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","type":"integer"},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"data":{"nullable":true,"type":"object"},"metadata":{"properties":{"transformed":{"example":1,"enum":[1],"description":"Post-processing may have transformed the data.","type":"integer"}}},"errors":{"example":null,"items":{"type":"string"},"description":"List of errors if the API failed.","nullable":true,"type":"array"},"messages":{"description":"List of messages generated by the API.","items":{"type":"string"},"example":null,"type":"array","nullable":true}}},"module":{"description":"The name of the module called.","example":"Team","type":"string"}},"type":"object"}}},"description":"HTTP Request was successful."}},"tags":["Team Users"],"x-readonly":false,"operationId":"Team-set_password","summary":"Set password for a team user","x-cpanel-available-version":106,"x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Team \\\n  set_password \\\n  user='teamuser' \\\n  password='securepassword'\n","lang":"Shell","label":"CLI"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Team/set_password?user=teamuser&password=securepassword","label":"URL","lang":"HTTP"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file 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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file 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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}\n","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-api-version":"UAPI"}}}},"add_roles":{"openapi":"3.0.2","tags":[{"description":"The Team User module for UAPI.","name":"Team Users"}],"servers":[{"description":"A server running cPanel.","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"url":"https://{host}:{port}/execute"}],"x-tagGroups":[{"name":"cPanel Account","tags":["Team Users"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"security":[{"BasicAuth":[]}],"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.107.0.9999","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/"},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/Team/add_roles":{"get":{"parameters":[{"required":true,"description":"The username of the team user.","schema":{"example":"teamuser","type":"string"},"in":"query","name":"user"},{"schema":{"example":"database","type":"string"},"description":"The role or roles to add to the team user. Current roles include admin, database, email, web.","required":true,"name":"role","in":"query"}],"tags":["Team Users"],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"func":{"example":"add_roles","description":"The name of the method called.","type":"string"},"module":{"type":"string","description":"The name of the module called.","example":"Team"},"result":{"properties":{"status":{"type":"integer","enum":[1,0],"example":1,"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details."},"errors":{"example":null,"description":"List of errors if the API failed.","items":{"type":"string"},"nullable":true,"type":"array"},"messages":{"example":null,"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"},"warnings":{"nullable":true,"type":"array","example":null,"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"}},"data":{"type":"object","nullable":true},"metadata":{"properties":{"transformed":{"description":"Post-processing may have transformed the data.","enum":[1],"example":1,"type":"integer"}}}},"type":"object"},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}}}}},"description":"HTTP Request was successful."}},"x-readonly":false,"operationId":"Team-add_roles","x-cpanel-available-version":108,"summary":"Add roles to a team user","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Team \\\n  add_roles \\\n  user='teamuser' \\\n  role='database'\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Team/add_roles?user=teamuser&role=database","lang":"HTTP","label":"URL"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n//    to .../frontend/<theme-name>/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"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.","x-cpanel-api-version":"UAPI","x-rollback":"none"}}}},"edit_team_user":{"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"name":"cPanel Account","tags":["Team Users"]}],"servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"description":"The Team User module for UAPI.","name":"Team Users"}],"security":[{"BasicAuth":[]}],"info":{"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.103.0.9999","termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/Team/edit_team_user":{"get":{"description":"This function modifies a team user.","summary":"Edit a team user","x-cpanel-available-version":110,"x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Team \\\n  edit_team_user \\\n  user='teamUser'\n","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Team/edit_team_user?user=teamUser","label":"URL","lang":"HTTP"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file 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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file 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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}\n"}],"x-cpanel-api-version":"UAPI","x-rollback":"none","parameters":[{"name":"user","in":"query","description":"The username of the team user.","required":true,"schema":{"type":"string","example":"teamUser"}},{"schema":{"example":"teamuser@example.com","type":"string"},"required":false,"description":"The primary contact email address to set for the team user.","in":"query","name":"email1"},{"name":"email2","in":"query","required":false,"description":"The secondary contact email address to set for the team user.","schema":{"type":"string","example":"teamuser@example.com"}},{"name":"password","in":"query","required":false,"description":"The password to set for the team user.","schema":{"example":"securepassword","type":"string"}},{"schema":{"type":"string","example":"email"},"required":false,"description":"The role or roles to set for the team user.","name":"set_role","in":"query"},{"name":"add_role","in":"query","required":false,"description":"The role or roles to add to the team user.","schema":{"type":"string","example":"database"}},{"in":"query","name":"remove_role","schema":{"type":"string","example":"database"},"required":false,"description":"The role or roles to remove from the team user."},{"in":"query","name":"notes","schema":{"example":"This is a note about teamUser","type":"string"},"description":"Notes about the new team user. This field should not contain private information.","required":false},{"schema":{"oneOf":[{"type":"integer"},{"type":"string"}]},"description":"The epoch time the team user account expires on or the offset in days.","required":false,"examples":{"offset":{"value":"120days"},"unix-timestamp":{"value":1649948169}},"name":"set_expire","in":"query"},{"schema":{"example":"teamUser gave a two week notice.","type":"string"},"description":"The reason for expiration.","required":false,"in":"query","name":"expire_reason"},{"schema":{"type":"integer","enum":[0,1],"default":0,"example":1},"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.\n\n* `1` - Create and associate an email subaccount.\n* `0` - Remove any associated email subaccounts.","required":false,"name":"services.email.enabled","in":"query"},{"name":"services.email.quota","in":"query","description":"The maximum amount of disk space, in megabytes (MB), allocated to the team user's email account.\n\n* `0` or `unlimited` - The subaccount has unlimited disk space.\n\nThis value defaults to the defined system value.\n\n**Note:**\n\nThis value **cannot** be larger than the system's maximum email quota.","required":false,"schema":{"type":"string","example":"500"}},{"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.\n\n* `1` - Create and associate an FTP subaccount.\n* `0` - Remove any associated FTP subaccounts.","required":false,"schema":{"type":"integer","example":1,"default":0,"enum":[0,1]},"name":"services.ftp.enabled","in":"query"},{"name":"services.ftp.homedir","in":"query","required":false,"description":"The team user's FTP home directory, relative to the cPanel account's home directory.\n\n**Note:**\n\n* This parameter is **required** if you enabled the `services.ftp.homedir` parameter.\n* The directory **must** exist.","schema":{"format":"path","type":"string","example":"/Teamusername"}},{"in":"query","name":"services.webdisk.enabled","schema":{"default":0,"enum":[0,1],"example":1,"type":"integer"},"required":false,"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.\n\n* `1` - Create and associate a Web Disk subaccount.\n* `0` - Remove any associated Web Disk subaccounts."},{"required":false,"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.","schema":{"default":0,"enum":[0,1],"example":0,"type":"integer"},"in":"query","name":"services.webdisk.enabledigest"},{"in":"query","name":"services.webdisk.private","description":"Whether to set the directory's permissions to public or private.\n\n* `1` - Private (`0700`).\n* `0` - Public (`0755`).","required":false,"schema":{"type":"integer","enum":[0,1],"default":0,"example":1}},{"schema":{"format":"path","type":"string","example":"/Teamusername"},"description":"The team user's Web Disk home directory, relative to the cPanel account's home directory.\n\n**Note:**\n\nThis parameter is **required** if you enable the `services.webdisk.enabled` parameter.","required":false,"in":"query","name":"services.webdisk.homedir"},{"in":"query","name":"services.webdisk.perms","schema":{"default":"rw","example":"rw","type":"string"},"required":false,"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."}],"tags":["Team Users"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"func":{"type":"string","example":"edit_team_user","description":"The name of the method called."},"result":{"type":"object","properties":{"errors":{"example":null,"items":{"type":"string"},"description":"List of errors if the API failed.","nullable":true,"type":"array"},"messages":{"items":{"type":"string"},"description":"List of messages generated by the API.","example":null,"type":"array","nullable":true},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"data":{"type":"object","nullable":true},"metadata":{"properties":{"transformed":{"description":"Post-processing may have transformed the data.","example":1,"enum":[1],"type":"integer"}}},"status":{"type":"integer","description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","enum":[1,0],"example":1}}},"module":{"description":"The name of the module called.","example":"Team","type":"string"},"apiversion":{"type":"integer","example":3,"description":"The version of the API."}}}}}}},"operationId":"Team-edit_team_user","x-readonly":false}}}},"suspend_team_user":{"security":[{"BasicAuth":[]}],"x-tagGroups":[{"tags":["Team Users"],"name":"cPanel Account"}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"openapi":"3.0.2","tags":[{"name":"Team Users","description":"The Team User module for UAPI."}],"servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}}}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"},"version":"11.107.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"}},"paths":{"/Team/suspend_team_user":{"get":{"x-rollback":"none","description":"This function immediately suspends a team user.","parameters":[{"schema":{"type":"string","example":"teamuser"},"description":"The username of the team user.","required":true,"in":"query","name":"user"},{"name":"reason","in":"query","schema":{"example":"teamuser is on vacation","type":"string"},"description":"The reason for suspension.","required":false}],"x-cpanel-api-version":"UAPI","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Team \\\n  suspend_team_user \\\n  user='teamuser'\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Team/suspend_team_user?user=teamuser","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Suspend a team user","x-cpanel-available-version":108,"operationId":"Team-suspend_team_user","x-readonly":false,"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"description":"The version of the API.","example":3,"type":"integer"},"module":{"type":"string","example":"Team","description":"The name of the module called."},"result":{"type":"object","properties":{"status":{"type":"integer","example":1,"enum":[1,0],"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details."},"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"},"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"metadata":{"properties":{"transformed":{"type":"integer","example":1,"enum":[1],"description":"Post-processing may have transformed the data."}}},"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API."},"data":{"nullable":true,"type":"object"}}},"func":{"example":"suspend_team_user","description":"The name of the method called.","type":"string"}}}}}}},"tags":["Team Users"]}}}},"password_reset_request":{"info":{"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.107.0.9999","termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"x-tagGroups":[{"name":"cPanel Account","tags":["Team Users"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"openapi":"3.0.2","servers":[{"variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"tags":[{"description":"The Team User module for UAPI.","name":"Team Users"}],"security":[{"BasicAuth":[]}],"paths":{"/Team/password_reset_request":{"get":{"operationId":"Team-password_reset_request","x-readonly":false,"tags":["Team Users"],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"func":{"example":"password_reset_request","description":"The name of the method called.","type":"string"},"result":{"properties":{"metadata":{"properties":{"transformed":{"type":"integer","example":1,"enum":[1],"description":"Post-processing may have transformed the data."}}},"data":{"type":"object","nullable":true},"warnings":{"type":"array","nullable":true,"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"},"example":null},"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"status":{"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","enum":[1,0],"example":1,"type":"integer"}},"type":"object"},"module":{"example":"Team","description":"The name of the module called.","type":"string"}},"type":"object"}}},"description":"HTTP Request was successful."}},"x-cpanel-api-version":"UAPI","summary":"Sends a password reset request link to team user.","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Team \\\n  password_reset_request \\\n  user='teamuser'\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Team/password_reset_request?user=teamuser","label":"URL","lang":"HTTP"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-available-version":108,"parameters":[{"schema":{"example":"teamuser","type":"string"},"required":true,"description":"The username of the team user.","in":"query","name":"user"}],"x-rollback":"none","description":"This function enables a team user to reset the password by sending a password reset request link."}}}}},"DirectoryIndexes":{"get_indexing":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."},"security":[{"BasicAuth":[]}],"tags":[{"name":"DirectoryIndexes","description":"The DirectoryIndexes module for UAPI."},{"name":"Directory Indexes","description":"Directory Management / Directory Indexes"}],"openapi":"3.0.2","servers":[{"url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"description":"A server running cPanel."}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"tags":["Directory Indexes"],"name":"Directory Management"}],"paths":{"/DirectoryIndexes/get_indexing":{"get":{"x-cpanel-api-version":"UAPI","description":"This function returns the directory indexing settings for a directory on the cPanel account and its subdirectories.","x-cpanel-available-version":"cPanel 88","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"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/DirectoryIndexes/get_indexing?dir=%2fhome%2fexample%2fexample.com","lang":"HTTP","label":"URL"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DirectoryIndexes_get_indexing.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DirectoryIndexes_get_indexing.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DirectoryIndexes/,\n    q/get_indexing/,\n    {\n        'dir' => '/home/example/example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DirectoryIndexes_get_indexing.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DirectoryIndexes_get_indexing.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DirectoryIndexes',\n    'get_indexing',\n    array (\n        'dir' => '/home/example/example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Return directory indexing settings","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"result":{"properties":{"status":{"example":1,"enum":[0,1],"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","type":"integer"},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"data":{"example":"disabled","description":"The directory's indexing type.\n- standard  The directory uses directory indexing with standard formatting.\n- disabled  The directory doesn't use directory indexing.\n- inherit  The directory uses the system's default settings.\n- fancy  The directory uses directory indexing with Apache FancyIndexing directive. The directory will include additional information such as file size and the date of the file's last update.","type":"string"},"metadata":{"properties":{}},"errors":{"example":null,"items":{"type":"string"},"description":"List of errors if the API failed.","nullable":true,"type":"array"},"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."}},"type":"object"},"module":{"description":"The name of the module called.","example":"DirectoryIndexes","type":"string"},"func":{"type":"string","description":"The name of the method called.","example":"get_indexing"},"apiversion":{"type":"integer","description":"The version of the API.","example":3}},"type":"object"}}}}},"parameters":[{"in":"query","name":"dir","schema":{"example":"/home/example/example.com","type":"string"},"required":true,"description":"The directory for which to check the indexing type."}],"tags":["DirectoryIndexes","Directory Indexes"],"operationId":"DirectoryIndexes-get_indexing","x-readonly":true}}}},"set_indexing":{"paths":{"/DirectoryIndexes/set_indexing":{"get":{"x-cpanel-api-version":"UAPI","x-cpanel-available-version":"cPanel 88","summary":"Update directory indexing settings","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  DirectoryIndexes \\\n  set_indexing \\\n  dir='/home/example/example.com' \\\n  type='inherit'\n","lang":"Shell","label":"CLI"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/DirectoryIndexes/set_indexing?dir=%2fhome%2fexample%2fexample.com&type=inherit"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DirectoryIndexes_set_indexing.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DirectoryIndexes_set_indexing.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DirectoryIndexes/,\n    q/set_indexing/,\n    {\n        'dir' => '/home/example/example.com',\n        'type' => 'inherit',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DirectoryIndexes_set_indexing.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DirectoryIndexes_set_indexing.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DirectoryIndexes',\n    'set_indexing',\n    array (\n        'dir' => '/home/example/example.com',\n        'type' => 'inherit',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"operationId":"DirectoryIndexes-set_indexing","x-readonly":false,"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"result":{"type":"object","properties":{"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."},"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null,"type":"array","nullable":true},"data":{"type":"string","description":"The directory's indexing type.\n* `standard` — The directory uses directory indexing with standard formatting.\n* `disabled` — The directory doesn't use directory indexing.\n* `inherit` — The directory uses the system's default settings.\n* `fancy` — The directory uses directory indexing with Apache FancyIndexing directive. The directory will include additional information such as file size and the date of the file's last update.","example":"disabled","enum":["standard","disabled","inherit","fancy"]},"metadata":{"properties":{}},"status":{"type":"integer","description":"* 1 — Success.\n* 0 — Failed. Check the `errors` field for more details.","enum":[0,1],"example":1}}},"module":{"description":"The name of the module called.","example":"DirectoryIndexes","type":"string"},"func":{"example":"set_indexing","description":"The name of the method called.","type":"string"},"apiversion":{"example":3,"description":"The version of the API.","type":"integer"}},"type":"object"}}}}},"tags":["DirectoryIndexes","Directory Indexes"],"x-rollback":"clean","description":"This function configures the [directory indexing](https://go.cpanel.net/cpaneldocsIndexes) settings for a directory on the cPanel account.","parameters":[{"required":true,"description":"The directory for which to manage directory indexing.","schema":{"type":"string","format":"path","example":"/home/example/example.com"},"in":"query","name":"dir"},{"name":"type","in":"query","schema":{"example":"inherit","enum":["standard","disabled","inherit","fancy"],"type":"string"},"required":true,"description":"The type of directory indexing.\n\n* `standard` — The directory uses directory indexing with standard formatting.\n* `disabled` — The directory doesn't use directory indexing.\n* `inherit` — The directory uses the system's default settings.\n* `fancy` — The directory uses directory indexing with Apache FancyIndexing directive. The directory will include additional information such as file size and the date of the file's last update."}]}}},"info":{"license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"servers":[{"variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"name":"DirectoryIndexes","description":"The DirectoryIndexes module for UAPI."},{"name":"Directory Indexes","description":"Directory Management / Directory Indexes"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"x-tagGroups":[{"name":"Directory Management","tags":["Directory Indexes"]}],"security":[{"BasicAuth":[]}]},"list_directories":{"security":[{"BasicAuth":[]}],"x-tagGroups":[{"tags":["Directory Indexes"],"name":"Directory Management"}],"components":{"schemas":{"index_type":{"example":"inherit","enum":["standard","disabled","inherit","fancy"],"description":"The directory's indexing type.\n\n* `standard` - The directory uses directory indexing with standard formatting.\n* `disabled` - The directory doesn't use directory indexing.\n* `inherit` - The directory uses the system's default settings.\n* `fancy` - The directory uses directory indexing with Apache® `httpd`’s `FancyIndexing` directive. The directory will include additional information such as file size and the date of the file's last update.","type":"string"}},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"name":"DirectoryIndexes","description":"The DirectoryIndexes module for UAPI."},{"name":"Directory Indexes","description":"Directory Management / Directory Indexes"}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"paths":{"/DirectoryIndexes/list_directories":{"get":{"parameters":[{"schema":{"example":"/home/example/example.com","format":"path","type":"string"},"description":"The absolute path of the directory for which to return indexing information.","required":true,"name":"dir","in":"query"}],"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","x-readonly":true,"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"func":{"example":"list_directories","description":"The name of the method called.","type":"string"},"result":{"type":"object","properties":{"data":{"type":"object","properties":{"parent":{"properties":{"state":{"description":"The parent directory's indexing information.","type":"object","properties":{"index_type":{"$ref":"#/components/schemas/index_type"}}},"path":{"type":"string","format":"path","example":"/home/example","description":"The parent directory's absolute path."}},"type":"object","description":"The current directory’s parent directory and its indexing information."},"home":{"description":"The user's home directory and its indexing information.","type":"object","properties":{"state":{"properties":{"index_type":{"$ref":"#/components/schemas/index_type"}},"type":"object","description":"An object containing the home directory's indexing information."},"path":{"example":"/home/example","description":"The home directory's absolute path.","format":"path","type":"string"}}},"children":{"description":"Subdirectories and their indexing information.\n\n**Note:**\n\nThe function returns an object for each subdirectory in a directory.","items":{"properties":{"path":{"format":"path","type":"string","description":"The subdirectory's absolute path.","example":"/home/example/example.com/cgi-bin"},"state":{"description":"The subdirectory's indexing information.","type":"object","properties":{"index_type":{"$ref":"#/components/schemas/index_type"}}}},"type":"object"},"type":"array"},"current":{"properties":{"path":{"type":"string","format":"path","description":"The current directory's absolute path.","example":"/home/example/example.com"},"state":{"type":"object","properties":{"index_type":{"$ref":"#/components/schemas/index_type"}},"description":"The current directory's indexing information."}},"type":"object","description":"The user's current directory and its indexing information."}}},"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null,"type":"array","nullable":true},"messages":{"description":"List of messages generated by the API.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"status":{"example":1,"enum":[0,1],"description":"* `1` - Success\n* `0` - Failed: Check the errors field for more details.","type":"integer"},"metadata":{"properties":{}},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true}}},"module":{"description":"The name of the module called.","example":"DirectoryIndexes","type":"string"},"apiversion":{"type":"integer","description":"The version of the API.","example":3}},"type":"object"}}},"description":"HTTP Request was successful."}},"tags":["DirectoryIndexes","Directory Indexes"],"x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  DirectoryIndexes \\\n  list_directories \\\n  dir='/home/example/example.com'\n","lang":"Shell","label":"CLI"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/DirectoryIndexes/list_directories?dir=%2fhome%2fexample%2fexample.com"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DirectoryIndexes_list_directories.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DirectoryIndexes_list_directories.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DirectoryIndexes/,\n    q/list_directories/,\n    {\n        'dir' => '/home/example/example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DirectoryIndexes_list_directories.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DirectoryIndexes_list_directories.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DirectoryIndexes',\n    'list_directories',\n    array (\n        'dir' => '/home/example/example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Return subdirectories directory indexing settings","x-cpanel-available-version":"cPanel 88","x-cpanel-api-version":"UAPI"}}}}},"WebDisk":{"set_permissions":{"paths":{"/WebDisk/set_permissions":{"get":{"x-rollback":"clean","x-cpanel-api-version":"UAPI","description":"This function changes the Web Disk home directory's permissions.\n\n**Important:**\n\nWhen you disable the [Web Disk role](https://go.cpanel.net/serverroles), the system **disables** this function.","x-cpanel-available-version":"cPanel 54","summary":"Update Web Disk home directory permissions","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  WebDisk \\\n  set_permissions \\\n  user='example1@example.com' \\\n  perms='rw'\n","lang":"Shell","label":"CLI"},{"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# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"operationId":"WebDisk-set_permissions","x-readonly":false,"tags":["WebDisk","WebDisk Settings"],"parameters":[{"description":"The Web Disk account's username.","required":true,"schema":{"type":"string","format":"email","example":"example1@example.com"},"name":"user","in":"query"},{"description":"The Web Disk account's home directory file permissions.\n\n* `ro` — Read-only permissions.\n* `rw` — Read and write permissions.","required":true,"schema":{"enum":["ro","rw"],"example":"rw","type":"string"},"in":"query","name":"perms"}],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"type":"integer","description":"The version of the API.","example":3},"result":{"properties":{"metadata":{"properties":{}},"data":{"type":"object","nullable":true,"default":null},"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API."},"messages":{"description":"List of messages generated by the API.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"errors":{"nullable":true,"type":"array","example":null,"description":"List of errors if the API failed.","items":{"type":"string"}},"status":{"type":"integer","enum":[0,1],"example":1,"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details."}}},"module":{"example":"WebDisk","description":"The name of the module called.","type":"string"},"func":{"description":"The name of the method called.","example":"set_permissions","type":"string"}}}}}}}}}},"security":[{"BasicAuth":[]}],"x-tagGroups":[{"tags":["WebDisk Settings"],"name":"Files"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"openapi":"3.0.2","servers":[{"variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"tags":[{"description":"The WebDisk module for UAPI.","name":"WebDisk"},{"description":"Files / WebDisk Settings","name":"WebDisk Settings"}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"},"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/"}},"set_password":{"paths":{"/WebDisk/set_password":{"get":{"x-rollback":"clean","summary":"Update Web Disk account password","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  WebDisk \\\n  set_password \\\n  user='example1@example.com' \\\n  password='123456luggage'\n","lang":"Shell","label":"CLI"},{"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# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 54","description":"This function changes the Web Disk account's password.\n\n**Important:**\n\nWhen you disable the [Web Disk role](https://go.cpanel.net/serverroles), the system **disables** this function.","x-cpanel-api-version":"UAPI","x-readonly":false,"operationId":"WebDisk-set_password","parameters":[{"name":"user","in":"query","schema":{"type":"string","format":"email","example":"example1@example.com"},"description":"The Web Disk account username.","required":true},{"name":"password","in":"query","required":true,"description":"The Web Disk account's password.","schema":{"example":"123456luggage","type":"string"}},{"in":"query","name":"enabledigest","required":false,"description":"Whether to enable Digest Authentication.\n\n* `1` - Enable Digest Authentication.\n* `0` - Disable Digest Authentication.","schema":{"type":"integer","default":0,"enum":[0,1],"example":0}}],"tags":["WebDisk","WebDisk Settings"],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"result":{"properties":{"status":{"enum":[0,1],"example":1,"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","type":"integer"},"errors":{"example":null,"items":{"type":"string"},"description":"List of errors if the API failed.","nullable":true,"type":"array"},"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"},"data":{"type":"object","nullable":true,"default":null},"warnings":{"example":null,"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"},"metadata":{"properties":{}}}},"module":{"example":"WebDisk","description":"The name of the module called.","type":"string"},"func":{"type":"string","description":"The name of the method called.","example":"set_password"},"apiversion":{"type":"integer","example":3,"description":"The version of the API."}}}}},"description":"HTTP Request was successful."}}}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"},"termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."},"security":[{"BasicAuth":[]}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute"}],"tags":[{"name":"WebDisk","description":"The WebDisk module for UAPI."},{"description":"Files / WebDisk Settings","name":"WebDisk Settings"}],"x-tagGroups":[{"name":"Files","tags":["WebDisk Settings"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}}},"set_homedir":{"paths":{"/WebDisk/set_homedir":{"get":{"x-cpanel-api-version":"UAPI","summary":"Update Web Disk home directory location","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  WebDisk \\\n  set_homedir \\\n  user='example1@example.com' \\\n  homedir='example1/'\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/WebDisk/set_homedir?user=example1%40example.com&homedir=example1%2f","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 54","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"result":{"properties":{"data":{"default":null,"nullable":true,"type":"object"},"warnings":{"example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","nullable":true,"type":"array"},"metadata":{"properties":{}},"errors":{"nullable":true,"type":"array","example":null,"description":"List of errors if the API failed.","items":{"type":"string"}},"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"},"status":{"type":"integer","description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","example":1,"enum":[0,1]}}},"module":{"example":"WebDisk","description":"The name of the module called.","type":"string"},"func":{"example":"set_homedir","description":"The name of the method called.","type":"string"}},"type":"object"}}}}},"tags":["WebDisk","WebDisk Settings"],"x-readonly":false,"operationId":"WebDisk-set_homedir","description":"This function changes the home directory for a Web Disk account.\n\n**Important:**\n\nWhen you disable the [Web Disk role](https://go.cpanel.net/serveroles), the system **disables** this function.","x-rollback":"none","parameters":[{"required":true,"description":"The Web Disk account username.","schema":{"format":"email","type":"string","example":"example1@example.com"},"in":"query","name":"user"},{"in":"query","name":"homedir","schema":{"format":"path","type":"string","example":"example1/"},"description":"The Web Disk account's home directory.","required":true},{"schema":{"type":"integer","example":0,"default":0,"enum":[0,1]},"required":false,"description":"Whether to set the Web Disk directory's permissions to public or private.\n\n* `1` - Private (`0700`)\n* `0` - Public (`0755`)","in":"query","name":"private"}]}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999"},"security":[{"BasicAuth":[]}],"openapi":"3.0.2","tags":[{"name":"WebDisk","description":"The WebDisk module for UAPI."},{"name":"WebDisk Settings","description":"Files / WebDisk Settings"}],"servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"description":"A server running cPanel."}],"x-tagGroups":[{"name":"Files","tags":["WebDisk Settings"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}}},"delete_user":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"security":[{"BasicAuth":[]}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute"}],"tags":[{"description":"The WebDisk module for UAPI.","name":"WebDisk"},{"description":"Files / WebDisk Settings","name":"WebDisk Settings"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"tags":["WebDisk Settings"],"name":"Files"}],"paths":{"/WebDisk/delete_user":{"get":{"x-cpanel-api-version":"UAPI","summary":"Delete Web Disk account","x-cpanel-available-version":"cPanel 54","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  WebDisk \\\n  delete_user \\\n  user='example1@example.com' \\\n  destroy='1'\n","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/WebDisk/delete_user?user=example1%40example.com&destroy=1","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"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":{"status":{"type":"integer","enum":[0,1],"example":1,"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details."},"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null},"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."},"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"},"example":null,"type":"array","nullable":true},"data":{"default":null,"type":"object","nullable":true},"metadata":{"properties":{}}}}},"type":"object"}}}}},"tags":["WebDisk","WebDisk Settings"],"operationId":"WebDisk-delete_user","x-readonly":false,"description":"This function deletes a Web Disk account.\n\n**Important:**\n\nWhen you disable the [Web Disk role](https://go.cpanel.net/serverroles), the system **disables** this function.","x-rollback":"none","parameters":[{"description":"The Web Disk account username.","required":true,"schema":{"example":"example1@example.com","type":"string","format":"email"},"in":"query","name":"user"},{"schema":{"type":"integer","enum":[0,1],"example":1},"description":"Whether to recursively delete the Web Disk account's folder and all of its contents.\n\n* `1` - Delete the folder for the Web Disk account\n* `0` - Do **not** delete the folder for the Web Disk account.","required":true,"in":"query","name":"destroy"}]}}}}},"PassengerApps":{"disable_application":{"paths":{"/PassengerApps/disable_application":{"get":{"x-rollback":"none","x-cpanel-api-version":"UAPI","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  PassengerApps \\\n  disable_application \\\n  name='slippers'\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/PassengerApps/disable_application?name=slippers","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file PassengerApps_disable_application.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/PassengerApps_disable_application.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/PassengerApps/,\n    q/disable_application/,\n    {\n        'name' => 'slippers',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file PassengerApps_disable_application.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/PassengerApps_disable_application.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'PassengerApps',\n    'disable_application',\n    array (\n        'name' => 'slippers',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-available-version":"cPanel 66","summary":"Disable Passenger application","description":"**Note**: Web Apps (`WebApp`) is the newer, recommended feature for\ndeploying web applications; it deploys container-based applications\nand supersedes Application Manager. Use `WebApp::stop` instead of this\nfunction for applications deployed with Web Apps. Use\n`PassengerApps` only to manage applications already registered with\nApplication Manager.\n\nThis 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","x-readonly":false,"tags":["PassengerApps","Application Manager"],"parameters":[{"schema":{"example":"slippers","type":"string"},"description":"The application to disable.","required":true,"in":"query","name":"name"}],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"module":{"type":"string","example":"PassengerApps","description":"The name of the module called."},"result":{"properties":{"metadata":{"properties":{}},"data":{"default":null,"type":"object","nullable":true},"warnings":{"example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","nullable":true,"type":"array"},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}},"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"status":{"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","example":1,"enum":[0,1],"type":"integer"}}},"func":{"example":"disable_application","description":"The name of the method called.","type":"string"}}}}}}}}}},"info":{"license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"x-tagGroups":[{"name":"Web Server Management","tags":["Application Manager"]}],"servers":[{"variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"name":"PassengerApps","description":"The PassengerApps module for UAPI."},{"name":"Application Manager","description":"Web Server Management / Application Manager\n\nApplication Manager is a legacy feature for managing Passenger applications. Prefer the newer Web Apps (WebApp) feature, which deploys container-based applications, for new deployments; use Application Manager only to manage applications already registered here."}],"security":[{"BasicAuth":[]}]},"register_application":{"info":{"contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"},"termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","description":"UAPI accesses the cPanel interface’s features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999"},"externalDocs":{"url":"https://cpanel.net/developers/"},"openapi":"3.0.2","tags":[{"description":"The PassengerApps module for UAPI.","name":"PassengerApps"},{"description":"Web Server Management / Application Manager\n\nApplication Manager is a legacy feature for managing Passenger applications. Prefer the newer Web Apps (WebApp) feature, which deploys container-based applications, for new deployments; use Application Manager only to manage applications already registered here.","name":"Application Manager"}],"servers":[{"description":"A server running cPanel.","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute"}],"x-tagGroups":[{"name":"Web Server Management","tags":["Application Manager"]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"security":[{"BasicAuth":[]}],"paths":{"/PassengerApps/register_application":{"get":{"description":"**Note**: Web Apps (`WebApp`) is the newer, recommended feature for\ndeploying web applications; it deploys container-based applications\nand supersedes Application Manager. For a new application, use\n`WebApp::stage` and `WebApp::deploy` instead of this function. Use\n`PassengerApps` only to manage applications already registered with\nApplication Manager.\n\nThis 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.","x-rollback":"none","parameters":[{"name":"name","in":"query","description":"The application’s name.","required":true,"schema":{"maxLength":50,"example":"Name of Application","minLength":1,"type":"string"}},{"in":"query","name":"path","schema":{"example":"/slippers","type":"string","format":"path"},"required":true,"description":"The application’s filepath relative to the user’s home directory."},{"description":"The domain for which to register the application.","required":true,"schema":{"example":"dorothy.com","format":"domain","type":"string"},"in":"query","name":"domain"},{"name":"deployment_mode","in":"query","schema":{"example":"production","default":"production","enum":["production","development"],"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.","required":false},{"in":"query","required":false,"explode":true,"name":"envvar_name","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.","style":"form","schema":{"type":"array","items":{"type":"string"},"example":["SHOES","TINMAN"],"maxLength":256}},{"name":"envvar_value","explode":true,"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.","style":"form","schema":{"type":"array","items":{"type":"string"},"maxLength":1024,"example":["ruby","heart"]},"in":"query","required":false},{"in":"query","name":"base_uri","required":false,"description":"The application’s base URI.","schema":{"format":"url-path","type":"string","default":"/","example":"/ruby"}},{"in":"query","name":"enabled","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.","required":false,"schema":{"enum":[0,1],"default":1,"example":1,"type":"integer"}}],"x-cpanel-available-version":"cPanel 66","x-codeSamples":[{"lang":"Shell","label":"CLI","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"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file PassengerApps_register_application.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/PassengerApps_register_application.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/PassengerApps/,\n    q/register_application/,\n    {\n        'name' => 'Name of Application',\n        'path' => '/slippers',\n        'domain' => 'dorothy.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file PassengerApps_register_application.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/PassengerApps_register_application.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'PassengerApps',\n    'register_application',\n    array (\n        'name' => 'Name of Application',\n        'path' => '/slippers',\n        'domain' => 'dorothy.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Register Passenger application","x-cpanel-api-version":"UAPI","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"apiversion":{"description":"The version of the API.","example":3,"type":"integer"},"result":{"type":"object","properties":{"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null},"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null},"metadata":{"properties":{}},"warnings":{"type":"array","nullable":true,"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"},"example":null},"data":{"example":{"Name of Application":{"domain":"dorothy.com","deployment_mode":"production","envvars":{"TINMAN":"heart","SHOES":"ruby"},"base_uri":"/ruby","path":"/home/dorothy/slippers","name":"Name of Application","enabled":1}},"description":"An object describing the newly-registered application.","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":{"path":{"type":"string","format":"path","description":"The path of the application inside the user’s home directory."},"name":{"description":"The name 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"},"base_uri":{"type":"string","format":"url-path","description":"The URI of the application."},"envvars":{"type":"object","description":"An object of the application’s environment variables and their values."},"domain":{"description":"The domain of the application.","type":"string"},"deployment_mode":{"type":"string","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":"object"},"status":{"type":"integer","example":1,"enum":[0,1],"description":"- `1` — Success.\n- `0` — Failed. Check the `errors` field for more details."}}},"module":{"description":"The name of the module called.","example":"PassengerApps","type":"string"},"func":{"type":"string","example":"register_application","description":"The name of the method called."}},"type":"object"}}},"description":"HTTP Request was successful."}},"tags":["PassengerApps","Application Manager"],"x-readonly":false,"operationId":"PassengerApps-register_application"}}}},"unregister_application":{"paths":{"/PassengerApps/unregister_application":{"get":{"operationId":"PassengerApps-unregister_application","x-readonly":false,"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"result":{"properties":{"status":{"enum":[0,1],"example":1,"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","type":"integer"},"data":{"nullable":true,"type":"object","default":null},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"metadata":{"properties":{}},"errors":{"nullable":true,"type":"array","example":null,"description":"List of errors if the API failed.","items":{"type":"string"}},"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"}}},"module":{"type":"string","example":"PassengerApps","description":"The name of the module called."},"func":{"example":"unregister_application","description":"The name of the method called.","type":"string"}},"type":"object"}}},"description":"HTTP Request was successful."}},"tags":["PassengerApps","Application Manager"],"x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  PassengerApps \\\n  unregister_application \\\n  name='slippers'\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/PassengerApps/unregister_application?name=slippers","label":"URL","lang":"HTTP"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file PassengerApps_unregister_application.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/PassengerApps_unregister_application.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/PassengerApps/,\n    q/unregister_application/,\n    {\n        'name' => 'slippers',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file PassengerApps_unregister_application.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/PassengerApps_unregister_application.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'PassengerApps',\n    'unregister_application',\n    array (\n        'name' => 'slippers',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"summary":"Unregister Passenger application","x-cpanel-available-version":"cPanel 66","x-cpanel-api-version":"UAPI","parameters":[{"schema":{"type":"string","example":"slippers"},"description":"The application to unregister.","required":true,"name":"name","in":"query"}],"x-rollback":"none","description":"**Note**: Web Apps (`WebApp`) is the newer, recommended feature for\ndeploying web applications; it deploys container-based applications\nand supersedes Application Manager. Use `WebApp::delete` instead of\nthis function for applications deployed with Web Apps. Use\n`PassengerApps` only to manage applications already registered with\nApplication Manager.\n\nThis 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."}}},"security":[{"BasicAuth":[]}],"openapi":"3.0.2","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 PassengerApps module for UAPI.","name":"PassengerApps"},{"description":"Web Server Management / Application Manager\n\nApplication Manager is a legacy feature for managing Passenger applications. Prefer the newer Web Apps (WebApp) feature, which deploys container-based applications, for new deployments; use Application Manager only to manage applications already registered here.","name":"Application Manager"}],"x-tagGroups":[{"tags":["Application Manager"],"name":"Web Server Management"}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI"}},"edit_application":{"paths":{"/PassengerApps/edit_application":{"get":{"x-cpanel-available-version":"cPanel 66","summary":"Update Passenger application settings","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  PassengerApps \\\n  edit_application \\\n  name='Ruby Slippers'\n","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/PassengerApps/edit_application?name=Ruby%20Slippers","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file PassengerApps_edit_application.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/PassengerApps_edit_application.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/PassengerApps/,\n    q/edit_application/,\n    {\n        'name' => 'Ruby Slippers',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file PassengerApps_edit_application.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/PassengerApps_edit_application.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'PassengerApps',\n    'edit_application',\n    array (\n        'name' => 'Ruby Slippers',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-api-version":"UAPI","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"apiversion":{"description":"The version of the API.","example":3,"type":"integer"},"module":{"description":"The name of the module called.","example":"PassengerApps","type":"string"},"result":{"type":"object","properties":{"status":{"type":"integer","enum":[0,1],"example":1,"description":"- `1` — Success.\n- `0` — Failed. Check the `errors` field for more details."},"warnings":{"example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","nullable":true,"type":"array"},"data":{"additionalProperties":{"properties":{"deployment_mode":{"description":"The deployment mode of the application.","enum":["production","development"],"type":"string"},"base_uri":{"description":"The URI of the application.","type":"string","format":"url-path"},"domain":{"description":"The domain of the application.","type":"string","format":"domain"},"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"},"path":{"format":"path","type":"string","description":"The path of the application inside the user’s home directory."},"name":{"type":"string","description":"The name of the application."}},"maxProperties":1,"x-additionalPropertiesName":"application_name","type":"object","description":"An object describing the newly-edited application.\n\n**Note**: `application_name` is the `name` of the application."},"type":"object"},"metadata":{"properties":{}},"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null},"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."}}},"func":{"description":"The name of the method called.","example":"edit_application","type":"string"}},"type":"object"},"example":{"status":1,"metadata":{},"data":{"Little Dog":{"enabled":1,"path":"/home/dorothy/littledog","name":"Little Dog","base_uri":"/littledog","envvars":{"LION":"courage","TINMAN":"heart","SCARECROW":"brain"},"deployment_mode":"production","domain":"toto.com"}},"messages":null,"errors":null}}},"description":"HTTP Request was successful."}},"tags":["PassengerApps","Application Manager"],"x-readonly":false,"operationId":"PassengerApps-edit_application","description":"**Note**: Web Apps (`WebApp`) is the newer, recommended feature for\ndeploying web applications; it deploys container-based applications\nand supersedes Application Manager. Use `WebApp::configure` instead of\nthis function for applications deployed with Web Apps. Use\n`PassengerApps` only to manage applications already registered with\nApplication Manager.\n\nThis 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.","x-rollback":"none","parameters":[{"schema":{"example":"Ruby Slippers","type":"string"},"description":"The application’s current name.","required":true,"in":"query","name":"name"},{"required":false,"description":"The application’s new name. If you do not use this parameter, the function does not change the application's name.","schema":{"type":"string","example":"Little Dog"},"name":"new_name","in":"query"},{"name":"path","in":"query","schema":{"type":"string","format":"path","example":"/home/dorothy/littledog"},"required":false,"description":"The application’s new filepath. If you do not use this parameter, the function does not change the application’s filepath."},{"name":"domain","in":"query","description":"The application’s new domain. If you do not use this parameter, the function does not change the application’s domain.","required":false,"schema":{"format":"domain","type":"string","example":"toto.com"}},{"name":"deployment_mode","in":"query","required":false,"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.","schema":{"type":"string","example":"production","enum":["production","development"]}},{"required":false,"in":"query","schema":{"type":"array","example":["SCARECROW","TINMAN","LION"],"items":{"type":"string"}},"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.","style":"form","explode":true,"name":"envvar_name"},{"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.","schema":{"type":"array","minLength":1,"items":{"type":"string"},"maxLength":1024,"example":["brain","heart","courage"]},"name":"envvar_value","required":false,"in":"query"},{"in":"query","name":"clear_envvars","required":false,"description":"Whether to clear the application’s environment variables.","schema":{"type":"integer","default":0,"enum":[0,1],"example":0}},{"name":"enabled","in":"query","schema":{"enum":[0,1],"default":1,"example":1,"type":"integer"},"required":false,"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."}]}}},"servers":[{"variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"tags":[{"description":"The PassengerApps module for UAPI.","name":"PassengerApps"},{"description":"Web Server Management / Application Manager\n\nApplication Manager is a legacy feature for managing Passenger applications. Prefer the newer Web Apps (WebApp) feature, which deploys container-based applications, for new deployments; use Application Manager only to manage applications already registered here.","name":"Application Manager"}],"openapi":"3.0.2","x-tagGroups":[{"name":"Web Server Management","tags":["Application Manager"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"security":[{"BasicAuth":[]}],"info":{"title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"}},"list_applications":{"x-tagGroups":[{"tags":["Application Manager"],"name":"Web Server Management"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"tags":[{"name":"PassengerApps","description":"The PassengerApps module for UAPI."},{"description":"Web Server Management / Application Manager\n\nApplication Manager is a legacy feature for managing Passenger applications. Prefer the newer Web Apps (WebApp) feature, which deploys container-based applications, for new deployments; use Application Manager only to manage applications already registered here.","name":"Application Manager"}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute"}],"security":[{"BasicAuth":[]}],"info":{"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface’s features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI"},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/PassengerApps/list_applications":{"get":{"summary":"Return Passenger applications","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  PassengerApps \\\n  list_applications\n","label":"CLI","lang":"Shell"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/PassengerApps/list_applications"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file PassengerApps_list_applications.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/PassengerApps_list_applications.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/PassengerApps/,\n    q/list_applications/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file PassengerApps_list_applications.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/PassengerApps_list_applications.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'PassengerApps',\n    'list_applications'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"x-cpanel-available-version":"cPanel 66","description":"**Note**: Web Apps (`WebApp`) is the newer, recommended feature for\ndeploying web applications; it deploys container-based applications\nand supersedes Application Manager. Use `WebApp::list` instead of this\nfunction for applications deployed with Web Apps. Use\n`PassengerApps` only to manage applications already registered with\nApplication Manager.\n\nThis 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.","x-cpanel-api-version":"UAPI","x-readonly":true,"operationId":"PassengerApps-list_applications","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"result":{"type":"object","properties":{"status":{"example":1,"enum":[0,1],"description":"- `1` — Success.\n- `0` — Failed. Check the `errors` field for more details.","type":"integer"},"data":{"description":"An object describing each application.","example":{"Name of Application 2":{"base_uri":"/app2-uri","name":"Name of Application 2","path":"/home/user/app2-dir","enabled":1,"domain":"example.com","deployment_mode":"development","envvars":{},"deps":{"pip":"0","gem":"cd /home/user/app2-dir && BUNDLE_PATH=~/.gem /path/to/ruby/version/package/bundler install","npm":"0"}},"Name of Application 1":{"base_uri":"/app1-uri","name":"Name of Application 1","path":"/home/user/app1-dir","enabled":1,"domain":"example.com","deployment_mode":"production","envvars":{},"deps":{"npm":"0","pip":"cd /home/user/app1-dir && pip install --user -r requirements.txt","gem":"0"}}},"type":"object","additionalProperties":{"description":"**Note**:\n\nThe top-level keys are the names of the applications.\n\nThe value is the object defined here.","type":"object","properties":{"deployment_mode":{"type":"string","example":"production","enum":["production","development"],"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."},"domain":{"format":"domain","type":"string","description":"The domain of the application","example":"example.com"},"python":{"format":"path","type":"string","description":"The path of the Python executable.\nPassenger uses Python to run the application.\n\n**Note**:\n\nThe function only returns this value if you configure this application to use\nPython.","example":"/usr/bin/python"},"deps":{"type":"object","properties":{"gem":{"type":"string","description":"The shell command to ensure ruby dependencies. It is `0` if there are no ruby dependencies.","example":"0"},"pip":{"example":"0","description":"The shell command to ensure python dependencies. It is `0` if there are no python dependencies.","type":"string"},"npm":{"type":"string","description":"The shell command to ensure node dependencies. It is `0` if there are no node dependencies.","example":"0"}}},"envvars":{"nullable":true,"type":"object","description":"The environment variables set for the application."},"nodejs":{"example":"/opt/cpanel/ea-nodejs10/bin/node","description":"The path of the Nodejs executable.\nPassenger uses Nodejs to run the application.\n\n**Note**:\n\nThe function only returns this value if you configure this application to use\nNodejs.","format":"path","type":"string"},"base_uri":{"format":"url-path","type":"string","description":"The URI of the application.","example":"/uri-of-app"},"ruby":{"example":"/opt/cpanel/ea-ruby27/root/usr/libexec/passenger-ruby27","description":"The path of the Ruby executable.\nPassenger uses Ruby to run the application.\n\n**Note**:\n\nThe function only returns this value if you configure this application to use\nRuby.","format":"path","type":"string"},"enabled":{"description":"The application’s enabled status.\n\n* `1` — Enabled.\n* `0` — Disabled."},"path":{"example":"/home/user/app-path","description":"The path of the application","type":"string","format":"path"},"name":{"description":"The name of the application","example":"My Application","type":"string"}}}},"warnings":{"example":null,"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"},"metadata":{"properties":{}},"errors":{"example":null,"description":"List of errors if the API failed.","items":{"type":"string"},"nullable":true,"type":"array"},"messages":{"items":{"type":"string"},"description":"List of messages generated by the API.","example":null,"type":"array","nullable":true}}},"module":{"type":"string","description":"The name of the module called.","example":"PassengerApps"},"func":{"type":"string","description":"The name of the method called.","example":"list_applications"}}}}}}},"tags":["PassengerApps","Application Manager"],"parameters":[]}}}},"enable_application":{"paths":{"/PassengerApps/enable_application":{"get":{"x-rollback":"none","x-cpanel-api-version":"UAPI","description":"**Note**: Web Apps (`WebApp`) is the newer, recommended feature for deploying web applications; it deploys container-based applications and supersedes Application Manager. Use `WebApp::start` instead of this function for applications deployed with Web Apps. Use `PassengerApps` only to manage applications already registered with Application Manager.\n\nThis function enables a Passenger application and generates the Apache configuration on an account.\n\n**Important:**\n\nWhen you disable the [Web Server role](https://go.cpanel.net/howtouseserverprofiles#roles), the system **disables** this function. ","summary":"Enable Passenger application","x-cpanel-available-version":"cPanel 66","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  PassengerApps \\\n  enable_application \\\n  name='slippers'\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/PassengerApps/enable_application?name=slippers","lang":"HTTP","label":"URL"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file PassengerApps_enable_application.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/PassengerApps_enable_application.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/PassengerApps/,\n    q/enable_application/,\n    {\n        'name' => 'slippers',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file PassengerApps_enable_application.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/PassengerApps_enable_application.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'PassengerApps',\n    'enable_application',\n    array (\n        'name' => 'slippers',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"operationId":"PassengerApps-enable_application","x-readonly":false,"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"func":{"description":"The name of the method called.","example":"enable_application","type":"string"},"result":{"properties":{"errors":{"example":null,"description":"List of errors if the API failed.","items":{"type":"string"},"nullable":true,"type":"array"},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}},"warnings":{"nullable":true,"type":"array","example":null,"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.","items":{"type":"string"}},"data":{"nullable":true,"type":"object","default":null},"metadata":{"properties":{}},"status":{"type":"integer","enum":[0,1],"example":1,"description":"* `1` - Success.\n* `0` - Failed. Check the errors field for more details."}}},"module":{"description":"The name of the module called.","example":"PassengerApps","type":"string"}},"type":"object"}}}}},"tags":["PassengerApps","Application Manager"],"parameters":[{"schema":{"type":"string","example":"slippers"},"required":true,"description":"The Passenger application to enable on the account.","in":"query","name":"name"}]}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}},"security":[{"BasicAuth":[]}],"tags":[{"name":"PassengerApps","description":"The PassengerApps module for UAPI."},{"description":"Web Server Management / Application Manager\n\nApplication Manager is a legacy feature for managing Passenger applications. Prefer the newer Web Apps (WebApp) feature, which deploys container-based applications, for new deployments; use Application Manager only to manage applications already registered here.","name":"Application Manager"}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}}}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"x-tagGroups":[{"name":"Web Server Management","tags":["Application Manager"]}]},"ensure_deps":{"paths":{"/PassengerApps/ensure_deps":{"get":{"x-rollback":"none","x-cpanel-available-version":"cPanel 80","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  PassengerApps \\\n  ensure_deps \\\n  type='npm' \\\n  app_path='/home/example/my-app/'\n"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/PassengerApps/ensure_deps?type=npm&app_path=%2fhome%2fexample%2fmy-app%2f"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file PassengerApps_ensure_deps.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/PassengerApps_ensure_deps.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/PassengerApps/,\n    q/ensure_deps/,\n    {\n        'type' => 'npm',\n        'app_path' => '/home/example/my-app/',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file PassengerApps_ensure_deps.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/PassengerApps_ensure_deps.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'PassengerApps',\n    'ensure_deps',\n    array (\n        'type' => 'npm',\n        'app_path' => '/home/example/my-app/',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Install Passenger application dependencies","description":"**Note**: Web Apps (`WebApp`) is the newer, recommended feature for\ndeploying web applications; it deploys container-based applications\nand supersedes Application Manager. `WebApp::deploy` installs an\napplication's dependencies automatically as part of the deploy, so\nthere is no separate dependency-install call for Web Apps. Use\n`PassengerApps` only to manage applications already registered with\nApplication Manager.\n\nThis 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.","x-cpanel-api-version":"UAPI","x-readonly":false,"operationId":"PassengerApps-ensure_deps","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"func":{"type":"string","example":"ensure_deps","description":"The name of the method called."},"result":{"properties":{"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"},"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null},"metadata":{"properties":{}},"data":{"properties":{"task_id":{"example":"00000000/5c76ec5566332c","description":"The task id of the SSE process.","type":"string"},"sse_url":{"example":"/sse/UserTasks/00000000_5c6c8b18228a35/ensure_deps.log","description":"The SSE URI to track the progress of the process.","format":"url-path","type":"string"}},"type":"object"},"warnings":{"example":null,"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"},"status":{"type":"integer","description":"- `1` - Success.\n- `0` - Failed. Check the `errors` field for more details.","enum":[0,1],"example":1}},"type":"object"},"module":{"type":"string","example":"PassengerApps","description":"The name of the module called."}},"type":"object"}}},"description":"HTTP Request was successful."}},"parameters":[{"name":"type","in":"query","description":"The application’s type.\n\n* `gem` — Ensure ruby gems in the application’s `Gemfile` file.\n* `npm` — Ensure node packages in the application’s `package.json` file.\n* `pip` — Ensure python pips in the application’s `requirements.txt` file.","required":true,"schema":{"enum":["gem","npm","pip"],"example":"npm","type":"string"}},{"schema":{"type":"string","format":"path","example":"/home/example/my-app/"},"description":"The application’s filepath.","required":true,"in":"query","name":"app_path"}],"tags":["PassengerApps","Application Manager"]}}},"info":{"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"},"title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."},"externalDocs":{"url":"https://cpanel.net/developers/"},"x-tagGroups":[{"tags":["Application Manager"],"name":"Web Server Management"}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"servers":[{"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."}},"description":"A server running cPanel."}],"tags":[{"name":"PassengerApps","description":"The PassengerApps module for UAPI."},{"description":"Web Server Management / Application Manager\n\nApplication Manager is a legacy feature for managing Passenger applications. Prefer the newer Web Apps (WebApp) feature, which deploys container-based applications, for new deployments; use Application Manager only to manage applications already registered here.","name":"Application Manager"}],"openapi":"3.0.2","security":[{"BasicAuth":[]}]}},"LastLogin":{"get_last_or_current_logged_in_ip":{"paths":{"/LastLogin/get_last_or_current_logged_in_ip":{"get":{"x-cpanel-api-version":"UAPI","description":"This function returns the IP address of the user who most recently logged in.","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  LastLogin \\\n  get_last_or_current_logged_in_ip\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/LastLogin/get_last_or_current_logged_in_ip","label":"URL","lang":"HTTP"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file LastLogin_get_last_or_current_logged_in_ip.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/LastLogin_get_last_or_current_logged_in_ip.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/LastLogin/,\n    q/get_last_or_current_logged_in_ip/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file LastLogin_get_last_or_current_logged_in_ip.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/LastLogin_get_last_or_current_logged_in_ip.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'LastLogin',\n    'get_last_or_current_logged_in_ip'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Return last authenticated login IP address","x-cpanel-available-version":"cPanel 11.48","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"func":{"type":"string","description":"The name of the method called.","example":"get_last_or_current_logged_in_ip"},"module":{"example":"LastLogin","description":"The name of the module called.","type":"string"},"result":{"properties":{"status":{"type":"integer","description":"* `1` Success.\n* `0` Failed. Check the errors field for more details.","example":1,"enum":[0,1]},"errors":{"example":null,"items":{"type":"string"},"description":"List of errors if the API failed.","nullable":true,"type":"array"},"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"data":{"type":"array","items":{"example":"192.168.0.1","type":"string","format":"ipv4"},"description":"The IP address of the user who most recently logged in."},"metadata":{"properties":{}}},"type":"object"},"apiversion":{"example":3,"description":"The version of the API.","type":"integer"}},"type":"object"}}},"description":"HTTP Request was successful."}},"parameters":[],"tags":["LastLogin","Login Information"],"operationId":"LastLogin-get_last_or_current_logged_in_ip","x-readonly":true}}},"info":{"contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"},"termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999"},"externalDocs":{"url":"https://cpanel.net/developers/"},"tags":[{"description":"The LastLogin module for UAPI.","name":"LastLogin"},{"name":"Login Information","description":"Security / Login Information"}],"openapi":"3.0.2","servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"description":"A server running cPanel."}],"x-tagGroups":[{"name":"Security","tags":["Login Information"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"security":[{"BasicAuth":[]}]}},"WordPressBackup":{"start":{"paths":{"/WordPressBackup/start":{"get":{"parameters":[{"in":"query","name":"site","example":"example.com","required":true,"description":"The WordPress site's URL without the protocol prefix.","schema":{"type":"string","anyOf":[{"format":"url-path","example":"example.com/wordpress"},{"example":"example.com","format":"domain"}]}}],"x-rollback":"none","description":"This function starts a single WordPress® site backup.\n\n**Note:**\n\nYou **must** install the [WordPress Manager](https://go.cpanel.net/wordpressmanager) cPanel plugin to access this API function.","x-readonly":false,"operationId":"WordPressBackup-start","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"module":{"type":"string","description":"The name of the module called.","example":"WordPressBackup"},"result":{"type":"object","properties":{"status":{"type":"integer","description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","enum":[0,1],"example":1},"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"},"errors":{"example":null,"items":{"type":"string"},"description":"List of errors if the API failed.","nullable":true,"type":"array"},"metadata":{"properties":{}},"data":{"properties":{"backup_id":{"type":"string","example":"example.com__2018-10-10T10:53:31-0500","description":"The unique ID of the backup process."},"sse_url":{"description":"The SSE path **without** the protocol, hostname, or port that the system uses to monitor the backup progress.","example":"/sse/WordPressBackup","type":"string","format":"url-path"},"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"}},"type":"object"},"warnings":{"nullable":true,"type":"array","example":null,"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"}}}},"func":{"description":"The name of the method called.","example":"start","type":"string"},"apiversion":{"type":"integer","description":"The version of the API.","example":3}},"type":"object"}}}}},"tags":["WordPressBackup","WordPress Manager Backups"],"x-cpanel-api-version":"UAPI","summary":"Backup WordPress site","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  WordPressBackup \\\n  start \\\n  site='example.com'\n","lang":"Shell","label":"CLI"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/WordPressBackup/start?site=example.com","lang":"HTTP","label":"URL"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-available-version":"WordPress Manager 3.0"}}},"info":{"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"openapi":"3.0.2","servers":[{"variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"tags":[{"name":"WordPressBackup","description":"The WordPressBackup module for UAPI."},{"description":"Optional Applications / WordPress Manager Backups","name":"WordPress Manager Backups"}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"x-tagGroups":[{"tags":["WordPress Manager Backups"],"name":"Optional Applications"}],"security":[{"BasicAuth":[]}]},"cleanup":{"paths":{"/WordPressBackup/cleanup":{"get":{"x-rollback":"none","description":"This function releases any system resources from a previous WordPress® site backup.\n\n**Note:**\n\nYou **must** install the [WordPress Manager](https://go.cpanel.net/wordpressmanager) cPanel plugin to access this API function.","x-cpanel-available-version":"WordPress Manager 3.0","summary":"Delete WordPress backup temporary files","x-codeSamples":[{"lang":"Shell","label":"CLI","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"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-api-version":"UAPI","operationId":"WordPressBackup-cleanup","x-readonly":false,"parameters":[{"required":true,"description":"The WordPress site's URL **without** the protocol prefix.","schema":{"example":"example.com/wordpress","type":"string"},"in":"query","name":"site"}],"tags":["WordPressBackup","WordPress Manager Backups"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"result":{"properties":{"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null},"messages":{"example":null,"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"},"data":{"type":"object","properties":{"site":{"type":"string","example":"example.com","description":"The site's URL **without** the protocol prefix."},"ok":{"type":"integer","example":1,"enum":[0,1],"description":"Whether the system released the system resources.\n* `1` - Resources released.\n* `0` - Backup in progress."}},"nullable":true},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"metadata":{"properties":{}},"status":{"example":1,"enum":[0,1],"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","type":"integer"}},"type":"object"},"module":{"type":"string","description":"The name of the module called.","example":"WordPressBackup"},"func":{"description":"The name of the method called.","example":"cleanup","type":"string"},"apiversion":{"type":"integer","example":3,"description":"The version of the API."}},"type":"object"}}}}}}}},"info":{"title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"x-tagGroups":[{"tags":["WordPress Manager Backups"],"name":"Optional Applications"}],"servers":[{"description":"A server running cPanel.","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"url":"https://{host}:{port}/execute"}],"openapi":"3.0.2","tags":[{"name":"WordPressBackup","description":"The WordPressBackup module for UAPI."},{"description":"Optional Applications / WordPress Manager Backups","name":"WordPress Manager Backups"}],"security":[{"BasicAuth":[]}]},"get_available_backups":{"paths":{"/WordPressBackup/get_available_backups":{"get":{"x-cpanel-api-version":"UAPI","x-cpanel-available-version":"WordPress Manager 3.0","summary":"Return WordPress site 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"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/WordPressBackup/get_available_backups?site=example.com%2fwordpress"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"description":"This function retrieves a list of available WordPress® site backups of a single site.\n\n**Note:**\n\nYou **must** install the [WordPress Manager](https://go.cpanel.net/wordpressmanager) cPanel plugin to access this API function.","parameters":[{"schema":{"type":"string","example":"example.com/wordpress"},"required":true,"description":"The WordPress site's URL **without** the protocol prefix.","name":"site","in":"query"}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"module":{"type":"string","description":"The name of the module called.","example":"WordPressBackup"},"result":{"type":"object","properties":{"status":{"enum":[0,1],"example":1,"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","type":"integer"},"metadata":{"properties":{}},"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null,"type":"array","nullable":true},"data":{"properties":{"dir":{"type":"string","example":"/home/example/wordpress-backups","description":"The absolute path to the backup directory."},"available":{"nullable":true,"type":"array","description":"An array of objects containing a list of the WordPress site's backups.","items":{"properties":{"path":{"type":"string","description":"The absolute path to the backup file.","example":"/home/example/wordpress-backups/example.com__2018-10-10T10:53:31-0500.tar.gz"},"file":{"type":"string","example":"example.com__2018-10-10T10:53:31-0500.tar.gz","description":"The backup's file name with the `tar.zip` extension."},"site":{"type":"string","example":"example.com","description":"The site's URL **without** the protocol prefix."},"date":{"type":"integer","format":"unix_timestamp","example":1539267197000,"description":"The date and time the system created the backup."}},"type":"object"}}},"type":"object"},"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."},"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."}}},"func":{"type":"string","description":"The name of the method called.","example":"get_available_backups"},"apiversion":{"example":3,"description":"The version of the API.","type":"integer"}},"type":"object"}}},"description":"HTTP Request was successful."}},"tags":["WordPressBackup","WordPress Manager Backups"],"x-readonly":true,"operationId":"WordPressBackup-get_available_backups"}}},"security":[{"BasicAuth":[]}],"x-tagGroups":[{"name":"Optional Applications","tags":["WordPress Manager Backups"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"description":"The WordPressBackup module for UAPI.","name":"WordPressBackup"},{"name":"WordPress Manager Backups","description":"Optional Applications / WordPress Manager Backups"}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"},"title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999"}},"any_running":{"paths":{"/WordPressBackup/any_running":{"get":{"x-cpanel-api-version":"UAPI","x-cpanel-available-version":"WordPress Manager 3.0","summary":"Return all WordPress sites' backup status","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  WordPressBackup \\\n  any_running\n"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/WordPressBackup/any_running"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"description":"This function checks for any active WordPress® site backups on the cPanel account.\n\n**Note:**\n\nYou **must** install the [WordPress Manager](https://go.cpanel.net/wordpressmanager) cPanel plugin to access this API function.","operationId":"WordPressBackup-any_running","x-readonly":true,"tags":["WordPressBackup","WordPress Manager Backups"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"module":{"description":"The name of the module called.","example":"WordPressBackup","type":"string"},"result":{"type":"object","properties":{"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"},"example":null,"type":"array","nullable":true},"data":{"properties":{"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"},"any_running":{"example":0,"enum":[0,1],"description":"Whether any backups are in progess.\n* `1` - Backups are in progress.\n* `0` - No backups are in progress.","type":"integer"},"sites":{"items":{"type":"object","properties":{"id":{"example":"null","description":"The WordPress site's unique ID.\n\n**Note:**\n\n`null` is the only possible value. We have not implemented this return.","nullable":true,"type":"string"},"type":{"type":"string","example":"backup","description":"The type of process that is active.\n\n**Note:**\n\n`backup` is the only possible value."},"site":{"type":"string","example":"example.com","description":"The WordPress site's URL. The URL does not contain a protocol prefix."}}},"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.","type":"array"}},"type":"object"},"metadata":{"properties":{}},"errors":{"example":null,"items":{"type":"string"},"description":"List of errors if the API failed.","nullable":true,"type":"array"},"messages":{"description":"List of messages generated by the API.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"status":{"example":1,"enum":[0,1],"description":"* 1 - Success.\n* 0 - Failed. Check the `errors` field for more details.","type":"integer"}}},"func":{"type":"string","description":"The name of the method called.","example":"any_running"},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}}}}}}},"parameters":[]}}},"info":{"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"},"title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999"},"externalDocs":{"url":"https://cpanel.net/developers/"},"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"x-tagGroups":[{"tags":["WordPress Manager Backups"],"name":"Optional Applications"}],"openapi":"3.0.2","tags":[{"description":"The WordPressBackup module for UAPI.","name":"WordPressBackup"},{"description":"Optional Applications / WordPress Manager Backups","name":"WordPress Manager Backups"}],"servers":[{"description":"A server running cPanel.","variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute"}],"security":[{"BasicAuth":[]}]},"is_running":{"paths":{"/WordPressBackup/is_running":{"get":{"x-cpanel-api-version":"UAPI","description":"This function checks for an active WordPress® site backup.\n\n**Note:**\n\nYou **must** install the [WordPress Manager](https://go.cpanel.net/wordpressmanager) cPanel plugin to access this API function.","summary":"Return WordPress site backup status","x-cpanel-available-version":"WordPress Manager 3.0","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"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/WordPressBackup/is_running?site=example.com%0a%0aexample.com%2fwordpress"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"module":{"type":"string","example":"WordPressBackup","description":"The name of the module called."},"result":{"type":"object","properties":{"status":{"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","enum":[0,1],"example":1,"type":"integer"},"metadata":{"properties":{}},"data":{"type":"object","properties":{"is_running":{"type":"integer","description":"Whether a backup is active.\n* `1` - Backup in progress.\n* `0` - No backup in progress.","enum":[0,1],"example":0},"action_id":{"description":"The unique ID of the backup process.","example":"example.com__2018-10-10T10:53:31-0500","type":"string","nullable":true}}},"warnings":{"type":"array","nullable":true,"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"},"example":null},"messages":{"example":null,"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"},"errors":{"nullable":true,"type":"array","example":null,"description":"List of errors if the API failed.","items":{"type":"string"}}}},"func":{"description":"The name of the method called.","example":"is_running","type":"string"}},"type":"object"}}}}},"tags":["WordPressBackup","WordPress Manager Backups"],"parameters":[{"schema":{"example":"example.com\n\nexample.com/wordpress","type":"string"},"description":"The WordPress site's URL **without** `http://`.","required":true,"name":"site","in":"query"}],"x-readonly":true,"operationId":"WordPressBackup-is_running"}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"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":{"description":"The cPanel port.","default":"2083"}}}],"openapi":"3.0.2","tags":[{"name":"WordPressBackup","description":"The WordPressBackup module for UAPI."},{"name":"WordPress Manager Backups","description":"Optional Applications / WordPress Manager Backups"}],"x-tagGroups":[{"tags":["WordPress Manager Backups"],"name":"Optional Applications"}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}}},"cancel":{"paths":{"/WordPressBackup/cancel":{"get":{"x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  WordPressBackup \\\n  cancel \\\n  site='example.com'\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/WordPressBackup/cancel?site=example.com","label":"URL","lang":"HTTP"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"summary":"Stop WordPress site backup","x-cpanel-available-version":"WordPress Manager 3.0","x-cpanel-api-version":"UAPI","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","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":{"type":"string","example":"WordPressBackup","description":"The name of the module called."},"result":{"properties":{"warnings":{"example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","nullable":true,"type":"array"},"data":{"properties":{"ok":{"type":"integer","example":0,"enum":[0,1],"description":"Whether the system cancelled an active backup.\n* `1` — Backup cancelled.\n* `0` — Could not cancel the backup or no active backup in progress."},"site":{"description":"The site's URL without the protocol prefix.","oneOf":[{"format":"domain","example":"example.com"},{"format":"url-path","example":"example.com/wordpress"}],"type":"string"}},"type":"object"},"metadata":{"properties":{}},"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"messages":{"example":null,"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"},"status":{"type":"integer","description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","enum":[0,1],"example":1}},"type":"object"}}}}}}},"tags":["WordPressBackup","WordPress Manager Backups"],"x-readonly":false,"operationId":"WordPressBackup-cancel","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.","x-rollback":"none","parameters":[{"in":"query","name":"site","schema":{"anyOf":[{"example":"example.com","format":"domain"},{"format":"url-path","example":"example.com/wordpress"}],"type":"string"},"example":"example.com","description":"The WordPress site's URL without the protocol prefix.","required":true}]}}},"security":[{"BasicAuth":[]}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"x-tagGroups":[{"name":"Optional Applications","tags":["WordPress Manager Backups"]}],"servers":[{"url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"description":"A server running cPanel."}],"tags":[{"name":"WordPressBackup","description":"The WordPressBackup module for UAPI."},{"description":"Optional Applications / WordPress Manager Backups","name":"WordPress Manager Backups"}],"openapi":"3.0.2","externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}}}},"CSVImport":{"doimport":{"x-tagGroups":[{"tags":["Email Accounts"],"name":"Email"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"servers":[{"variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"description":"The CSVImport module for UAPI.","name":"CSVImport"},{"name":"Email Accounts","description":"Email / Email Accounts"}],"security":[{"BasicAuth":[]}],"info":{"contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"},"version":"11.93.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI"},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/CSVImport/doimport":{"get":{"x-rollback":"none","description":"This function imports email accounts from an already uploaded CSV file.","parameters":[{"in":"query","name":"id","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`.","required":true,"schema":{"type":"string","example":"Leq58oid3sF3Moye3_YbJGqoMvCb7M4j"}},{"in":"query","name":"type","schema":{"example":"email","enum":["email","fwd"],"type":"string"},"required":true,"description":"The type of email address to add.\n\n* `email` — A regular email account.\n* `fwd` — A forwarder."},{"in":"query","name":"domain","schema":{"type":"string","format":"domain","example":"example.com"},"description":"The domain under which to add the email accounts.","required":true}],"x-cpanel-api-version":"UAPI","summary":"Import email accounts from CSV file","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  CSVImport \\\n  doimport \\\n  id='Leq58oid3sF3Moye3_YbJGqoMvCb7M4j' \\\n  type='email' \\\n  domain='example.com'\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/CSVImport/doimport?id=Leq58oid3sF3Moye3_YbJGqoMvCb7M4j&type=email&domain=example.com","label":"URL","lang":"HTTP"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file CSVImport_doimport.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/CSVImport_doimport.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/CSVImport/,\n    q/doimport/,\n    {\n        'id' => 'Leq58oid3sF3Moye3_YbJGqoMvCb7M4j',\n        'type' => 'email',\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file CSVImport_doimport.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/CSVImport_doimport.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'CSVImport',\n    'doimport',\n    array (\n        'id' => 'Leq58oid3sF3Moye3_YbJGqoMvCb7M4j',\n        'type' => 'email',\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"x-cpanel-available-version":"cPanel 94","x-readonly":false,"operationId":"CSVImport-doimport","tags":["CSVImport","Email Accounts"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"func":{"type":"string","example":"doimport","description":"The name of the method called."},"module":{"type":"string","example":"CSVImport","description":"The name of the module called."},"result":{"properties":{"errors":{"example":["1 error(s) were encountered while importing accounts."],"items":{"type":"string"},"description":"List of errors if the API failed.","nullable":true,"type":"array"},"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."},"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.","example":null,"type":"array","nullable":true},"data":{"type":"object","properties":{"results":{"type":"array","items":{"properties":{"status":{"description":"The outcome of each operation.\n\n* `1` — Success.\n* `0` — Failed.","enum":[0,1],"type":"integer"},"reason":{"type":"string","description":"The explanation of the outcome for each operation."},"email":{"type":"string","format":"email","example":"j.doe@example.com","description":"The email address or forwarder."},"type":{"enum":["email","fwd"],"example":"email","description":"The type of email address.\n\n* `email` — A regular email account.\n* `fwd` — A forwarder.","type":"string"},"fwd":{"description":"The destination of the forwarder (if applicable).","example":null,"type":"string","nullable":true,"format":"email"}},"type":"object"},"description":"The results for each attempted add operation.","example":[{"reason":"OK","email":"j.doe@example.com","status":1,"type":"email"},{"type":"email","reason":"The account jdoe@example.com already exists!","status":0,"email":"jdoe@example.com"}]}}},"metadata":{"properties":{}},"status":{"type":"integer","example":0,"enum":[0,1],"description":"* `1` — Success\n* `0` — Failed: One or more errors occurred. For errors related to individual account add operations, see the `reason` field in each record from `results` for more information."}}},"apiversion":{"type":"integer","description":"The version of the API.","example":3}},"type":"object"}}}}}}}}}},"Branding":{"get_available_applications":{"security":[{"BasicAuth":[]}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"x-tagGroups":[{"tags":["Application Information"],"name":"cPanel Theme Management"}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute"}],"tags":[{"description":"The Branding module for UAPI.","name":"Branding"},{"name":"Application Information","description":"cPanel Theme Management / Application Information"}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"}},"paths":{"/Branding/get_available_applications":{"get":{"parameters":[{"name":"nvarglist","in":"query","schema":{"type":"string","example":"pref|software|domains"},"description":"A pipe-separated list of group names denoting the order in which to sort the\ngroups. If you do not supply a value, the function does not sort the groups.\n\n**Note:**\n\n`arglist` is an alias for this parameter.","required":false}],"tags":["Branding","Application Information"],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"func":{"type":"string","description":"The name of the method called.","example":"get_available_applications"},"module":{"type":"string","description":"The name of the module called.","example":"Branding"},"result":{"type":"object","properties":{"status":{"example":1,"enum":[0,1],"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","type":"integer"},"errors":{"example":null,"items":{"type":"string"},"description":"List of errors if the API failed.","nullable":true,"type":"array"},"messages":{"items":{"type":"string"},"description":"List of messages generated by the API.","example":null,"type":"array","nullable":true},"warnings":{"type":"array","nullable":true,"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"},"example":null},"data":{"properties":{"groups":{"items":{"properties":{"items":{"items":{"example":{"itemorder":"1","itemdesc":"File Manager","imgtype":"icon","key":"file_manager","searchtext":"File Manager file-manager","height":"48","if":"$HASROLE{'FileStorage'}","file":"file_manager","type":"image","feature":"filemanager","target":"file_manager","base64_png_image":"","width":"48","implements":"FileManager_Home","acontent":"target=\"file_manager\"","group":"files","onclick":"","url":"filemanager/index.html","subtype":"img","plainitemdesc":"File Manager"},"properties":{"height":{"example":"48","description":"The application icon height, in pixels.","type":"string"},"searchtext":{"type":"string","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"},"itemdesc":{"example":"Addon Domain","description":"The application's display name.","type":"string"},"imgtype":{"type":"string","description":"The item's image type.\n\n`icon` is the only possible value.","enum":["icon"],"example":"icon"},"itemorder":{"type":"string","example":"4","description":"The application's order in the `dynamicui.conf` file. This value represents the application's display order in cPanel's *Home* interface."},"width":{"type":"string","description":"The application's icon's width, in pixels.","example":"48"},"base64_png_image":{"description":"The application's icon in Base64 format.","type":"string","format":"base64 image"},"target":{"example":"file_manager","description":"The target of the application's link.","type":"string"},"file":{"description":"The application's icon's filename.","example":"addon_domains","type":"string"},"type":{"description":"The application's type.\n\n`image` is the only possible value.","example":"image","enum":["image"],"type":"string"},"feature":{"type":"string","example":"addondomains","description":"A feature name. The icon **only** displays if the cPanel user can access this feature."},"if":{"description":"An expression containing cPanel variables that determine whether\nto display the item. The function **only** returns this value if\nany variables exist.\n\nFor example, `$isreseller` indicates that the item **only**\ndisplays for reseller accounts.\n\nFor more information, read our\n[Guide to cPanel Variables documentation](https://go.cpanel.net/guidetovariables).","example":"$isreseller","type":"string"},"subtype":{"type":"string","example":"img","enum":["img"],"description":"The item's subtype.\n\n`img` is the only possible value."},"url":{"type":"string","format":"url-path","example":"addon/index.html","description":"The path to which the application's icon links."},"onclick":{"type":"string","description":"JavaScript function that the browser calls before or instead of URL navigation.","example":"function"},"group":{"type":"string","description":"The item's group.","example":"advanced"},"module":{"description":"The Perl module that the application requires.","example":"My::Module","type":"string"},"acontent":{"type":"string","example":"file_manager","description":"The content of a tag in the application's link."},"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"},"touch":{"type":"string","example":"ftp","description":"Conditional arguments that determine whether to display the item, if a specified touch file exists."}},"type":"object"},"description":"The groups and their application details.","type":"array"},"group":{"type":"string","example":"files","description":"The group's ID."},"desc":{"type":"string","description":"The group's description.","example":"Files"}},"type":"object"},"description":"Information about each group in the cPanel interface.","type":"array"},"grouporder":{"example":["files","databases","domains","email","metrics","security","software","advanced","preferences","pref"],"description":"A list of group IDs, in the order in which the groups appear.","items":{"type":"string"},"type":"array"},"default_group_order":{"example":{"domains":3,"preferences":8,"security":6,"advanced":7,"files":1,"software":6,"email":4,"metrics":5,"databases":2,"sample_apps":9},"description":"An object that defines the default order of applications in cPanel.","additionalProperties":{"description":"The group's default position.\n\n**Note:**\n\nThe property name is the group ID.","type":"integer"},"type":"object"},"index":{"description":"The applications and the order in which they appear in the cPanel interface.","example":{"addon_domains":[2,2],"zone_editor":[2,6],"redirects":[2,5],"cron_jobs":[7,1],"calendar_and_contacts":[3,14],"tls_status":[5,6],"mysql_database_wizard":[1,2],"track_dns":[7,2],"change_style":[8,2],"domains":[2,1],"mime_types":[7,6],"web_disk":[0,4],"perl_modules":[6,1],"analog_stats":[4,5],"email_accounts":[3,0],"version_control":[0,7],"user_manager":[8,4],"address_importer":[3,10],"subdomains":[2,3],"contact_information":[8,3],"email_deliverability":[3,9],"change_password":[8,0],"boxtrapper":[3,13],"php_pear_packages":[6,0],"change_language":[8,1],"mysql_databases":[1,1],"indexes":[7,3],"webalizer":[4,6],"hotlink_protection":[5,4],"visitors":[4,0],"remote_mysql":[1,3],"ssh_access":[5,0],"default_address":[3,4],"ip_blocker":[5,1],"file_manager":[0,0],"api_tokens":[5,3],"awstats":[4,4],"backup_wizard":[0,6],"error_pages":[7,4],"multiphp_ini_editor":[6,5],"backup":[0,5],"terminal":[7,0],"site_publisher":[2,0],"optimize_website":[6,3],"track_delivery":[3,6],"encryption":[3,12],"directory_privacy":[0,2],"site_software":[6,2],"forwarders":[3,1],"images":[0,1],"leech_protection":[5,5],"apache_handlers":[7,5],"email_disk_usage":[3,15],"email_routing":[3,2],"raw_access":[4,3],"autoresponders":[3,3],"mailing_lists":[3,5],"disk_usage":[0,3],"apache_spam_assassin":[3,11],"multiphp_manager":[6,4],"metrics_editor":[4,7],"global_email_filters":[3,7],"php_my_admin":[1,0],"errors":[4,1],"bandwidth":[4,2],"email_filters":[3,8],"ssl_tls":[5,2],"aliases":[2,4]},"additionalProperties":{"items":{"type":"integer"},"description":"The order in which the application appears in the cPanel interface:\n* The first integer represents the group in which the application appears, starting at `0`.\n* The second integer represents the order in which the application appears in the group, starting at `0`.\n\n**Note:**\n\nThe array's name is the application's name.","type":"array"},"type":"object"},"implements":{"description":"An object mapping the `implements` names to Appkey values for applications in cPanel.\n\nFor example, use this mapping to determine that the `implements`\nvalue `SSL_TLS_Status` maps to the Appkey value `tls_status`.\n\n**Note:**\n\n* The Appkey for an application can be found in the `key` attribute elsewhere in the API response.\n* The `implements` for an application can be found in the `implements` attribute elsewhere in the API response.\n* For more information about Appkey values, read our [Guide to cPanel Interface Customization - Appkeys](https://go.cpanel.net/paper-lantern-theme-guide-to-cpanel-interface-customization-appkeys) documentation.","example":{"Database_phpMyAdmin":"php_my_admin","Site_Software":"site_software","Calendar_Configure":"calendar_and_contacts","Domains_SubDomains":"subdomains","ContactInfo_Change":"contact_information","SSL_TLS_Status":"tls_status","Email_MailingLists":"mailing_lists","Domains_AddonDomains":"addon_domains","Email_SpamFilter":"apache_spam_assassin","Cron_Home":"cron_jobs","Email_UserLevelFiltering":"email_filters","FileManager_Home":"file_manager","SSL_TLS_Manager":"ssl_tls","Email_AutoResponders":"autoresponders","Email_AccountLevelFiltering":"global_email_filters","Email_Forwarders":"forwarders","API_Tokens_Manager":"api_tokens","Database_MySQL":"mysql_databases","Password_Change":"change_password","Email_Disk_Usage":"email_disk_usage","Backups_Home":"backup","Email_Accounts":"email_accounts","Email_DeliveryReport":"track_delivery","Email_DefaultAddress":"default_address","Email_BoxTrapper":"boxtrapper","Stats_AWStats":"awstats","Email_Routing":"email_routing","Email_Authentication":"email_deliverability","Locale_Change":"change_language"},"type":"object","additionalProperties":{"type":"string","description":"The application and its Appkey value.\n\n**Note:**\n\nThis return's name is the application's name, in its `implements` value format."}}},"type":"object"},"metadata":{"properties":{}}}}},"type":"object"}}},"description":"HTTP Request was successful."}},"x-readonly":true,"operationId":"Branding-get_available_applications","description":"This function retrieves information about the groups and applications in the authenticated user's cPanel interface.","summary":"Return current user's cPanel application details","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Branding \\\n  get_available_applications\n","lang":"Shell","label":"CLI"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/Branding/get_available_applications"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Branding_get_available_applications.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Branding_get_available_applications.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Branding/,\n    q/get_available_applications/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Branding_get_available_applications.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Branding_get_available_applications.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Branding',\n    'get_available_applications'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-available-version":"cPanel 54","x-cpanel-api-version":"UAPI"}}}},"include":{"paths":{"/Branding/include":{"get":{"x-cpanel-api-version":"UAPI","x-cpanel-available-version":"cPanel 11.42","summary":"Return branding file content from the active theme","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Branding \\\n  include \\\n  file='header.tt'\n","label":"CLI","lang":"Shell"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/Branding/include?file=header.tt"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Branding_include.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Branding_include.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Branding/,\n    q/include/,\n    {\n        'file' => 'header.tt',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print $data;\n}\nelse {\n    # Report errors:\n    use JSON;\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Branding_include.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Branding_include.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Branding',\n    'include',\n    array (\n        'file' => 'header.tt',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print $data;\n}\nelse {\n    // Report errors:\n    print json_encode($response['cpanelresult']['result']['errors'], JSON_PRETTY_PRINT);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();","label":"LiveAPI PHP","lang":"PHP"}],"description":"This function retrieves and renders a branding file from the active theme.\nThe file may be a Template Toolkit (`.tt`) file or a standard HTML/image\nfile. When the file is a Template Toolkit file, the system processes it\nand returns the rendered output. Otherwise, the system returns the file's\nraw or HTML-encoded content.","operationId":"Branding-include","x-readonly":true,"parameters":[{"required":true,"in":"query","schema":{"type":"string","example":"header.tt"},"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"}},"name":"file"},{"required":false,"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.","schema":{"type":"integer","default":0,"enum":[0,1],"example":0},"in":"query","name":"skip_default"},{"in":"query","name":"raw","schema":{"type":"integer","example":0,"default":0,"enum":[0,1]},"description":"Whether to return the raw file content without HTML encoding.\n\n* `1` — Return the raw file content.\n* `0` — Return HTML-encoded content. This is the default behavior.\n\nThis parameter has no effect when the file is a Template Toolkit (`.tt`) file.","required":false},{"name":"data","in":"query","schema":{"example":"{\"logoColor\":\"blue\",\"showBanner\":1}","type":"string","format":"json"},"required":false,"description":"A JSON-encoded object containing additional variables to pass to the\nTemplate Toolkit template when rendering a `.tt` file. This parameter\nis ignored for non-template files."}],"tags":["Branding","Branding Files"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"func":{"type":"string","example":"include","description":"The name of the method called."},"result":{"type":"object","properties":{"data":{"description":"The rendered or retrieved content of the requested branding file.\nFor Template Toolkit files, this is the processed template output.\nFor other files, this is the raw or HTML-encoded file content.","example":"<div class=\"header\">Welcome</div>","type":"string","nullable":true},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"metadata":{"properties":{}},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."},"status":{"type":"integer","enum":[0,1],"example":1,"description":"- 1 - Success.\n- 0 - Failed. Check the `errors` field for more details."}}},"module":{"type":"string","example":"Branding","description":"The name of the module called."},"apiversion":{"type":"integer","description":"The version of the API.","example":3}},"type":"object"}}}}}}}},"info":{"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"},"termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.136.0.9999"},"externalDocs":{"url":"https://cpanel.net/developers/"},"x-tagGroups":[{"name":"cPanel Theme Management","tags":["Branding Files"]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"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":{"description":"The cPanel port.","default":"2083"}}}],"openapi":"3.0.2","tags":[{"description":"The Branding module for UAPI.","name":"Branding"},{"name":"Branding Files","description":"cPanel Theme Management / Branding Files"}],"security":[{"BasicAuth":[]}]},"get_information_for_applications":{"paths":{"/Branding/get_information_for_applications":{"get":{"x-cpanel-available-version":"cPanel 11.52","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Branding \\\n  get_information_for_applications \\\n  docroot='/usr/local/cpanel/base/webmail/jupiter'\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Branding/get_information_for_applications?docroot=%2fusr%2flocal%2fcpanel%2fbase%2fwebmail%2fpaper_lantern","label":"URL","lang":"HTTP"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Branding_get_information_for_applications.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Branding_get_information_for_applications.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Branding/,\n    q/get_information_for_applications/,\n    {\n        'docroot' => '/usr/local/cpanel/base/webmail/jupiter',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Branding_get_information_for_applications.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Branding_get_information_for_applications.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Branding',\n    'get_information_for_applications',\n    array (\n        'docroot' => '/usr/local/cpanel/base/webmail/jupiter',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"summary":"Return app's info from sitemap.json","description":"This function retrieves an application's information from a specific\ntheme's `sitemap.json` file.","x-cpanel-api-version":"UAPI","x-readonly":true,"operationId":"Branding-get_information_for_applications","parameters":[{"description":"The absolute path to the directory containing the `sitemap.json` file.\nThis is the path to your theme's document root.","required":true,"schema":{"example":"/usr/local/cpanel/base/webmail/jupiter","format":"path","type":"string"},"name":"docroot","in":"query"},{"in":"query","name":"app_keys","description":"A comma-separated list of Appkey names. If you do **not**\nspecify this parameter, the output will include all of the applications that the\n`sitemap.json` file contains.\n\n**Note:**\n\nThis value **must** match an application's `key` value in the `sitemap.json` file.\nFor more information, read our\n[Guide to cPanel Interface Customization - Appkeys](https://go.cpanel.net/appkey)\ndocumentation.","required":false,"schema":{"example":"email_filters","type":"string"}}],"tags":["Branding","Application Information"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"module":{"description":"The name of the module called.","example":"Branding","type":"string"},"result":{"properties":{"status":{"type":"integer","description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","example":1,"enum":[0,1]},"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"metadata":{"properties":{}},"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null,"type":"array","nullable":true},"data":{"additionalProperties":{"description":"An object containing information about the queried `app_keys` application.\n\n**Note:**\n\nThe object's name is the value specified in the `app_keys` parameter.","properties":{"order":{"type":"integer","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},"name":{"description":"The application's name.","example":"Email Filters","type":"string"},"implements":{"type":"string","description":"The module namespace for the specific application.","example":"Email_UserLevelFiltering"},"key":{"example":"email_filters","description":"The application's Appkey name.","type":"string"},"url":{"format":"url-path","type":"string","example":"mail/filters/userfilters.html","description":"The file path or URL to the the application's file."},"condition":{"description":"An object containing the application's conditions.","type":"object","properties":{"module":{"type":"string","description":"The name of the module that provides the application."},"feature":{"type":"string","example":"blockers","description":"The feature that the user must have access to in order to see the application in their cPanel *Home* interface."},"if":{"type":"string","example":"!$isarchiveuser","description":"cPanel variables that determine whether to display the\nitem, if any exist.\n\nFor example, `$isreseller` indicates that the item **only**\ndisplays for reseller accounts.\n\nFor more information, read our\n[Guide to cPanel Variables](https://go.cpanel.net/guidetovariables)\ndocumentation."}}},"description":{"example":"Email Filters","description":"The application's display name.","type":"string"},"type":{"enum":["item"],"example":"item","description":"The application's type.\n\n`item` is the only possible value.","type":"string"},"terms":{"items":{"type":"string"},"description":"Search keywords for the application.","example":["email","filter","filters"]},"icon":{"properties":{"width":{"type":"integer","example":35,"description":"The application's icon's width, in pixels.","minimum":1},"height":{"minimum":1,"description":"The application's icon's height, in pixels.","example":32,"type":"integer"},"url":{"description":"The file path or URL location of the application's icon.","example":"email_filters","format":"url-path","type":"string"}},"type":"object","description":"The application's icon information."}},"type":"object"},"type":"object"}},"type":"object"},"func":{"type":"string","description":"The name of the method called.","example":"get_information_for_applications"},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}},"type":"object"}}}}}}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"security":[{"BasicAuth":[]}],"servers":[{"url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}},"description":"A server running cPanel."}],"tags":[{"name":"Branding","description":"The Branding module for UAPI."},{"description":"cPanel Theme Management / Application Information","name":"Application Information"}],"openapi":"3.0.2","components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"x-tagGroups":[{"name":"cPanel Theme Management","tags":["Application Information"]}]},"get_application_information":{"info":{"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"x-tagGroups":[{"name":"cPanel Theme Management","tags":["Application Information"]}],"openapi":"3.0.2","servers":[{"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."}},"description":"A server running cPanel."}],"tags":[{"name":"Branding","description":"The Branding module for UAPI."},{"description":"cPanel Theme Management / Application Information","name":"Application Information"}],"security":[{"BasicAuth":[]}],"paths":{"/Branding/get_application_information":{"get":{"x-readonly":true,"operationId":"Branding-get_application_information","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"result":{"type":"object","properties":{"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API."},"data":{"properties":{"width":{"type":"integer","description":"The application's icon's width representing an image width, in pixels.","example":35,"minimum":1},"if":{"type":"string","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":{"type":"string","description":"The application's type.\n `image` is the only possible value.","enum":["image"],"example":"image"},"feature":{"description":"The application's feature name. The `app_key` parameter's value.","example":"boxtrapper","type":"string"},"file":{"type":"string","example":"boxtrapper","description":"The application's icon's filename."},"searchtext":{"type":"string","example":"boxtrapper","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."},"height":{"type":"integer","example":32,"description":"The application's icon's height, in pixels.","minimum":1},"itemorder":{"example":3,"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`.","minimum":1,"type":"integer"},"imgtype":{"example":"icon","enum":["icon"],"description":"The item's image type.\n `icon` is the only possible value.","type":"string"},"itemdesc":{"type":"string","example":"BoxTrapper","description":"The application's display name."},"url":{"example":"mail/boxtrapper.html","description":"The location to which the application's icon links. A valid filepath or URL.","type":"string"},"group":{"type":"string","description":"The application's group.","example":"mail"},"subtype":{"type":"string","enum":["img"],"example":"img","description":"The item's subtype.\n `img` is the only possible value ."},"module":{"type":"string","example":"BoxTrapper","description":"The application's module. A valid module name."}},"type":"object"},"metadata":{"properties":{}},"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"messages":{"example":null,"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"},"status":{"type":"integer","example":1,"enum":[0,1],"description":"- 1 - Success.\n- 0 - Failed. Check the `errors` field for more details."}}},"module":{"example":"Branding","description":"The name of the module called.","type":"string"},"func":{"description":"The name of the method called.","example":"get_application_information","type":"string"},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}}}}}}},"parameters":[{"required":true,"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.","schema":{"type":"string","example":"boxtrapper"},"name":"app_key","in":"query"}],"tags":["Branding","Application Information"],"x-cpanel-api-version":"UAPI","description":"This function retrieves an application's information from the `dynamicui.conf` file.","summary":"Return single app's info from dynamicui.conf","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Branding \\\n  get_application_information \\\n  app_key='boxtrapper'\n","label":"CLI","lang":"Shell"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/Branding/get_application_information?app_key=boxtrapper"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Branding_get_application_information.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Branding_get_application_information.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Branding/,\n    q/get_application_information/,\n    {\n        'app_key' => 'boxtrapper',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Branding_get_application_information.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Branding_get_application_information.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Branding',\n    'get_application_information',\n    array (\n        'app_key' => 'boxtrapper',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 11.42"}}}},"get_applications":{"openapi":"3.0.2","servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"description":"A server running cPanel."}],"tags":[{"description":"The Branding module for UAPI.","name":"Branding"},{"description":"cPanel Theme Management / Application Information","name":"Application Information"}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"x-tagGroups":[{"name":"cPanel Theme Management","tags":["Application Information"]}],"security":[{"BasicAuth":[]}],"info":{"termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/Branding/get_applications":{"get":{"x-readonly":true,"operationId":"Branding-get_applications","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"description":"The version of the API.","example":3,"type":"integer"},"result":{"type":"object","properties":{"status":{"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","example":1,"enum":[0,1],"type":"integer"},"metadata":{"properties":{}},"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"},"example":null,"type":"array","nullable":true},"data":{"example":{"ftp_accounts":{"itemorder":"6","key":"ftp_accounts","itemdesc":"FTP Accounts","imgtype":"icon","searchtext":"FTP Accounts ftp create","height":"48","feature":"ftpaccts","if":"$SERVICEPROVIDED{'ftp'}","file":"ftp_accounts","type":"image","target":"","width":"48","base64_png_image":"","touch":"ftp","acontent":"","onclick":"","group":"files","url":"ftp/accounts.html","subtype":"img","plainitemdesc":"FTP Accounts"},"addon_domains":{"plainitemdesc":"Addon Domains","implements":"Domains_AddonDomains","acontent":"","subtype":"img","onclick":"","group":"domains","url":"addon/index.html","file":"addon_domains","feature":"addondomains","if":"$HASROLE{'WebServer'}","type":"image","width":"48","base64_png_image":"","target":"","itemdesc":"Addon Domains","imgtype":"icon","key":"addon_domains","itemorder":"3","height":"48","searchtext":"Domains Addon domain Addon Domains"},"anonymous_ftp":{"plainitemdesc":"Anonymous FTP","touch":"ftp","acontent":"","url":"ftp/anonymous.html","group":"files","onclick":"","subtype":"img","feature":"ftpaccts","if":"$SERVICEPROVIDED{'ftp'} && $hasanonftp","file":"anonymous_ftp","type":"image","target":"","width":"48","base64_png_image":"","itemorder":"8","imgtype":"icon","itemdesc":"Anonymous FTP","key":"anonymous_ftp","searchtext":"Anonymous FTP anonymousftp","height":"48"}},"additionalProperties":{"description":"The feature's details. The function returns an object for each\napplication feature.\n\n**Note:***\n\nThe property name corresponds to the name(s) specified\nin the `app_keys` parameter.","properties":{"implements":{"type":"string","description":"The `implements` value for the application. This corresponds to the `implements` field in the `dynamicui.conf` file.","example":"Domains_AddonDomains"},"touch":{"type":"string","description":"Conditional arguments that determine whether to display the item, if the touch file exists.","example":"ftp"},"subtype":{"description":"The item's subtype.\n\n* `img` is the only possible value.","enum":["img"],"example":"img","type":"string"},"group":{"type":"string","example":"advanced","description":"The item's group."},"url":{"format":"url-path","type":"string","example":"addon/index.html","description":"The location to which the application's icon links."},"feature":{"example":"addondomains","description":"The feature name. The item will **only** display if the cPanel user has access to this feature.","type":"string"},"if":{"type":"string","example":"$is_reseller","description":"Conditional arguments that determine whether to display the item, if any exist.\n\nFor example, `$isreseller` indicates that the item **only** displays for reseller\naccounts.\n\nFor more information, read our\n[Guide to cPanel Variables](https://go.cpanel.net/guidetovariables)\ndocumentation."},"file":{"type":"string","description":"The application's icon's filename.","example":"addon_domains"},"type":{"enum":["image"],"example":"image","description":"The application's type.\n\n* `image` is the only possible value.","type":"string"},"width":{"minimum":1,"example":48,"description":"The application's icon's width.","type":"integer"},"itemdesc":{"example":"Addon Domain","description":"The application's display name. value.","type":"string"},"imgtype":{"example":"icon","enum":["icon"],"description":"The item's image type.\n\n* `icon` is the only possible value.","type":"string"},"itemorder":{"description":"The application's order in the `dynamicui.conf`\nfile, representing the application's display order in\ncPanel's *Home* interface.\n\nFor example, the first item on the cPanel *Home* interface\nhas an `itemorder` value of `1`.","example":4,"minimum":1,"type":"integer"},"height":{"example":48,"description":"The application's icon's height, in pixels.","minimum":1,"type":"integer"},"searchtext":{"type":"string","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":"object"}},"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null},"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."}}},"module":{"type":"string","example":"Branding","description":"The name of the module called."},"func":{"type":"string","description":"The name of the method called.","example":"get_applications"}}}}}}},"parameters":[{"required":false,"description":"A comma-separated list of an application feature names. If you do not specify this parameter,\nthe output will include all of the applications that the `dynamicui.conf` file contains.\n\n**Note:**\n\n* This value must match an application's `feature` value in the `dynamicui.conf` file.\n* For more information, read our [Guide to cPanel Interface Customization - Appkeys](https://go.cpanel.net/appkey) documentation.","schema":{"example":"addon_domains,ftp_accounts,anonymous_ftp","type":"string"},"name":"app_keys","in":"query"}],"tags":["Branding","Application Information"],"x-cpanel-api-version":"UAPI","description":"This function retrieves an application's information from a specific theme's `dynamicui.conf` file.","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Branding \\\n  get_applications\n","label":"CLI","lang":"Shell"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/Branding/get_applications"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Branding_get_applications.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Branding_get_applications.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Branding/,\n    q/get_applications/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Branding_get_applications.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Branding_get_applications.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Branding',\n    'get_applications'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 11.52","summary":"Return multiple apps' info from dynamicui.conf"}}}}},"SSH":{"get_shell":{"paths":{"/SSH/get_shell":{"get":{"description":"This function returns whether the cPanel account has shell access and the account's shell path.","summary":"Return whether cPanel account has shell access","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  SSH \\\n  get_shell\n","lang":"Shell","label":"CLI"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/SSH/get_shell"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is wp-squared for WP Squared accounts.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file SSH_get_shell.live.pl and put this code into that file.\n# 5) In your browser login to a WP Squared account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/SSH_get_shell.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to WP Squared - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/SSH/,\n    q/get_shell/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from WP Squared - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is wp-squared for WP Squared accounts.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file SSH_get_shell.live.php and put this code into that file.\n// 5) In your browser login to a WP Squared account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/SSH_get_shell.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to WP Squared - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'SSH',\n    'get_shell'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from WP Squared - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}\n"}],"x-cpanel-available-version":"cPanel 11.42","x-cpanel-api-version":"UAPI","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"module":{"type":"string","description":"The name of the module called.","example":"SSH"},"result":{"properties":{"status":{"type":"integer","description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","enum":[1,0],"example":1},"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null},"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null},"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null,"type":"array","nullable":true},"data":{"type":"object","properties":{"has_terminal_access":{"description":"Whether the cPanel account has shell access.\n\n* `true` - Account has shell access.\n* `false` - Account does not have shell access.\n","example":true,"type":"boolean"},"shell":{"description":"The cPanel account's shell path.","example":"/bin/bash","type":"string"}}},"metadata":{"properties":{}}},"type":"object"},"func":{"example":"get_shell","description":"The name of the method called.","type":"string"},"apiversion":{"type":"integer","description":"The version of the API.","example":3}}}}},"description":"HTTP Request was successful."}},"tags":["SSH"],"operationId":"SSH-get_shell","x-readonly":true}}},"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.125.0.9999"},"externalDocs":{"url":"https://cpanel.net/developers/"},"tags":[{"name":"SSH","description":"The SSH module for UAPI."}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}}}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"name":"Server Information","tags":["SSH"]}],"security":[{"BasicAuth":[]}]},"get_port":{"x-tagGroups":[{"tags":["SSH"],"name":"Server Information"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"tags":[{"description":"The SSH module for UAPI.","name":"SSH"}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}}}],"security":[{"BasicAuth":[]}],"info":{"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/SSH/get_port":{"get":{"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"func":{"example":"get_port","description":"The name of the method called.","type":"string"},"module":{"description":"The name of the module called.","example":"SSH","type":"string"},"result":{"properties":{"status":{"example":1,"enum":[1,0],"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","type":"integer"},"metadata":{"properties":{}},"warnings":{"type":"array","nullable":true,"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"},"example":null},"data":{"type":"object","properties":{"port":{"minimum":1,"example":22,"description":"The server's SSH port.","type":"integer","maximum":65535}}},"messages":{"example":null,"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"},"errors":{"example":null,"items":{"type":"string"},"description":"List of errors if the API failed.","nullable":true,"type":"array"}},"type":"object"},"apiversion":{"type":"integer","description":"The version of the API.","example":3}},"type":"object"}}}}},"parameters":[],"tags":["SSH"],"x-readonly":true,"operationId":"SSH-get_port","x-cpanel-available-version":"cPanel 11.42","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  SSH \\\n  get_port\n","lang":"Shell","label":"CLI"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/SSH/get_port"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file SSH_get_port.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/SSH_get_port.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/SSH/,\n    q/get_port/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file SSH_get_port.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/SSH_get_port.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'SSH',\n    'get_port'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Return SSH port","description":"This function retrieves the server's SSH port.","x-cpanel-api-version":"UAPI"}}}}},"Fileman":{"save_file_content":{"paths":{"/Fileman/save_file_content":{"get":{"x-readonly":false,"operationId":"Fileman-save_file_content","parameters":[{"description":"The directory that contains the selected file.\n\n**Note:**\n\nThis parameter defaults to the currently-authenticated user's `/home` directory.","required":false,"schema":{"format":"path","type":"string","example":"/home/username/public_html"},"name":"dir","in":"query"},{"schema":{"type":"string","example":"example.html"},"description":"The files to retrieve.","required":true,"name":"file","in":"query"},{"schema":{"type":"string","example":"UTF-8","default":"UTF-8"},"description":"The [character set encoding](https://en.wikipedia.org/wiki/Character_encoding) of the `content` parameter's value.","required":false,"name":"from_charset","in":"query"},{"in":"query","name":"to_charset","required":false,"description":"The [character set encoding](https://en.wikipedia.org/wiki/Character_encoding) in which to encode the file.","schema":{"type":"string","default":"UTF-8","example":"ASCII"}},{"name":"content","in":"query","schema":{"example":"hi","type":"string"},"description":"The new file's contents. If you do **not** use this parameter, the function creates a blank file.","required":false},{"description":"Whether the function will return an error or save in the default\ncharacter set if it cannot save in the specified character set.\n\n* `1` — Save in the default character set.\n* `0` — Return an error.","required":false,"schema":{"example":0,"default":1,"enum":[0,1],"type":"integer"},"in":"query","name":"fallback"}],"tags":["Fileman","Manage Files"],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"module":{"description":"The name of the module called.","example":"Fileman","type":"string"},"result":{"type":"object","properties":{"metadata":{"properties":{}},"data":{"type":"object","properties":{"to_charset":{"type":"string","description":"The file's new character set.","example":"ASCII"},"from_charset":{"description":"The file's character set.","example":"UTF-8","type":"string"},"path":{"example":"/home/user/public_html/example.html","description":"The path to the file.","type":"string","format":"path"}}},"warnings":{"example":null,"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"},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"status":{"enum":[0,1],"example":1,"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","type":"integer"}}},"func":{"type":"string","description":"The name of the method called.","example":"save_file_content"},"apiversion":{"type":"integer","description":"The version of the API.","example":3}}}}},"description":"HTTP Request was successful."}},"x-rollback":"none","x-cpanel-api-version":"UAPI","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.","x-cpanel-available-version":"cPanel 11.44","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Fileman \\\n  save_file_content \\\n  file='example.html'\n","label":"CLI","lang":"Shell"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/Fileman/save_file_content?file=example.html"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Fileman_save_file_content.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Fileman_save_file_content.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Fileman/,\n    q/save_file_content/,\n    {\n        'file' => 'example.html',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Fileman_save_file_content.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Fileman_save_file_content.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Fileman',\n    'save_file_content',\n    array (\n        'file' => 'example.html',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Save file"}}},"security":[{"BasicAuth":[]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"name":"Files","tags":["Manage Files"]}],"servers":[{"variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"name":"Fileman","description":"The Fileman module for UAPI."},{"name":"Manage Files","description":"Files / Manage Files"}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}}},"restore_from_trash":{"paths":{"/Fileman/restore_from_trash":{"get":{"x-cpanel-api-version":"UAPI","summary":"Restore a file from the trash","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"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/Fileman/restore_from_trash?path=public_html/unwanted.txt"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Fileman_restore_from_trash.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Fileman_restore_from_trash.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Fileman/,\n    q/restore_from_trash/,\n    {\n        'path' => 'public_html/unwanted.txt',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Fileman_restore_from_trash.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Fileman_restore_from_trash.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Fileman',\n    'restore_from_trash',\n    array (\n        'path' => 'public_html/unwanted.txt',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 136","operationId":"Fileman-restore_from_trash","x-readonly":false,"tags":["Fileman","Manage Files"],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"module":{"type":"string","description":"The name of the module called.","example":"Fileman"},"result":{"type":"object","properties":{"status":{"type":"integer","enum":[0,1],"example":1,"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details."},"errors":{"example":null,"description":"List of errors if the API failed.","items":{"type":"string"},"nullable":true,"type":"array"},"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null},"data":{"type":"object","properties":{"trash_leaf":{"description":"The trash directory name that the function restored from.","example":"unwanted.txt","type":"string"},"path":{"type":"string","format":"path","description":"The restored path."}}},"warnings":{"nullable":true,"type":"array","example":null,"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"}},"metadata":{"properties":{}}}},"func":{"description":"The name of the method called.","example":"restore_from_trash","type":"string"},"apiversion":{"type":"integer","description":"The version of the API.","example":3}},"type":"object"}}},"description":"HTTP Request was successful."}},"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.","parameters":[{"in":"query","name":"path","required":true,"description":"The original path of the trashed file or directory.","schema":{"type":"string","format":"path","example":"public_html/unwanted.txt"}}]}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/","contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}},"security":[{"BasicAuth":[]}],"tags":[{"name":"Fileman","description":"The Fileman module for UAPI."},{"description":"Files / Manage Files","name":"Manage Files"}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}}}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"tags":["Manage Files"],"name":"Files"}]},"delete_file":{"tags":[{"name":"Fileman","description":"The Fileman module for UAPI."},{"description":"Files / Manage Files","name":"Manage Files"}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute"}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"x-tagGroups":[{"tags":["Manage Files"],"name":"Files"}],"security":[{"BasicAuth":[]}],"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/"},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/Fileman/delete_file":{"get":{"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.","parameters":[{"name":"path","in":"query","schema":{"example":"public_html/unwanted.txt","type":"string","format":"path"},"description":"The path to the file or directory to delete.","required":true}],"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"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Fileman/delete_file?path=public_html/unwanted.txt","label":"URL","lang":"HTTP"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Fileman_delete_file.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Fileman_delete_file.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Fileman/,\n    q/delete_file/,\n    {\n        'path' => 'public_html/unwanted.txt',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Fileman_delete_file.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Fileman_delete_file.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Fileman',\n    'delete_file',\n    array (\n        'path' => 'public_html/unwanted.txt',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"summary":"Delete a file permanently","x-cpanel-available-version":"cPanel 136","x-cpanel-api-version":"UAPI","operationId":"Fileman-delete_file","x-readonly":false,"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"result":{"properties":{"status":{"enum":[0,1],"example":1,"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","type":"integer"},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}},"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"metadata":{"properties":{}},"warnings":{"example":null,"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"},"data":{"type":"object","properties":{"path":{"format":"path","type":"string","example":"/home/user/public_html/unwanted.txt","description":"The resolved path that the function deleted."}}}},"type":"object"},"module":{"example":"Fileman","description":"The name of the module called.","type":"string"},"func":{"example":"delete_file","description":"The name of the method called.","type":"string"}},"type":"object"}}}}},"tags":["Fileman","Manage Files"]}}}},"get_file_content":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"},"termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."},"security":[{"BasicAuth":[]}],"openapi":"3.0.2","tags":[{"description":"The Fileman module for UAPI.","name":"Fileman"},{"name":"Manage Files","description":"Files / Manage Files"}],"servers":[{"variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"x-tagGroups":[{"name":"Files","tags":["Manage Files"]}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"paths":{"/Fileman/get_file_content":{"get":{"x-cpanel-available-version":"cPanel 11.44","summary":"Return file content","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Fileman \\\n  get_file_content \\\n  dir='/home/user/public_html' \\\n  file='example.html'\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Fileman/get_file_content?dir=%2fhome%2fuser%2fpublic.html&file=example.html","label":"URL","lang":"HTTP"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Fileman_get_file_content.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Fileman_get_file_content.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Fileman/,\n    q/get_file_content/,\n    {\n        'dir' => '/home/user/public.html',\n        'file' => 'example.html',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Fileman_get_file_content.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Fileman_get_file_content.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Fileman',\n    'get_file_content',\n    array (\n        'dir' => '/home/user/public.html',\n        'file' => 'example.html',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"description":"This function retrieves a file's content.\n\n**Important:**\n\nWhen you disable the [File Storage](https://go.cpanel.net/serverroles) role, the system **disables** this function.\n\n**Note:**\n\nJSON strings **must** be valid UTF-8. To retrieve a non-UTF-8 file via\nJSON, we recommend that you give `ISO-8859-1` as `from_charset` and\n`UTF-8` as `to_charset`, then decode the return payload’s `content`\nas UTF-8.","x-cpanel-api-version":"UAPI","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"module":{"example":"Fileman","description":"The name of the module called.","type":"string"},"result":{"type":"object","properties":{"errors":{"nullable":true,"type":"array","example":null,"description":"List of errors if the API failed.","items":{"type":"string"}},"messages":{"example":null,"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"},"data":{"type":"object","properties":{"path":{"description":"The absolute path to the file.","example":"/home/user/public_html/example.html","format":"path","type":"string"},"from_char":{"type":"string","example":"UTF-8","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."},"content":{"format":"binary","type":"string","example":"`hi`","description":"The file's contents. A string value.\n\n**Note:**\n\nBehavior is **undefined** if the calling context\nrequires an encoding that conflicts with\nthe file contents. For example, if the file\ncontents are ISO-8859-1 but the context requires\nUTF-8 (as is the case with JSON), the system may\napply an extra layer of UTF-8 encoding in order\nto satisfy the request."},"filename":{"example":"example.html","description":"The file's name.","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"},"from_charset":{},"dir":{"format":"path","type":"string","description":"The absolute path to the directory that contains the selected file.","example":"/home/user/public_html"},"to_charset":{}}},"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API."},"metadata":{"properties":{}},"status":{"example":1,"enum":[0,1],"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","type":"integer"}}},"func":{"type":"string","example":"get_file_content","description":"The name of the method called."},"apiversion":{"example":3,"description":"The version of the API.","type":"integer"}},"type":"object"}}}}},"parameters":[{"description":"The file path to the directory that contains the selected file.","required":true,"schema":{"type":"string","format":"path","example":"/home/user/public.html"},"in":"query","name":"dir"},{"schema":{"type":"string","example":"example.html"},"description":"The file to retrieve.","required":true,"in":"query","name":"file"},{"name":"from_charset","in":"query","required":false,"description":"The file’s character encoding. This parameter defaults to `_DETECT_`, which indicates a request to detect the file’s character encoding.","schema":{"default":"_DETECT_","example":"_DETECT_","type":"string"}},{"schema":{"type":"string","default":"_LOCALE_","example":"_LOCALE_"},"description":"The output character encoding. This parameter defaults to `_LOCALE_`, which indicates a request to use the session locale’s character encoding.\n\n**Important:**\n\nContexts that serialize the API response as JSON **require**\nthis value to be `utf-8` or `US-ASCII`. Behavior is **undefined**\nif the request indicates any other encoding.","required":false,"name":"to_charset","in":"query"},{"schema":{"example":1,"enum":[0,1],"default":1,"type":"integer"},"required":false,"description":"Whether to update the file's HTML document encoding.\n\n* `1` — Update the file's HTML document encoding.\n* `0` — Don't update the file's HTML encoding.","in":"query","name":"update_html_document_encoding"}],"tags":["Fileman","Manage Files"],"operationId":"Fileman-get_file_content","x-readonly":true}}}},"trash_file":{"paths":{"/Fileman/trash_file":{"get":{"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.","x-rollback":"none","parameters":[{"description":"The path to the file or directory to move to the trash.","required":true,"schema":{"example":"public_html/unwanted.txt","type":"string","format":"path"},"name":"path","in":"query"}],"x-cpanel-api-version":"UAPI","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"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Fileman/trash_file?path=public_html/unwanted.txt","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Fileman_trash_file.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Fileman_trash_file.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Fileman/,\n    q/trash_file/,\n    {\n        'path' => 'public_html/unwanted.txt',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Fileman_trash_file.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Fileman_trash_file.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Fileman',\n    'trash_file',\n    array (\n        'path' => 'public_html/unwanted.txt',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-available-version":"cPanel 136","summary":"Move a file to the trash","tags":["Fileman","Manage Files"],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"apiversion":{"description":"The version of the API.","example":3,"type":"integer"},"result":{"properties":{"metadata":{"properties":{}},"errors":{"example":null,"items":{"type":"string"},"description":"List of errors if the API failed.","nullable":true,"type":"array"},"warnings":{"type":"array","nullable":true,"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"},"example":null},"data":{"type":"object","properties":{"trash_leaf":{"example":"unwanted.txt","description":"The name of the item inside the trash directory.","type":"string"},"path":{"format":"path","type":"string","description":"The resolved original path."}}},"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."},"status":{"type":"integer","enum":[0,1],"example":1,"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details."}},"type":"object"},"module":{"type":"string","description":"The name of the module called.","example":"Fileman"},"func":{"type":"string","description":"The name of the method called.","example":"trash_file"}},"type":"object"}}},"description":"HTTP Request was successful."}},"operationId":"Fileman-trash_file","x-readonly":false}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"}},"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":{"description":"The cPanel port.","default":"2083"}}}],"openapi":"3.0.2","tags":[{"name":"Fileman","description":"The Fileman module for UAPI."},{"name":"Manage Files","description":"Files / Manage Files"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"name":"Files","tags":["Manage Files"]}]},"rename_file":{"paths":{"/Fileman/rename_file":{"get":{"operationId":"Fileman-rename_file","x-readonly":false,"parameters":[{"description":"The path to the file or directory to rename.","required":true,"schema":{"example":"public_html/old.txt","format":"path","type":"string"},"name":"source","in":"query"},{"description":"The new path, in the same directory as the source.","required":true,"schema":{"type":"string","format":"path","example":"public_html/new.txt"},"name":"destination","in":"query"}],"tags":["Fileman","Manage Files"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"module":{"type":"string","example":"Fileman","description":"The name of the module called."},"result":{"type":"object","properties":{"status":{"type":"integer","description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","enum":[0,1],"example":1},"data":{"type":"object","properties":{"dest":{"description":"The resolved destination path.","type":"string","format":"path"},"src":{"format":"path","type":"string","description":"The resolved source path."}}},"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API."},"metadata":{"properties":{}},"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}}}},"func":{"description":"The name of the method called.","example":"rename_file","type":"string"}},"type":"object"}}}}},"x-rollback":"clean","x-cpanel-api-version":"UAPI","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.","x-codeSamples":[{"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","lang":"Shell","label":"CLI"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/Fileman/rename_file?source=public_html/old.txt&destination=public_html/new.txt"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Fileman_rename_file.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Fileman_rename_file.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Fileman/,\n    q/rename_file/,\n    {\n        'source' => 'public_html/old.txt',\n        'destination' => 'public_html/new.txt',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Fileman_rename_file.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Fileman_rename_file.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Fileman',\n    'rename_file',\n    array (\n        'source' => 'public_html/old.txt',\n        'destination' => 'public_html/new.txt',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 136","summary":"Rename a file"}}},"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"name":"Files","tags":["Manage Files"]}],"servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}}}],"openapi":"3.0.2","tags":[{"name":"Fileman","description":"The Fileman module for UAPI."},{"description":"Files / Manage Files","name":"Manage Files"}],"security":[{"BasicAuth":[]}],"info":{"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"}},"list_files":{"x-tagGroups":[{"name":"Files","tags":["Manage Files"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"openapi":"3.0.2","servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"description":"A server running cPanel."}],"tags":[{"description":"The Fileman module for UAPI.","name":"Fileman"},{"description":"Files / Manage Files","name":"Manage Files"}],"security":[{"BasicAuth":[]}],"info":{"title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/Fileman/list_files":{"get":{"operationId":"Fileman-list_files","x-readonly":true,"parameters":[{"required":true,"description":"The directory from which to list files.","schema":{"type":"string","example":"public_html"},"name":"dir","in":"query"},{"description":"A pipe-separated list of file types to return.\n\n* `file` — A file.\n* `dir` — A directory.\n* `char` — A character special device.\n* `block` — A block special device.\n* `fifo` — A named pipe (FIFO).\n* `link` — A symbolic link.\n* `socket` — A Unix domain socket.\n\nIf you do not use this parameter, the function returns all file types.","style":"pipeDelimited","schema":{"type":"array","items":{"example":"file|dir","type":"string"}},"name":"types","explode":false,"required":false,"in":"query"},{"description":"Whether to return only entries that begin with the `filepath-` prefix.\n\n* `1` — Return only files that begin with the `filepath-` prefix.\n* `0` — Return **all** files.\n\nIf you do not use this parameter, the function returns all filenames.","required":false,"schema":{"enum":[0,1],"example":0,"type":"integer"},"name":"limit_to_list","in":"query"},{"name":"only_these_files","in":"query","description":"A comma-separated list of files to return.\n\nIf you do not use this parameter, the function returns all files.","required":false,"schema":{"type":"string","example":"cpbackup-exclude.conf"}},{"name":"show_hidden","in":"query","schema":{"enum":[0,1],"default":0,"example":1,"type":"integer"},"description":"Whether to include hidden files in the output.\n\n* `1` — Include hidden files.\n* `0` — Do **not** include hidden files.","required":false},{"in":"query","name":"check_for_leaf_directories","description":"Whether to return directories that contain subdirectories.\n\n* `1` — Return subdirectories.\n* `0` — Do **not** retain subdirectories.","required":false,"schema":{"example":1,"enum":[0,1],"default":0,"type":"integer"}},{"schema":{"type":"string","example":"text-plain"},"required":false,"description":"The MIME types to return.\n\n* If you use this parameter, the function returns the specified MIME types\nand sets the `include_mime` parameter's value to `1`.\n* If you do **not** use this parameter, the function returns all MIME types.","name":"mime_types","in":"query"},{"in":"query","name":"raw_mime_types","description":"The raw MIME types to return.\n\n* If you use this parameter, the function returns the specified MIME types\nand sets the `include_mime` parameter's value to `1`.\n* If you do **not** use this parameter, the function returns all MIME types.","required":false,"schema":{"example":"text/plain","type":"string"}},{"required":false,"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`.","schema":{"enum":[0,1],"default":0,"example":1,"type":"integer"},"in":"query","name":"include_mime"},{"name":"include_permissions","in":"query","description":"Whether to parse the file owner's read and write permissions.\n\n* `1` — Parse file permissions.\n* `0` — Do **not** parse file permissions.","required":false,"schema":{"enum":[0,1],"example":0,"default":0,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"func":{"type":"string","example":"list_files","description":"The name of the method called."},"module":{"description":"The name of the module called.","example":"Fileman","type":"string"},"result":{"type":"object","properties":{"status":{"type":"integer","example":1,"enum":[0,1],"description":"* `1` — Success\n* `0` — Failed: Check the errors field for more details."},"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"messages":{"description":"List of messages generated by the API.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null,"type":"array","nullable":true},"data":{"type":"object","properties":{"dirs":{"description":"An array of objects containing information about each directory.","items":{"type":"object","properties":{"ctime":{"example":1400573272,"description":"The directory's creation date.","format":"unix_timestamp","type":"integer"},"humansize":{"type":"string","description":"The formatted size of the directory. The function returns the size with\none of the following symbols:\n\n* `KB` — Kilobytes.\n* `MB` — Megabytes.\n* `GB` — Gigabytes.","example":"5 KB"},"size":{"type":"integer","minimum":1,"description":"The directory's size, in bytes.","example":4096},"path":{"type":"string","format":"path","description":"The path to the directory.","example":"/home/user/public.html"},"fullpath":{"example":"/home/user/public_html/cgi-bin","description":"The directory's full directory path.","format":"path","type":"string"},"read":{"example":1,"enum":[0,1],"description":"Whether the directory is readable.\n\n* `1` — Readable.\n* `0` — **Not** readable.\n\n**Note:**\n\nThe function only returns this value if the `include_permissions` value is `1`.","type":"integer"},"nicemode":{"format":"unix-file-permission","type":"integer","description":"The directory's numerical permissions.","example":755},"mimename":{"type":"string","description":"The MIME type's name.","example":"text-plain"},"uid":{"description":"The directory owner's system user ID.","example":502,"minimum":1,"type":"integer"},"rawmimetype":{"description":"The directory's raw MIME type.","example":"text/plain","type":"string"},"isleaf":{"description":"Whether the directory contains subdirectories.\n\n* `1` — Contains subdirectories.\n* `0` — Does **not** contain subdirectories.","enum":[0,1],"example":1,"type":"integer"},"rawmimename":{"type":"string","description":"The directory's raw MIME type's name.","example":"text-plain"},"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","type":"string","format":"unix-file-permission"},"gid":{"description":"The directory owner's system group ID.","example":503,"minimum":1,"type":"integer"},"mtime":{"type":"integer","format":"unix_timestamp","description":"The directory's last modification time.","example":1400573272},"isparent":{"type":"integer","description":"Whether the directory is a parent record.\n\n* `1` — A parent record.\n* `0` — **Not** a parent record.","enum":[0,1],"example":1},"exists":{"enum":[0,1],"example":1,"description":"Whether the directory exists in the directory.\n\n* `1` — Exists.\n* `0` — Does **not** exist.","type":"integer"},"file":{"description":"The directory name.","example":"cgi-bin","type":"string"},"type":{"type":"string","enum":["file","dir","char","block","fifo","link","socket"],"example":"file","description":"The item's type.\n\n* `file` — A file.\n* `dir` — A directory.\n* `char` — A character special device.\n* `block` — A block special device.\n* `fifo` - A named pipe (FIFO).\n* `link` — A symbolic link.\n* `socket` — A Unix domain socket."},"absdir":{"example":"/home/user","description":"The file path to the user's home directory.","format":"path","type":"string"},"mimetype":{"description":"The directory's MIME's type.","example":"text/plain","type":"string"},"write":{"enum":[0,1],"example":1,"description":"Whether the directory is writable.\n\n* `1` — Writable.\n* `0` — **Not** writable.\n\n**Note:**\n\nThe function only returns this value if the `include_permissions` value is `1`.","type":"integer"}}},"type":"array"},"files":{"type":"array","description":"An array of objects containing information about each file.","items":{"type":"object","properties":{"ctime":{"example":1400573272,"description":"The file's creation time.","type":"integer","format":"unix_timestamp"},"size":{"minimum":1,"description":"The file's size, in bytes.","example":4096,"type":"integer"},"humansize":{"type":"string","description":"The formatted size of the file. The function returns the size with\none of the following symbols:\n\n* `KB` — Kilobytes.\n* `MB` — Megabytes.\n* `GB` — Gigabytes.","example":"5 KB"},"path":{"description":"The absolute path to the file.","example":"/home/user/public.html","type":"string","format":"path"},"read":{"type":"integer","description":"Whether the file is readable.\n\n* `1` — Readable.\n* `0` — **Not** readable.\n\n**Note:**\n\nThe function only returns this value if the `include_permissions` value is `1`.","enum":[0,1],"example":1},"fullpath":{"type":"string","format":"path","description":"The file's full file path.","example":"/home/user/public_html/cgi-bin"},"nicemode":{"type":"integer","format":"unix-file-permission","example":755,"description":"The file's numerical permissions."},"mimename":{"type":"string","description":"The file's MIME type name.","example":"text-plain"},"uid":{"minimum":1,"description":"The file owner's system user ID.","example":502,"type":"integer"},"rawmimename":{"example":"text-plain","description":"The file's raw MIME type's name.","type":"string"},"isleaf":{"type":"integer","description":"Whether the directory contains subdirectories.\n\n* `1` — Contains subdirectories.\n* `0` — Does **not** contain subdirectories.","enum":[0,1],"example":1},"rawmimetype":{"type":"string","description":"The file's raw MIME type.","example":"text/plain"},"mode":{"description":"The file's textual permissions.","example":"16877","type":"string","format":"unix-file-permission"},"gid":{"type":"integer","description":"The file owner's system group ID.","example":503,"minimum":1},"mtime":{"description":"The file's last modification time.","example":1400573272,"type":"integer","format":"unix_timestamp"},"isparent":{"type":"integer","enum":[0,1],"example":1,"description":"Whether the file is a parent record.\n\n* `1` — A parent record.\n* `0` — **Not** a parent record."},"absdir":{"format":"path","type":"string","description":"The file path to the user's home directory.","example":"/home/user"},"file":{"type":"string","example":"cgi-bin","description":"The filename."},"exists":{"enum":[0,1],"example":1,"description":"Whether the file exists in the directory.\n\n* `1` — Exists.\n* `0` — Does **not** exist.","type":"integer"},"type":{"type":"string","description":"The item's type.\n\n* `file` — A file.\n* `dir` — A directory.\n* `char` — A character special device.\n* `block` — A block special device.\n* `fifo` - A named pipe (FIFO).\n* `link` — A symbolic link.\n* `socket` — A Unix domain socket.","example":"file","enum":["file","dir","char","block","fifo","link","socket"]},"mimetype":{"description":"The file's MIME type.","example":"text/plain","type":"string"},"write":{"enum":[0,1],"example":1,"description":"Whether the file is writable.\n\n* `1` — Writable.\n* `0` — **Not** writable.\n\n**Note:**\n\nThe function only returns this value if the `include_permissions` value is `1`.","type":"integer"}}}}}},"metadata":{"properties":{}}}},"apiversion":{"type":"integer","description":"The version of the API.","example":3}},"type":"object"}}},"description":"HTTP Request was successful."}},"tags":["Fileman","Manage Files"],"x-cpanel-api-version":"UAPI","summary":"Return directory content","x-cpanel-available-version":"cPanel 11.44","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Fileman \\\n  list_files \\\n  dir='public_html'\n"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/Fileman/list_files?dir=public_html"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Fileman_list_files.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Fileman_list_files.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Fileman/,\n    q/list_files/,\n    {\n        'dir' => 'public_html',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Fileman_list_files.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Fileman_list_files.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Fileman',\n    'list_files',\n    array (\n        'dir' => 'public_html',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"description":"This function returns a sorted list of files and directories.\n\n**Important:**\n\nWhen you disable the [FileStorage role](https://go.cpanel.net/howtouseserverprofiles#roles), the system **disables** this function. For more information, read our How to Use Server Profiles documentation."}}}},"get_file_information":{"security":[{"BasicAuth":[]}],"x-tagGroups":[{"tags":["Manage Files"],"name":"Files"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}}}],"tags":[{"description":"The Fileman module for UAPI.","name":"Fileman"},{"description":"Files / Manage Files","name":"Manage Files"}],"openapi":"3.0.2","externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI"},"paths":{"/Fileman/get_file_information":{"get":{"description":"This function returns the information for a specified file or directory.\n\n**Important:**\n\nWhen you disable the [File Storage](https://go.cpanel.net/serverroles) role, the system **disables** this function.","x-cpanel-available-version":"cPanel 11.44","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"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Fileman_get_file_information.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Fileman_get_file_information.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Fileman/,\n    q/get_file_information/,\n    {\n        'path' => 'public_html',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Fileman_get_file_information.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Fileman_get_file_information.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Fileman',\n    'get_file_information',\n    array (\n        'path' => 'public_html',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"summary":"Return file or directory information","x-cpanel-api-version":"UAPI","parameters":[{"required":true,"description":"The directory from which to list files.","schema":{"example":"public_html","format":"path","type":"string"},"in":"query","name":"path"},{"name":"show_hidden","in":"query","schema":{"example":1,"enum":[0,1],"default":0,"type":"integer"},"description":"Whether to include hidden files in the output.\n\n* `1` - Include hidden files.\n* `0` - Do **not** include hidden files.","required":false},{"description":"Whether to flag directories that contain subdirectories.\n\n* `1` - Flag directories that contain subdirectories.\n* `0` - Do **not** flag directories that contain subdirectories.","required":false,"schema":{"type":"integer","example":1,"default":0,"enum":[0,1]},"in":"query","name":"check_for_leaf_directories"},{"name":"include_mime","in":"query","required":false,"description":"Whether to return the file's MIME type.\n\n* `1` - Return the file's MIME type.\n* `0` - Do **not** return the file's MIME type.","schema":{"type":"integer","example":1,"default":0,"enum":[0,1]}},{"description":"Whether to parse the file owner's read and write permissions.\n\n* `1` - Parse the file owner's read and write permissions.\n* `0` - Do **not** parse the file owner's read and write permissions.","required":false,"schema":{"enum":[0,1],"default":0,"example":1,"type":"integer"},"in":"query","name":"include_permissions"}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"func":{"example":"get_file_information","description":"The name of the method called.","type":"string"},"module":{"example":"Fileman","description":"The name of the module called.","type":"string"},"result":{"type":"object","properties":{"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null},"data":{"type":"object","properties":{"humansize":{"example":"5 KB","description":"The file's formatted size, followed by one of the following symbols:\n* `KB` - kilobytes\n* `MB` - megabytes\n* `GB` - gigabytes","type":"string"},"mtime":{"type":"integer","format":"unix_timestamp","example":1400573272,"description":"The file's last modification time, in Unix time format."},"size":{"type":"integer","description":"The file's size, in bytes.","example":4096,"minimum":1},"gid":{"description":"The file owner's system group ID.","example":503,"minimum":1,"type":"integer"},"ctime":{"description":"The file's creation time, Unix time format.","example":1400573272,"type":"integer","format":"unix_timestamp"},"read":{"enum":[0,1],"example":1,"description":"Whether the file is readable. The function only returns this value if you set the `include_permissions` value to 1.\n* `1` - Readable.\n* `0` - **Not** readable.","type":"integer"},"fullpath":{"type":"string","format":"path","example":"/home/user/public_html/cgi-bin","description":"The file's full filepath."},"path":{"description":"The file's path.","example":"/home/user/public.html","type":"string","format":"path"},"mimetype":{"format":"MIME","type":"string","example":"text/plain","description":"The file's MIME type."},"mimename":{"description":"The file's MIME name.","example":"publichtml","type":"string"},"uid":{"minimum":1,"description":"The file owner's system user ID.","example":502,"type":"integer"},"type":{"type":"string","example":"file","enum":["file","dir","char","block","fifo","link","socket"],"description":"The item's type.\n* `file` - File.\n* `dir` - Directory.\n* `char` - Character special device.\n* `block` - Block special device.\n* `fifo` - Named pipe.\n* `link` - Symbolic link.\n* `socket` - Unix domain socket."},"exists":{"type":"integer","enum":[0,1],"example":1,"description":"Whether the file exists in the directory.\n* `1` - Exists.\n* `0` - Does **not** exist."},"file":{"type":"string","example":"cgi-bin","description":"The filename."},"nicemode":{"example":755,"description":"The file's numerical permissions in [octal notation](https://en.wikipedia.org/wiki/File-system_permissions#Notation_of_traditional_Unix_permissions).","type":"integer"},"absdir":{"description":"The path to the user's home directory.","example":"/home/user","type":"string","format":"path"},"mode":{"type":"string","description":"The file's textual permissions in [Unix format](https://en.wikipedia.org/wiki/File-system_permissions#Notation_of_traditional_Unix_permissions).","example":"16872"},"rawmimetype":{"type":"string","format":"MIME","description":"The file's raw MIME type.","example":"text/plain"},"write":{"enum":[0,1],"example":1,"description":"Whether the file is writable. The function only returns this value if you set the `include_permissions` value to 1 .\n* `1` - Writable.\n* `0` - Not writable.","type":"integer"},"rawmimename":{"format":"MIME","type":"string","description":"The file's raw MIME name.","example":"text/plain"},"isleaf":{"type":"integer","description":"Whether the directory contains subdirectories.\n* `1` - Contains subdirectories.\n* `0` - Does **not** contain subdirectories.","example":1,"enum":[0,1]}}},"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null,"type":"array","nullable":true},"metadata":{"properties":{}},"status":{"example":1,"enum":[0,1],"description":"* `1` - Success.\n* `0` - Failed. Check the errors field for more details.","type":"integer"}}}},"type":"object"}}},"description":"HTTP Request was successful."}},"tags":["Fileman","Manage Files"],"x-readonly":true,"operationId":"Fileman-get_file_information"}}}},"copy_file":{"paths":{"/Fileman/copy_file":{"get":{"x-cpanel-api-version":"UAPI","x-codeSamples":[{"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":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Fileman/copy_file?source=public_html/file.txt&destination=public_html/backup/file.txt","label":"URL","lang":"HTTP"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Fileman_copy_file.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Fileman_copy_file.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Fileman/,\n    q/copy_file/,\n    {\n        'source' => 'public_html/file.txt',\n        'destination' => 'public_html/backup/file.txt',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Fileman_copy_file.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Fileman_copy_file.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Fileman',\n    'copy_file',\n    array (\n        'source' => 'public_html/file.txt',\n        'destination' => 'public_html/backup/file.txt',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Copy a file","x-cpanel-available-version":"cPanel 136","x-readonly":false,"operationId":"Fileman-copy_file","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"module":{"type":"string","description":"The name of the module called.","example":"Fileman"},"result":{"properties":{"status":{"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","example":1,"enum":[0,1],"type":"integer"},"messages":{"example":null,"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"metadata":{"properties":{}},"data":{"type":"object","properties":{"src":{"description":"The resolved source path.","type":"string","format":"path"},"dest":{"description":"The resolved destination path.","format":"path","type":"string"}}},"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API."}},"type":"object"},"func":{"type":"string","example":"copy_file","description":"The name of the method called."},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}},"type":"object"}}},"description":"HTTP Request was successful."}},"tags":["Fileman","Manage Files"],"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.","parameters":[{"schema":{"format":"path","type":"string","example":"public_html/file.txt"},"required":true,"description":"The path to the file or directory to copy.","name":"source","in":"query"},{"name":"destination","in":"query","schema":{"example":"public_html/backup/file.txt","type":"string","format":"path"},"required":true,"description":"The path to copy the source to."}]}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"}},"security":[{"BasicAuth":[]}],"openapi":"3.0.2","servers":[{"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."}},"description":"A server running cPanel."}],"tags":[{"name":"Fileman","description":"The Fileman module for UAPI."},{"name":"Manage Files","description":"Files / Manage Files"}],"x-tagGroups":[{"name":"Files","tags":["Manage Files"]}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}}},"empty_trash":{"paths":{"/Fileman/empty_trash":{"get":{"parameters":[{"description":"The maximum age in days of content that the function will not purge.\n\n**Note:**\n\nA value of `0` will purge everything from the user's `.trash` folder.","required":false,"schema":{"example":31,"default":0,"minimum":0,"type":"integer"},"name":"older_than","in":"query"}],"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.","x-readonly":false,"operationId":"Fileman-empty_trash","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"func":{"type":"string","example":"empty_trash","description":"The name of the method called."},"module":{"description":"The name of the module called.","example":"Fileman","type":"string"},"result":{"type":"object","properties":{"status":{"type":"integer","example":1,"enum":[0,1],"description":"* 1 — Success.\n* 0 — Failed. Check the `errors` field for more details."},"data":{"example":null,"properties":{},"type":"object","nullable":true},"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API."},"metadata":{"properties":{}},"errors":{"example":null,"items":{"type":"string"},"description":"List of errors if the API failed.","nullable":true,"type":"array"},"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"}}},"apiversion":{"type":"integer","description":"The version of the API.","example":3}},"type":"object"}}},"description":"HTTP Request was successful."}},"tags":["Fileman","Manage Files"],"x-cpanel-api-version":"UAPI","summary":"Delete .trash folder content","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Fileman \\\n  empty_trash\n","lang":"Shell","label":"CLI"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/Fileman/empty_trash"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Fileman_empty_trash.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Fileman_empty_trash.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Fileman/,\n    q/empty_trash/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Fileman_empty_trash.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Fileman_empty_trash.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Fileman',\n    'empty_trash'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-available-version":"cPanel 60"}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"},"title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999"},"security":[{"BasicAuth":[]}],"servers":[{"variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"name":"Fileman","description":"The Fileman module for UAPI."},{"name":"Manage Files","description":"Files / Manage Files"}],"x-tagGroups":[{"tags":["Manage Files"],"name":"Files"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}}},"move_file":{"x-tagGroups":[{"tags":["Manage Files"],"name":"Files"}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"servers":[{"description":"A server running cPanel.","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"url":"https://{host}:{port}/execute"}],"tags":[{"description":"The Fileman module for UAPI.","name":"Fileman"},{"description":"Files / Manage Files","name":"Manage Files"}],"openapi":"3.0.2","security":[{"BasicAuth":[]}],"info":{"title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/Fileman/move_file":{"get":{"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.","parameters":[{"in":"query","name":"source","schema":{"example":"public_html/old.txt","format":"path","type":"string"},"description":"The path to the file or directory to move.","required":true},{"in":"query","name":"destination","schema":{"example":"public_html/subdir/new.txt","format":"path","type":"string"},"description":"The path to move the source to.","required":true}],"x-cpanel-api-version":"UAPI","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"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Fileman/move_file?source=public_html/old.txt&destination=public_html/subdir/new.txt","label":"URL","lang":"HTTP"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Fileman_move_file.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Fileman_move_file.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Fileman/,\n    q/move_file/,\n    {\n        'source' => 'public_html/old.txt',\n        'destination' => 'public_html/subdir/new.txt',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Fileman_move_file.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Fileman_move_file.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Fileman',\n    'move_file',\n    array (\n        'source' => 'public_html/old.txt',\n        'destination' => 'public_html/subdir/new.txt',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Move a file","x-cpanel-available-version":"cPanel 136","x-readonly":false,"operationId":"Fileman-move_file","tags":["Fileman","Manage Files"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"func":{"type":"string","example":"move_file","description":"The name of the method called."},"result":{"properties":{"errors":{"example":null,"items":{"type":"string"},"description":"List of errors if the API failed.","nullable":true,"type":"array"},"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"},"data":{"type":"object","properties":{"src":{"type":"string","format":"path","description":"The resolved source path.","example":"/home/user/public_html/old.txt"},"dest":{"type":"string","format":"path","example":"/home/user/public_html/subdir/new.txt","description":"The resolved destination path."}}},"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null,"type":"array","nullable":true},"metadata":{"properties":{}},"status":{"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","example":1,"enum":[0,1],"type":"integer"}},"type":"object"},"module":{"description":"The name of the module called.","example":"Fileman","type":"string"}}}}}}}}}}},"autocompletedir":{"paths":{"/Fileman/autocompletedir":{"get":{"x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Fileman \\\n  autocompletedir \\\n  path='public'\n","lang":"Shell","label":"CLI"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/Fileman/autocompletedir?path=public"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Fileman_autocompletedir.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Fileman_autocompletedir.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Fileman/,\n    q/autocompletedir/,\n    {\n        'path' => 'public',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Fileman_autocompletedir.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Fileman_autocompletedir.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Fileman',\n    'autocompletedir',\n    array (\n        'path' => 'public',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-available-version":"cPanel 54","summary":"Return autocomplete file and directory names","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.","x-cpanel-api-version":"UAPI","parameters":[{"required":true,"description":"The prefix of the paths to complete.","schema":{"type":"string","example":"public"},"name":"path","in":"query"},{"name":"dirsonly","in":"query","schema":{"enum":[1,0],"default":0,"type":"integer"},"description":"Whether to include only directories in the output.\n* `1` — **Only** include directories.\n* `0` — Include directories **and** files.","required":false},{"schema":{"type":"integer","default":1,"enum":[1,0]},"required":false,"description":"Whether to return all files and directories inside the specified\ndirectory. If you set this parameter's value to `1`, you **must** set the `path`\nparameter's value to a full directory path.\n* `1` — Return **all** files and directories inside the specified directory.\n* `0` — Return partial file and directory name matches.","in":"query","name":"list_all"},{"in":"query","name":"html","schema":{"enum":[0,1],"example":1,"default":1,"type":"integer"},"description":"Whether to return HTML-encoded results.\n* `1` — Return HTML-encoded output.\n* `0` — Return plaintext output.","required":false}],"tags":["Fileman","Manage Files"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"result":{"properties":{"metadata":{"properties":{"transformed":{"example":1,"enum":[1],"description":"Post-processing may have transformed the data.","type":"integer"}}},"data":{"type":"array","description":"An array of objects containing the files and directories that match the specified path.","items":{"type":"object","properties":{"file":{"type":"string","description":"A file or directory that matches the specified path.","example":"public_ftp"}}}},"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"},"example":null,"type":"array","nullable":true},"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null},"errors":{"example":null,"description":"List of errors if the API failed.","items":{"type":"string"},"nullable":true,"type":"array"},"status":{"description":"- `1` — Success.\n- `0` — Failed. Check the errors field for more details.","enum":[0,1],"example":1,"type":"integer"}},"type":"object"},"module":{"type":"string","description":"The name of the module called.","example":"Fileman"},"func":{"example":"autocompletedir","description":"The name of the method called.","type":"string"},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}}}}}}},"x-readonly":true,"operationId":"Fileman-autocompletedir"}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"security":[{"BasicAuth":[]}],"x-tagGroups":[{"tags":["Manage Files"],"name":"Files"}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"tags":[{"description":"The Fileman module for UAPI.","name":"Fileman"},{"name":"Manage Files","description":"Files / Manage Files"}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"url":"https://{host}:{port}/execute"}]},"transcode":{"paths":{"/Fileman/transcode":{"get":{"x-cpanel-api-version":"UAPI","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.","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Fileman \\\n  transcode \\\n  content='hi'\n","lang":"Shell","label":"CLI"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/Fileman/transcode?content=hi"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Fileman_transcode.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Fileman_transcode.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Fileman/,\n    q/transcode/,\n    {\n        'content' => 'hi',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Fileman_transcode.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Fileman_transcode.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Fileman',\n    'transcode',\n    array (\n        'content' => 'hi',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"summary":"Update buffer encoding","x-cpanel-available-version":"cPanel 11.44","x-rollback":"none","parameters":[{"description":"The file's contents.","required":true,"schema":{"type":"string","example":"hi"},"name":"content","in":"query"},{"schema":{"type":"string","example":"UTF-8"},"required":false,"description":"The file's current [character set encoding](https://en.wikipedia.org/wiki/Character_encoding).","name":"from_charset","in":"query"},{"schema":{"example":"ASCII","type":"string"},"required":false,"description":"The [character set encoding](https://en.wikipedia.org/wiki/Character_encoding) in which to encode the file.","in":"query","name":"to_charset"},{"name":"discard_illegal","in":"query","required":false,"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).","schema":{"type":"integer","enum":[0,1],"example":1}},{"name":"transliterate","in":"query","schema":{"example":0,"enum":[0,1],"type":"integer"},"required":false,"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."}],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"type":"integer","description":"The version of the API.","example":3},"result":{"properties":{"status":{"type":"integer","enum":[0,1],"example":1,"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details."},"metadata":{"properties":{}},"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API."},"data":{"type":"object","properties":{"charset":{"type":"string","example":"ASCII","description":"The file's new character set."},"content":{"example":"hi","description":"The file's content.","type":"string"}}},"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null},"errors":{"example":null,"description":"List of errors if the API failed.","items":{"type":"string"},"nullable":true,"type":"array"}},"type":"object"},"module":{"type":"string","example":"Fileman","description":"The name of the module called."},"func":{"type":"string","description":"The name of the method called.","example":"transcode"}},"type":"object"}}}}},"tags":["Fileman","Manage Files"],"x-readonly":false,"operationId":"Fileman-transcode"}}},"info":{"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"name":"Files","tags":["Manage Files"]}],"openapi":"3.0.2","tags":[{"description":"The Fileman module for UAPI.","name":"Fileman"},{"name":"Manage Files","description":"Files / Manage Files"}],"servers":[{"url":"https://{host}:{port}/execute","variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"description":"The cPanel port.","default":"2083"}},"description":"A server running cPanel."}],"security":[{"BasicAuth":[]}]},"upload_files":{"paths":{"/Fileman/upload_files":{"post":{"operationId":"Fileman-upload_files","x-readonly":false,"tags":["Fileman","Manage Files"],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"result":{"type":"object","properties":{"status":{"enum":[0,1],"example":1,"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","type":"integer"},"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"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."},"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"data":{"properties":{"uploads":{"description":"One entry for each file in the request.","items":{"properties":{"status":{"description":"* `1` - The system stored the file.\n* `0` - The upload failed. Check the `reason` value.","enum":[0,1],"example":1,"type":"integer"},"reason":{"example":"Upload of “example.png” succeeded.","description":"A description of the outcome for this file.","type":"string"},"file":{"type":"string","description":"The file's name.","example":"example.png"},"size":{"example":268,"description":"The stored file's size, in bytes. The system returns `null` when the upload failed.","nullable":true,"type":"integer"},"warnings":{"type":"array","description":"Non-critical problems, such as a failure to apply the file's ownership or permissions.","items":{"type":"string"}}},"type":"object"},"type":"array"},"failed":{"type":"integer","description":"The number of files that the system did not store.","example":0},"succeeded":{"description":"The number of files that the system stored.","example":1,"type":"integer"},"diskinfo":{"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 (∞).","type":"object","properties":{"file_upload_remain":{"type":"string","example":"4718592.00","description":"The total size, in bytes, that the account may upload now."},"filesused":{"example":1024,"description":"The number of inodes that the account uses.","anyOf":[{"type":"integer"},{"type":"string"}]},"filesremain":{"anyOf":[{"type":"integer"},{"type":"string"}],"description":"The number of inodes that the account may still use.","example":15872},"fileslimit":{"example":16896,"description":"The number of inodes that the account may use.","anyOf":[{"type":"integer"},{"type":"string"}]},"file_upload_must_leave_bytes":{"type":"string","example":"5242880.00","description":"The amount of free space, in bytes, that must remain after an upload."},"file_upload_max_bytes":{"type":"string","description":"The largest size, in bytes, that a single uploaded file may reach.","example":"104857600.00"},"spacelimit":{"type":"string","description":"The disk space, in bytes, that the account may use.","example":"4718592.00"},"spaceused":{"type":"string","description":"The disk space, in bytes, that the account uses.","example":"2359296.00"},"spaceremain":{"description":"The disk space, in bytes, that the account may still use.","example":"2359296.00","type":"string"}},"additionalProperties":{"type":"string","description":"The `_humansize` variant of the value of the same\nname, formatted for display. For example, `4.5\nGB`."}},"warned":{"description":"The number of files that produced warnings.","example":0,"type":"integer"}},"type":"object"},"metadata":{"properties":{}}}},"module":{"type":"string","description":"The name of the module called.","example":"Fileman"},"func":{"type":"string","description":"The name of the method called.","example":"upload_files"},"apiversion":{"example":3,"description":"The version of the API.","type":"integer"}},"type":"object"}}},"description":"HTTP Request was successful."}},"x-cpanel-api-version":"UAPI","x-cpanel-available-version":"cPanel 11.44","x-codeSamples":[{"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","lang":"HTTP","label":"URL"}],"summary":"Upload files","x-cpanel-cli-support":false,"requestBody":{"content":{"multipart/form-data":{"schema":{"required":["file-0"],"type":"object","properties":{"file-0":{"type":"string","format":"binary","description":"A file to upload."}}}}},"description":"The files to upload. For more information about this structure, read\nMozilla's [POST\nMethod](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/POST)\ndocumentation.\n\n**Important:**\n\n* You **must** use this request body. You can't pass the files as query\n  parameters or on the command line.\n* The system names the stored file after the part's `filename`\n  attribute, not after the field name.\n\n**Note:**\n\nTo upload multiple files in one request, increment the field name. For\nexample: `file-0`, `file-1`, and `file-2`.","required":true},"parameters":[{"name":"dir","in":"query","schema":{"example":"/home/username/public_html","format":"path","type":"string"},"description":"The directory in which to store the uploaded files.\n\n**Note:**\n\n* A relative path resolves against the account's home directory.\n* This parameter defaults to the account's home directory.\n* The system creates the directory if it does not exist.","required":false},{"schema":{"default":0,"enum":[0,1],"example":1,"type":"integer"},"required":false,"description":"Whether to replace a file that already exists in the target directory.\n\n* `1` - Overwrite the existing file.\n* `0` - Fail that file with an \"already exists\" reason.","name":"overwrite","in":"query"},{"name":"permissions","in":"query","schema":{"type":"string","format":"unix-file-permission","pattern":"^[0]?[0-7]{3}$","example":"0600","default":"0644"},"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.","required":false},{"in":"query","name":"get_disk_info","required":false,"description":"Whether to include the account's disk usage in the response.\n\n* `1` - Return the `diskinfo` object.\n* `0` - Do not return the `diskinfo` object.","schema":{"example":1,"default":0,"enum":[0,1],"type":"integer"}}],"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)."}}},"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"x-tagGroups":[{"tags":["Manage Files"],"name":"Files"}],"servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"description":"A server running cPanel."}],"tags":[{"name":"Fileman","description":"The Fileman module for UAPI."},{"name":"Manage Files","description":"Files / Manage Files"}],"openapi":"3.0.2","security":[{"BasicAuth":[]}],"info":{"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"externalDocs":{"url":"https://cpanel.net/developers/"}}},"Features":{"list_features_like":{"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.","version":"11.130.0.9999","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/"},"security":[{"BasicAuth":[]}],"servers":[{"url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"name":"Features","description":"The Features module for UAPI."},{"description":"cPanel Account / cPanel Features","name":"cPanel Features"}],"x-tagGroups":[{"tags":["cPanel Features"],"name":"cPanel Account"}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"paths":{"/Features/list_features_like":{"get":{"x-cpanel-api-version":"UAPI","description":"This function allows you to search for enabled cPanel account features and lists those features\nin the returned payload.","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Features \\\n  list_features_like \\\n  pattern='mail'\n"},{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Features \\\n  list_features_like \\\n  pattern='^ssl.*' \\\n  is_regex=1\n","label":"CLI (Regex)","lang":"Shell"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/Features/list_features_like?pattern=mail"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Features/list_features_like?pattern=%5Essl.*&is_regex=1","label":"URL (Regex)","lang":"HTTP"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Features_list_features_like.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Features_list_features_like.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Features/,\n    q/list_features_like/,\n    {\n        'pattern' => 'mail',\n        'is_regex' => 0,\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Features_list_features_like.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Features_list_features_like.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Features',\n    'list_features_like',\n    array (\n        'pattern' => 'mail',\n        'is_regex' => 0,\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"summary":"Return queried cPanel account features","x-cpanel-available-version":"cPanel 11.130","tags":["Features","cPanel Features"],"parameters":[{"in":"query","name":"pattern","schema":{"type":"string","example":"mail"},"description":"The feature's name that you wish to search.\n\n**Note:**\n\nTo use a regular expression, you must set the `is_regex` parameter's value to `true`.","required":true},{"schema":{"type":"integer","enum":[0,1],"default":0,"example":0},"description":"Whether the `pattern` parameter's value is a regular expression.\n*  `1` - The `pattern` parameter's value is a regular expression.\n*  `0` - The `pattern` parameter's value is **not** a regular expression","required":false,"in":"query","name":"is_regex"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"func":{"type":"string","description":"The name of the method called.","example":"list_features_like"},"module":{"example":"Features","description":"The name of the module called.","type":"string"},"result":{"properties":{"status":{"type":"integer","enum":[0,1],"example":1,"description":"Whether the API call was successful.\n* `1` - Success. Features were searched and results returned.\n* `0` - Failed. Check the `errors` field for details (e.g., missing pattern)."},"metadata":{"properties":{}},"data":{"description":"A list of enabled feature names that match the search pattern.\n\n**Note:**\n\nThe function only returns enabled features.","items":{"type":"string"},"example":["webmail","emailauth"],"type":"array","nullable":true},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"messages":{"description":"List of messages generated by the API.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"errors":{"nullable":true,"type":"array","example":null,"description":"List of errors if the API failed.\n\nCommon errors include missing pattern parameter or invalid regular expression syntax.","items":{"type":"string"}}},"type":"object"},"apiversion":{"type":"integer","example":3,"description":"The version of the API."}}},"examples":{"string-pattern-match":{"summary":"Partial string pattern matching multiple enabled features","value":{"result":{"status":1,"metadata":{},"data":["webmail","emailauth"],"warnings":null,"messages":null,"errors":null}}},"regex-pattern-match":{"summary":"Regular expression pattern matching with anchors","value":{"result":{"messages":null,"errors":null,"metadata":{},"warnings":null,"data":["sslmanager"],"status":1}}},"no-matches":{"value":{"result":{"status":1,"errors":null,"messages":null,"warnings":null,"data":[],"metadata":{}}},"summary":"No enabled features match the pattern"},"missing-pattern":{"value":{"result":{"warnings":null,"data":null,"metadata":{},"errors":["\"pattern\" is required"],"messages":null,"status":0}},"summary":"Pattern parameter is required"}}}},"description":"HTTP Request was successful."}},"x-readonly":true,"operationId":"Features-list_features_like"}}}},"has_features_like":{"security":[{"BasicAuth":[]}],"x-tagGroups":[{"name":"cPanel Account","tags":["cPanel Features"]}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"openapi":"3.0.2","tags":[{"description":"The Features module for UAPI.","name":"Features"},{"description":"cPanel Account / cPanel Features","name":"cPanel Features"}],"servers":[{"variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"version":"11.130.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"paths":{"/Features/has_features_like":{"get":{"x-cpanel-api-version":"UAPI","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Features \\\n  has_features_like \\\n  pattern='mail'\n"},{"lang":"Shell","label":"CLI (Regex)","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"},{"lang":"HTTP","label":"URL (Regex)","source":"https://hostname.example.com:2083/cpsess##########/execute/Features/has_features_like?pattern=%5Essl.*&is_regex=1"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Features_has_features_like.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Features_has_features_like.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Features/,\n    q/has_features_like/,\n    {\n        'pattern' => 'mail',\n        'is_regex' => 0,\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Features_has_features_like.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Features_has_features_like.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Features',\n    'has_features_like',\n    array (\n        'pattern' => 'mail',\n        'is_regex' => 0,\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Return whether queried features are enabled","x-cpanel-available-version":"cPanel 11.130","description":"This function allows you to search for cPanel account features and determine whether those features\nare enabled.","responses":{"200":{"content":{"application/json":{"examples":{"no-matches":{"summary":"No features match the pattern","value":{"result":{"status":1,"messages":null,"errors":null,"metadata":{},"warnings":null,"data":{"has_matching_features":0}}}},"has-enabled-features":{"summary":"Pattern matches enabled features","value":{"result":{"data":{"has_matching_features":1},"warnings":null,"metadata":{},"errors":null,"messages":null,"status":1}}},"no-enabled-features":{"summary":"Pattern matches features but none are enabled","value":{"result":{"status":1,"errors":null,"messages":null,"warnings":null,"data":{"has_matching_features":0},"metadata":{}}}},"missing-pattern":{"value":{"result":{"status":0,"metadata":{},"warnings":null,"data":null,"messages":null,"errors":["\"pattern\" is required"]}},"summary":"Pattern parameter is required"}},"schema":{"properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"func":{"example":"has_features_like","description":"The name of the method called.","type":"string"},"module":{"example":"Features","description":"The name of the module called.","type":"string"},"result":{"properties":{"status":{"type":"integer","example":1,"enum":[0,1],"description":"Whether the API call was successful.\n* `1` - Success. Features were searched and results returned.\n* `0` - Failed. Check the `errors` field for details (e.g., missing pattern)."},"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null},"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.\n\nCommon errors include missing pattern parameter or invalid regular expression syntax.","example":null},"metadata":{"properties":{}},"data":{"nullable":true,"type":"object","properties":{"has_matching_features":{"type":"integer","description":"Whether any features match the search pattern and are enabled.\n* `1` - At least one matching feature is enabled.\n* `0` - No matching features are enabled (either no matches or all matches are disabled).","enum":[0,1],"example":1}},"example":{"has_matching_features":1},"description":"Object containing the result of the feature search."},"warnings":{"nullable":true,"type":"array","example":null,"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"}}},"type":"object"}}}}},"description":"HTTP Request was successful."}},"tags":["Features","cPanel Features"],"parameters":[{"in":"query","name":"pattern","schema":{"type":"string","example":"mail"},"required":true,"description":"The feature's name that you wish to search.\n\n**Note:**\n\nTo use a regular expression, you must set the `is_regex` parameter's value to `true`."},{"schema":{"type":"integer","default":0,"enum":[0,1],"example":0},"description":"Whether the `pattern` parameter's value is a regular expression.\n*  `1` - The `pattern` parameter's value is a regular expression.\n*  `0` - The `pattern` parameter's value is **not** a regular expression","required":false,"name":"is_regex","in":"query"}],"operationId":"Features-has_features_like","x-readonly":true}}}},"get_feature_metadata":{"servers":[{"url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"description":"A server running cPanel."}],"tags":[{"name":"Features","description":"The Features module for UAPI."},{"name":"cPanel Features","description":"cPanel Account / cPanel Features"}],"openapi":"3.0.2","x-tagGroups":[{"name":"cPanel Account","tags":["cPanel Features"]}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"security":[{"BasicAuth":[]}],"info":{"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"},"termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999"},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/Features/get_feature_metadata":{"get":{"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"description":"The version of the API.","example":3,"type":"integer"},"func":{"type":"string","description":"The name of the method called.","example":"get_feature_metadata"},"module":{"example":"Features","description":"The name of the module called.","type":"string"},"result":{"properties":{"data":{"description":"An array of objects containing feature information.","items":{"type":"object","properties":{"name":{"type":"string","description":"The feature's name.","example":"WordPress Manager"},"is_plugin":{"description":"Whether the feature is a [plugin](https://go.cpanel.net/cpanelplugin).\n\n* `1` — Plugin.\n* `0` — **Not** a plugin.","enum":[1,0],"example":1,"type":"integer"},"id":{"type":"string","description":"The feature's system ID.","example":"wordpress_manager"}}},"type":"array"},"warnings":{"nullable":true,"type":"array","example":null,"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"}},"metadata":{"properties":{}},"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"messages":{"description":"List of messages generated by the API.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"status":{"example":1,"enum":[1,0],"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","type":"integer"}},"type":"object"}},"type":"object"}}}}},"parameters":[],"tags":["Features","cPanel Features"],"x-readonly":true,"operationId":"Features-get_feature_metadata","x-cpanel-api-version":"UAPI","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Features \\\n  get_feature_metadata\n","lang":"Shell","label":"CLI"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Features/get_feature_metadata","lang":"HTTP","label":"URL"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Features_get_feature_metadata.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Features_get_feature_metadata.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Features/,\n    q/get_feature_metadata/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Features_get_feature_metadata.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Features_get_feature_metadata.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Features',\n    'get_feature_metadata'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"summary":"Return cPanel account's features' metadata","x-cpanel-available-version":"cPanel 80","description":"This function lists the details of a cPanel account's available feature lists."}}}},"has_feature":{"security":[{"BasicAuth":[]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"x-tagGroups":[{"tags":["cPanel Features"],"name":"cPanel Account"}],"openapi":"3.0.2","servers":[{"variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"tags":[{"description":"The Features module for UAPI.","name":"Features"},{"description":"cPanel Account / cPanel Features","name":"cPanel Features"}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"}},"paths":{"/Features/has_feature":{"get":{"tags":["Features","cPanel Features"],"responses":{"200":{"content":{"application/json":{"examples":{"does-not-have-feature":{"summary":"The account does not have a feature.","value":{"result":{"messages":null,"errors":null,"metadata":{},"warnings":null,"data":null,"status":0}}},"exists-but-acct-does-not-have":{"summary":"The feature exists but the account does not have it enabled.","value":{"result":{"errors":null,"messages":["The feature “autossl” exists but is not enabled."],"warnings":null,"data":null,"metadata":{},"status":0}}},"has-feature":{"value":{"result":{"status":1,"data":null,"warnings":null,"metadata":{},"errors":null,"messages":null}},"summary":"The account has a feature."}},"schema":{"properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"module":{"type":"string","example":"Features","description":"The name of the module called."},"result":{"properties":{"messages":{"example":null,"items":{"type":"string"},"description":"A message about the feature's status.\n\n**Note:**\n\nThe function only returns a message when the feature exists but\nit is **not** enabled.","nullable":true,"type":"array"},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"metadata":{"properties":{}},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"data":{"default":null,"type":"object","nullable":true},"status":{"description":"Whether the feature exists on the system.\n\n* `1` — The feature exists on the system and it is enabled.\n* `0` — The feature exists on the system, but the user does **not** have it.\n* `null` — The feature is **not** installed on the system.","enum":[0,1],"example":1,"type":"integer","nullable":true}},"type":"object"},"func":{"example":"has_feature","description":"The name of the method called.","type":"string"}}}}},"description":"HTTP Request was successful."}},"parameters":[{"schema":{"example":"autossl","type":"string"},"required":true,"description":"The feature's name.","name":"name","in":"query"}],"operationId":"Features-has_feature","x-readonly":true,"x-cpanel-api-version":"UAPI","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Features \\\n  has_feature \\\n  name='autossl'\n","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Features/has_feature?name=autossl","label":"URL","lang":"HTTP"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Features_has_feature.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Features_has_feature.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Features/,\n    q/has_feature/,\n    {\n        'name' => 'autossl',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Features_has_feature.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Features_has_feature.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Features',\n    'has_feature',\n    array (\n        'name' => 'autossl',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"summary":"Validate cPanel account's feature access","x-cpanel-available-version":"cPanel 11.42","description":"This function checks whether a cPanel account has access to\na [feature](https://go.cpanel.net/whmdocsFeatureManager#selectable-features)."}}}},"list_features":{"security":[{"BasicAuth":[]}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"x-tagGroups":[{"tags":["cPanel Features"],"name":"cPanel Account"}],"openapi":"3.0.2","servers":[{"variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"tags":[{"name":"Features","description":"The Features module for UAPI."},{"name":"cPanel Features","description":"cPanel Account / cPanel Features"}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"},"termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."},"paths":{"/Features/list_features":{"get":{"x-cpanel-api-version":"UAPI","x-cpanel-available-version":"cPanel 11.42","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Features \\\n  list_features\n","label":"CLI","lang":"Shell"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/Features/list_features"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Features_list_features.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Features_list_features.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Features/,\n    q/list_features/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Features_list_features.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Features_list_features.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Features',\n    'list_features'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Return cPanel account's features","description":"This function lists a cPanel account's features.","x-readonly":true,"operationId":"Features-list_features","responses":{"200":{"content":{"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"},"result":{"type":"object","properties":{"metadata":{"properties":{}},"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null,"type":"array","nullable":true},"data":{"type":"object","additionalProperties":{"description":"Whether the feature is installed.\n* `1` - Installed.\n* `0` - **Not** installed.","enum":[0,1],"example":0,"type":"integer"},"description":"Features available to the account. The key is a feature name and the value\nis whether the feature is installed.\n\n**Note:**\n\nThis function returns features that third-party software or plugins provide.","example":{"updatecontact":1,"email_disk_usage":1,"emailtrace":1,"spamassassin":1,"emaildomainfwd":1,"boxtrapper":1,"spambox":1,"defaultaddress":1,"traceaddy":1,"popaccts":1,"bbs":0,"chat":0,"emailauth":1,"emailarchive":1,"changemx":1,"blockers":1,"webmail":1}},"messages":{"items":{"type":"string"},"description":"List of messages generated by the API.","example":null,"type":"array","nullable":true},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"status":{"example":1,"enum":[0,1],"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","type":"integer"}}},"module":{"type":"string","description":"The name of the module called.","example":"Features"}},"type":"object"}}},"description":"HTTP Request was successful."}},"parameters":[],"tags":["Features","cPanel Features"]}}}}},"Park":{"listparkeddomains":{"paths":{"/Park/listparkeddomains":{"get":{"parameters":[{"in":"query","name":"regex","required":false,"description":"A Perl regular expression. The system returns only the parked domains whose name matches this pattern, case-insensitively.","schema":{"type":"string","example":"example[.]com$"}},{"schema":{"type":"integer","default":0,"enum":[0,1],"example":1},"required":false,"description":"Whether to include the `can_https_redirect` and `is_https_redirecting` fields in each entry.\n* `1` - Include the HTTPS redirect status.\n* `0` - Omit the HTTPS redirect status.","name":"return_https_redirect_status","in":"query"}],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"status":{"example":1,"enum":[0,1],"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","type":"integer"},"errors":{"type":"array","nullable":true,"items":{"type":"string"}},"messages":{"items":{"type":"string"},"type":"array","nullable":true},"data":{"type":"array","description":"One entry for each domain parked on the account's primary domain.","items":{"type":"object","properties":{"reldir":{"example":"home:public_html","description":"The domain's document root, relative to the account's home directory and prefixed with `home:`.","type":"string"},"web_subdomain_aliases":{"description":"The built-in service subdomain aliases, for example `www`, that the system serves for the parked domain.","items":{"type":"string","format":"domain"},"type":"array"},"domain":{"description":"The parked domain.","example":"alias.example.com","format":"domain","type":"string"},"dir":{"example":"/home/username/public_html","description":"The absolute path to the domain's document root.","type":"string","format":"path"},"can_https_redirect":{"example":1,"enum":[0,1],"description":"Whether the system can redirect the domain to `HTTPS`. The system only returns this field when you pass the `return_https_redirect_status` parameter.\n* `1` - The system can redirect the domain.\n* `0` - The system cannot redirect the domain.","type":"integer"},"status":{"type":"string","example":"","description":"The URL that the domain redirects to, or the domain's rewrite status when it does not redirect."},"is_https_redirecting":{"description":"Whether the system currently redirects the domain to `HTTPS`. The system only returns this field when you pass the `return_https_redirect_status` parameter.\n* `1` - The system redirects the domain.\n* `0` - The system does **not** redirect the domain.","enum":[0,1],"example":0,"type":"integer"},"basedir":{"type":"string","example":"public_html","description":"The domain's document root, relative to the account's home directory."}}}},"warnings":{"nullable":true,"type":"array","items":{"type":"string"}},"metadata":{"type":"object","properties":{"transformed":{"type":"integer"}}}},"type":"object"}}}}},"tags":["Park"],"operationId":"Park-listparkeddomains","x-readonly":true,"summary":"List the parked (aliased) domains","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Park \\\n  listparkeddomains\n","label":"CLI","lang":"Shell"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/Park/listparkeddomains"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Park_listparkeddomains.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Park_listparkeddomains.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Park/,\n    q/listparkeddomains/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Park_listparkeddomains.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Park_listparkeddomains.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Park',\n    'listparkeddomains'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}\n"}],"x-cpanel-available-version":"cPanel 138","description":"This function lists the domains that are parked (aliased) on the cPanel\naccount's primary domain.\n\n**Note:**\n\nThis function lists only the domains parked on the primary domain. Use\nthe `AddonDomain::listaddondomains` function for the domains parked on a\nsubdomain.","x-cpanel-api-version":"UAPI"}}},"info":{"termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.138.0.9999","contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"name":"Domain Management","tags":["Park"]}],"servers":[{"description":"A server running cPanel.","variables":{"host":{"description":"The hostname of a server running cPanel.","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute"}],"tags":[{"description":"The Park module for UAPI.","name":"Park"}],"openapi":"3.0.2","security":[{"BasicAuth":[]}]},"unpark":{"security":[{"BasicAuth":[]}],"tags":[{"name":"Park","description":"The Park module for UAPI."}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel."}}}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"x-tagGroups":[{"name":"Domain Management","tags":["Park"]}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"version":"11.138.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}},"paths":{"/Park/unpark":{"get":{"x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Park \\\n  unpark \\\n  domain='alias.example.com'\n","lang":"Shell","label":"CLI"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/Park/unpark?domain=alias.example.com"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Park_unpark.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Park_unpark.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Park/,\n    q/unpark/,\n    {\n        'domain' => 'alias.example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Park_unpark.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Park_unpark.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Park',\n    'unpark',\n    array (\n        'domain' => 'alias.example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}\n"}],"summary":"Remove a parked (aliased) domain","x-cpanel-available-version":"cPanel 138","description":"This function unparks (removes the alias for) a domain on the cPanel\naccount.\n\n**Important:**\n\n- This function removes the alias only. It does **not** remove the\n  subdomain that an addon domain is parked on. To remove both, use the\n  `AddonDomain::deladdondomain` function instead.\n- The account must have either the *Parked Domains* or the *Addon\n  Domains* feature.\n\nWhen you disable the [Web Server role](https://go.cpanel.net/serverroles#roles),\nthe system **disables** this function.","x-cpanel-api-version":"UAPI","x-rollback":"none","parameters":[{"name":"domain","in":"query","description":"The parked domain to remove.","required":true,"schema":{"example":"alias.example.com","format":"domain","type":"string"}},{"required":false,"description":"The subdomain that the domain is parked on, given in the underscore-separated form that the `AddonDomain::listaddondomains` function returns in its `domainkey` field.\n\nOmit this parameter to let the system determine the subdomain. Pass it only when the domain is parked on a subdomain rather than on the primary domain.","schema":{"example":"shop_example.com","type":"string"},"in":"query","name":"subdomain"}],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","example":1,"enum":[0,1],"type":"integer"},"errors":{"type":"array","nullable":true,"items":{"type":"string"}},"messages":{"items":{"type":"string"},"nullable":true,"type":"array"},"data":{"description":"This function does not return data. Check the `status` field for the outcome, and the `messages` and `errors` fields for detail."},"warnings":{"nullable":true,"type":"array","items":{"type":"string"}},"metadata":{"properties":{"transformed":{"type":"integer"}},"type":"object"}}}}}}},"tags":["Park"],"x-readonly":false,"operationId":"Park-unpark"}}}},"park":{"paths":{"/Park/park":{"get":{"parameters":[{"schema":{"type":"string","format":"domain","example":"alias.example.com"},"description":"The domain to park. The system removes a leading `www.` from this value and converts it to lowercase before it validates the domain.","required":true,"name":"domain","in":"query"},{"schema":{"example":"shop","type":"string"},"required":false,"description":"The subdomain label of the account's primary domain to park the `domain` value on. The system appends the primary domain to this value.\n\nOmit this parameter to park the domain on the primary domain itself.","name":"topdomain","in":"query"},{"name":"disallowdot","in":"query","schema":{"type":"integer","enum":[0,1],"example":1,"default":0},"description":"Whether to remove the dot (`.`) characters from the `topdomain` value, rather than only trimming a trailing dot. This parameter has no effect unless you also pass the `topdomain` parameter.\n* `1` - Remove dots from the subdomain label.\n* `0` - Do **not** remove dots from the subdomain label.","required":false},{"description":"Accepted for compatibility, but ignored for account-level callers. It can no longer cause the system to skip the domain name, [DNS](https://go.cpanel.net/dnsrecords), and registration checks, or to overwrite an existing DNS zone.\n\nThe system still refuses to create a domain that another account owns.\n* `0` - Enforce the checks.\n* `1` - Accepted, but has no effect for account-level callers.","required":false,"schema":{"type":"integer","default":0,"enum":[0,1],"example":1},"name":"force","in":"query"}],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","example":1,"enum":[0,1],"type":"integer"},"data":{"description":"This function does not return data. Check the `status` field for the outcome, and the `messages` and `errors` fields for detail."},"warnings":{"items":{"type":"string"},"nullable":true,"type":"array"},"metadata":{"properties":{"transformed":{"type":"integer"}},"type":"object"},"errors":{"items":{"type":"string"},"type":"array","nullable":true},"messages":{"nullable":true,"type":"array","items":{"type":"string"}}}}}}}},"tags":["Park"],"operationId":"Park-park","x-readonly":false,"x-cpanel-api-version":"UAPI","description":"This function parks (aliases) a domain on the cPanel account, so that the\ndomain serves the content of a domain that already exists on the account.\n\n**Important:**\n\n- Without the `topdomain` parameter, the system parks the domain on the\n  account's primary domain.\n- With the `topdomain` parameter, the system parks the domain on a\n  subdomain of the primary domain. That arrangement is how an addon\n  domain is represented. To create an addon domain and its subdomain in\n  one call, use the `AddonDomain::addaddondomain` function instead.\n- The account must have either the *Parked Domains* or the *Addon\n  Domains* feature. Parking on the primary domain requires the *Parked\n  Domains* feature specifically.\n\nWhen you disable the [Web Server role](https://go.cpanel.net/serverroles#roles),\nthe system **disables** this function.","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Park \\\n  park \\\n  domain='alias.example.com'\n","lang":"Shell","label":"CLI"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/Park/park?domain=alias.example.com"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Park_park.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Park_park.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Park/,\n    q/park/,\n    {\n        'domain' => 'alias.example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Park_park.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Park_park.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Park',\n    'park',\n    array (\n        'domain' => 'alias.example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}\n","lang":"PHP","label":"LiveAPI PHP"}],"x-cpanel-available-version":"cPanel 138","summary":"Park an alias domain on an existing domain","x-rollback":"none"}}},"info":{"termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","version":"11.138.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"x-tagGroups":[{"tags":["Park"],"name":"Domain Management"}],"servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel.","default":"cpanel-server.tld"}}}],"openapi":"3.0.2","tags":[{"description":"The Park module for UAPI.","name":"Park"}],"security":[{"BasicAuth":[]}]}},"VersionControl":{"create":{"security":[{"BasicAuth":[]}],"servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}}}],"openapi":"3.0.2","tags":[{"description":"The VersionControl module for UAPI.","name":"VersionControl"},{"name":"Repository Management","description":"GIT Management / Repository Management"}],"x-tagGroups":[{"name":"GIT Management","tags":["Repository Management"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}},"paths":{"/VersionControl/create":{"get":{"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"type":"integer","description":"The version of the API.","example":3},"func":{"example":"create","description":"The name of the method called.","type":"string"},"module":{"type":"string","example":"VersionControl","description":"The name of the module called."},"result":{"properties":{"warnings":{"type":"array","nullable":true,"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"},"example":null},"data":{"type":"object","properties":{"last_update":{"description":"Information about the most-recent (HEAD) commit for the current branch.\n\n**Note:**\n\n* The system may require a large amount of time to clone large\nrepositories. Until this process finishes, HEAD information is unavailable.\n* `null` is the only possible value.","enum":[null]},"branch":{"example":"master","description":"The repository's current branch.\n\n* `null` — The system has **not** finished the clone process for\nthe repository, or no local branches exist.","nullable":true,"type":"string"},"name":{"type":"string","example":"example","description":"The repository's display name."},"clone_urls":{"type":"object","properties":{"read_write":{"description":"A list of of clone URLs with read-write permissions. The function\nreturns a blank array if the account does **not** include the\n*Shell Access* setting.\n\n**Important:**\n\nIf the server uses a [nonstandard SSH port](https://go.cpanel.net/firewall),\nthe system returns a clone URL that includes the port number.","items":{"type":"string","example":"ssh://user@example.com/home/user/example"},"type":"array"},"read_only":{"type":"array","items":{"format":"url","type":"string","example":"https://user@example.com/home/user/example"},"description":"A list of clone URLs with read-only permissions. The function\nreturns a blank array if the account does **not** include the\n*Shell Access* setting.\n\n**Important:**\n\nIf the server uses a [nonstandard SSH port](https://go.cpanel.net/firewall),\nthe system returns a clone URL that includes the port number."}},"description":"An object containing URLs to use to clone the repository."},"source_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","description":"A object containing information about a cloned repository's source\nrepository.\n\n**Note:**\n\nThe function **only** returns this object if it will clone a\nrepository."},"tasks":{"type":"array","description":"An array of objects containing information about the\n[Task Queue](https://go.cpanel.net/whmdocsTaskQueueMonitor)\nsystem's process that will clone the repository.\n\n**Note:**\n\nThe function **only** returns this value if it will clone a\nrepository.","items":{"properties":{"action":{"description":"The task's action.\n\n* `create`\n\n**Note:**\n\n`create` is the only possible value.","enum":["create"],"example":"create","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":{"type":"string","enum":["VersionControl"],"example":"VersionControl","description":"The [Task Queue](https://go.cpanel.net/whmdocsTaskQueueMonitor)\nsubsystem that will handle the task.\n\n* `VersionControl`\n\n**Note:**\n\n`VersionControl` is the only possible value."},"id":{"type":"string","example":"00000000/5a9ec8dd4c345d","description":"The [Task Queue](https://go.cpanel.net/whmdocsTaskQueueMonitor)\nsystem's task ID number."},"args":{"properties":{"log_file":{"type":"string","example":"/home/username/.cpanel/logs/vc_1234567890.123456_git_deploy.log","description":"The absolute path to the process's log file.\n\n**Note:**\n\nThe function **only** returns this value if the process\ngenerated a log file."},"repository_root":{"description":"The absolute path to the repository's directory within the user's `home` directory.","example":"/home/user/example","type":"string","format":"path"}},"type":"object","description":"A list of arguments for the\n[Task Queue](https://go.cpanel.net/whmdocsTaskQueueMonitor)\nsystem's process."}},"type":"object"}},"type":{"type":"string","example":"git","description":"The repository type.\n\n* `git` — A Git repostiory.\n\n**Note:**\n\n`git` is the only possible value."},"available_branches":{"type":"array","example":["master","olive"],"items":{"type":"string"},"description":"An list of available branches for the cloned or existing repository, if any exist."},"repository_root":{"example":"/home/user/public_html/example","description":"The absolute path of the directory that contains the repository in the user's `home` directory.","format":"path","type":"string"}}},"metadata":{"properties":{}},"errors":{"nullable":true,"type":"array","example":null,"description":"List of errors if the API failed.","items":{"type":"string"}},"messages":{"items":{"type":"string"},"description":"List of messages generated by the API.","example":null,"type":"array","nullable":true},"status":{"type":"integer","description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","enum":[1,0],"example":1}},"type":"object"}},"type":"object"}}}}},"tags":["VersionControl","Repository Management"],"operationId":"VersionControl-create","x-readonly":false,"x-cpanel-api-version":"UAPI","x-codeSamples":[{"lang":"Shell","label":"CLI","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"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/VersionControl/create?type=git&name=example&repository_root=%2fhome%2fuser%2fpublic_html%2fexample","label":"URL","lang":"HTTP"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Create Git repository","x-cpanel-available-version":"cPanel 72","parameters":[{"schema":{"example":"git","enum":["git"],"type":"string"},"required":true,"description":"The repository type.\n\n* `git` — A [Git](https://git-scm.com/) repository.\n\n**Note:**\n\n`git` is the only possible value.","in":"query","name":"type"},{"schema":{"type":"string","example":"example"},"description":"The new repository's display name.","required":true,"name":"name","in":"query"},{"schema":{"example":"/home/user/public_html/example","format":"path","type":"string"},"required":true,"description":"The absolute path to the directory in which to store the repository, relative to the\nuser's `home` directory.\n\n**Note:**\n\n* If the directory does **not** exist, the system will create it.\n* If the specified directory already contains a repository, the system will\nautomatically add it to the list of cPanel-managed repositories.\n* This feature enforces several restrictions on repository paths. For more information,\nread our [Guide to Git - For System Administrators](https://go.cpanel.net/GuidetoGitForSystemAdministrators) documentation.","name":"repository_root","in":"query"},{"name":"source_repository","in":"query","content":{"application/json":{"schema":{"properties":{"remote_name":{"default":"origin","description":"The source repository's name.","type":"string"},"url":{"type":"string","description":"The source repository's clone URL."}},"example":{"remote_name":"origin","url":"ssh://clone.domain.com/cloneme"},"required":["url"]}}},"required":false,"description":"A JSON-formatted object containing information about the source repository that the\nsystem will clone.\n\n**Note:**\n\nIf you do **not** include source repository data, the function creates an empty repository."}],"description":"This function creates a new Git™ repository on a cPanel account.\n\n* For more information about 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* For a list of configuration changes, repository restrictions, and troubleshooting steps,\nread our [Guide to Git - For System Administrators](https://go.cpanel.net/GuidetoGitForSystemAdministrators) documentation.\n\n**Important:**\n\nThe system logs errors for this function in the `~/.cpanel/logs/vc_TIMESTAMP_git_create.log`\nfile, where `TIMESTAMP` represents the time of the error in Unix epoch time.","x-rollback":"none"}}}},"delete":{"security":[{"BasicAuth":[]}],"servers":[{"description":"A server running cPanel.","variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute"}],"tags":[{"description":"The VersionControl module for UAPI.","name":"VersionControl"},{"description":"GIT Management / Repository Management","name":"Repository Management"}],"openapi":"3.0.2","components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"name":"GIT Management","tags":["Repository Management"]}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"},"termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999"},"paths":{"/VersionControl/delete":{"get":{"description":"This function deletes a cPanel account's Git™ repository. For more information about\nsupport 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**Warning:**\n\n* When you call this function, the system **permanently deletes** the entire contents\nof the specified directory. You **cannot** recover this data after deletion.\n* You **cannot** use this function to delete any repositories that do not appear in\nthe cache of repositories (for example, repositories that contain invalid characters or\nexist within cPanel-controlled directories).","x-cpanel-available-version":"cPanel 72","summary":"Delete Git repository","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  VersionControl \\\n  delete \\\n  repository_root='/home/user/example'\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/VersionControl/delete?repository_root=%2fhome%2fuser%2fexample","label":"URL","lang":"HTTP"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-api-version":"UAPI","x-rollback":"none","tags":["VersionControl","Repository Management"],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"func":{"example":"delete","description":"The name of the method called.","type":"string"},"module":{"type":"string","description":"The name of the module called.","example":"VersionControl"},"result":{"properties":{"messages":{"items":{"type":"string"},"description":"List of messages generated by the API.","example":null,"type":"array","nullable":true},"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null},"metadata":{"properties":{}},"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"},"example":null,"type":"array","nullable":true},"data":{"type":"object","nullable":true,"default":null},"status":{"type":"integer","example":1,"enum":[1,0],"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details."}}}},"type":"object"}}},"description":"HTTP Request was successful."}},"parameters":[{"schema":{"example":"/home/user/example","type":"string"},"required":true,"description":"The absolute directory path in the user's `home` directory containing the repository to delete.","name":"repository_root","in":"query"}],"x-readonly":false,"operationId":"VersionControl-delete"}}}},"update":{"paths":{"/VersionControl/update":{"get":{"x-readonly":false,"operationId":"VersionControl-update","tags":["VersionControl","Repository Management"],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"func":{"type":"string","example":"update","description":"The name of the method called."},"module":{"type":"string","description":"The name of the module called.","example":"VersionControl"},"result":{"type":"object","properties":{"status":{"enum":[1,0],"example":1,"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","type":"integer"},"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"},"data":{"type":"object","properties":{"last_deployment":{"description":"An object containing information about the commit that the system\nmost recently deployed.\n\n**Note:**\n\nIf no deployment information exists, the function returns a `null` value.","nullable":true,"type":"object","properties":{"repository_state":{"properties":{"identifier":{"description":"The identifier (SHA-1 value) for the commit that the system most recently deployed.","type":"string"},"author":{"description":"The author's name and email address for the commit that the system most recently deployed.","type":"string"},"date":{"format":"unix_timestamp","type":"integer","description":"The timestamp for the commit that the system most recently deployed."},"message":{"type":"string","description":"The commit message for the commit that the system most recently deployed."}},"type":"object","description":"A object containing information about the state of the repository at the time of the most recent deployment."},"deployment_date":{"format":"unix_timestamp","type":"integer","description":"The timestamp for the most recent deployment."}}},"available_branches":{"description":"A list of local and remote branches available for the cloned or\nexisting repository.\n\n* An empty array, if no branches exist.\n* `null` — The repository is a bare repository.","items":{"nullable":true,"type":"string"},"type":"array"},"type":{"type":"string","enum":["git"],"description":"The repository type.\n\n* `git` — A [Git](https://git-scm.com/) repository.\n\n**Note:**\n\n* `git` is the only possible value."},"source_repository":{"description":"An object containing information about the source repository.\n\n**Note:**\n\nThe function **only** returns this object if you cloned a source\nrepository.","properties":{"remote_name":{"description":"The source repository's name.","type":"string"},"url":{"type":"string","description":"The source repository's clone URL."}},"type":"object"},"tasks":{"type":"array","items":{"properties":{"action":{"enum":["create","deploy"],"description":"The task's action.\n\n* `create` — Create the repository.\n* `deploy` — Deploy the repository.","type":"string"},"args":{"type":"object","properties":{"log_file":{"description":"The absolute path to the process log file in the user's\n`home` directory.\n\n**Note:**\n\nThe function **only** returns this value if the process\ngenerated a log file.","type":"string"},"repository_root":{"description":"The repository's absolute directory path in the user's `home` directory.","type":"string"}},"description":"An object containing arguments for the Task Queue system's process."},"id":{"type":"string","description":"The Task Queue system's task ID number."},"subsystem":{"type":"string","description":"The Task Queue subsystem that will handle the task.\n\n* `VersionControl`\n\n**Note:**\n\n* `VersionControl` is the only possible value.","enum":["VersionControl"]}},"type":"object"},"description":"An array of objects containing information about the\n[Task Queue](https://go.cpanel.net/whmdocsTaskQueueMonitor)\nsystem's process that will clone the repository.\n\n**Note:**\n\nThe function **only** returns this value if the clone process is\nnot finished."},"deployable":{"type":"integer","description":"Whether the system could deploy the repository.\n\n* `1` — Can deploy.\n* `0` — Cannot deploy.","enum":[1,0]},"name":{"type":"string","description":"The repository's display name."},"branch":{"description":"The repository's current branch.\n\n* `null` — The system has not finished the clone process for the\nrepository, no local branches exist, or the repository is a bare\nrepository.","type":"string","nullable":true},"repository_root":{"type":"string","description":"The directory path that exists in the user's `home` directory containing the repository."},"clone_urls":{"description":"An object containing the URLs to use to clone the repository.\n\nThe function returns an empty object if the account does **not**\ninclude the *Shell Access* setting.\n\n**Important:**\n\nIf the server uses a nonstandard SSH port, the system returns a\nclone URL that includes the port number. ","type":"object","properties":{"read_only":{"description":"A list of clone URLs with read-only permissions.\n\nThis function returns an empty list if the account does\n**not** include the *Shell Access* setting.\n\n**Important:**\n\nIf the server uses a nonstandard SSH port, the system returns a\nclone URL that includes the port number.","items":{"format":"url","type":"string"},"type":"array"},"read_write":{"items":{"type":"string"},"description":"A list of clone URLs with read-write permissions.\n\nThis function returns an empty list if the account does\n**not** include the *Shell Access* setting.\n\n**Important:**\n\nIf the server uses a nonstandard SSH port, the system returns a\nclone URL that includes the port number.","type":"array"}}},"last_update":{"description":"An object containing information about the most recent (HEAD) commit for\nthe 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\nreturns a `null` value instead of an object.\n* The system may require a large amount of time to clone larger repositories.\nUntil this process finishes, HEAD information is unavailable.","type":"object","properties":{"message":{"type":"string","description":"The commit message."},"date":{"format":"unix_timestamp","type":"integer","description":"The timestamp for the most recent commit."},"author":{"description":"The most recent commit's author name and email address.","type":"string"},"identifier":{"description":"The identifier (SHA-1 value) for the most recent commit.","type":"string"}},"nullable":true}},"example":{"last_update":{"date":1569844800,"author":"Jane Doe <jane.doe@example.com>","message":"I'm committing some particularly cromulent code.","identifier":"2fd4e1c67a2d28fced849ee1bb76e7391b93eb12"},"branch":"master","name":"example","deployable":1,"clone_urls":{"read_write":["ssh://user@example.com/home/user/example"],"read_only":["https://user@example.com/home/user/example"]},"tasks":[{"args":{"repository_root":"/home/user/example"},"id":"00000000/5a9ec8dd4c345d","subsystem":"VersionControl","action":"create"}],"type":"git","repository_root":"/home/user/example","available_branches":["master"],"last_deployment":{"repository_state":{"date":1569844800,"author":"User Name <user.name@example.com>","message":"I'm committing some particularly cromulent code.","identifier":"2fd4e1c67a2d28fced849ee1bb76e7391b93eb121"},"deployment_date":1569844800}}},"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API."},"metadata":{"properties":{}}}},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}},"type":"object"}}},"description":"HTTP Request was successful."}},"x-cpanel-api-version":"UAPI","x-cpanel-available-version":"cPanel 72","summary":"Update Git repository settings","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  VersionControl \\\n  update \\\n  repository_root='/home/user/public_html/example'\n","label":"CLI","lang":"Shell"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/VersionControl/update?repository_root=%2fhome%2fuser%2fpublic_html%2fexample"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"parameters":[{"name":"repository_root","in":"query","schema":{"type":"string","format":"path","example":"/home/user/public_html/example"},"required":true,"description":"The absolute directory path that contains the repository to update."},{"schema":{"type":"string","example":"example"},"description":"The repository's new display name.\n\nIf you do not specify a value, the function does **not** update this parameter.","required":false,"name":"name","in":"query"},{"schema":{"example":"master","type":"string"},"description":"The new branch to use.\n\nIf you do not specify a value, the function does **not** update this parameter.\n\n**Remember:**\n\nThis function **only** pulls changes from the remote repository if you specify\nthis value.","required":false,"name":"branch","in":"query"},{"name":"source_repository","in":"query","content":{"application/json":{"schema":{"properties":{"remote_name":{"type":"string","description":"The source repository's name. If you do not specify a value, the function does **not** update this parameter."}},"type":"object","example":{"remote_name":"origin"}}}},"required":false,"description":"A JSON-encoded object containing information about the source repository.\n\nIf you do not specify a value, the function does **not** update this parameter.\n\n**Important:**\n\n* You **cannot** modify the source repository's URL.\n* You **must** JSON-encode the contents of this object."}],"x-rollback":"none","description":"This function modifies a Git™ repository's basic settings. For more information about support\nfor version control in cPanel & WHM, read our\n[Git Version Control](https://go.cpanel.net/GitVersionControl)\nand [Guide to Git](https://go.cpanel.net/GitDeployment) documentation.\n\n**Note:**\n\n* This function **only** pulls changes from the remote repository if you specify a `branch` value.\n* You **cannot** modify the `type`, `repository_root`, or `url` values for existing repositories.\n* You **must** include the `repository_root` parameter in order to identify the repository to\nupdate.\n* All other input parameters are **optional**. Use them to assign the **new** values to the\naccount. If you do not include a parameter or specify its existing value, no change will occur."}}},"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute"}],"tags":[{"name":"VersionControl","description":"The VersionControl module for UAPI."},{"name":"Repository Management","description":"GIT Management / Repository Management"}],"x-tagGroups":[{"tags":["Repository Management"],"name":"GIT Management"}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"security":[{"BasicAuth":[]}],"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"}},"externalDocs":{"url":"https://cpanel.net/developers/"}},"retrieve":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"},"title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999"},"security":[{"BasicAuth":[]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"x-tagGroups":[{"tags":["Repository Management"],"name":"GIT Management"}],"openapi":"3.0.2","tags":[{"description":"The VersionControl module for UAPI.","name":"VersionControl"},{"name":"Repository Management","description":"GIT Management / Repository Management"}],"servers":[{"url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"description":"A server running cPanel."}],"paths":{"/VersionControl/retrieve":{"get":{"parameters":[{"in":"query","name":"fields","required":false,"description":"A comma-separated list of desired return values.\n\n**Note:**\n\nUse a wildcard (`*`) to list all possible return values.","schema":{"type":"string","default":"*","example":"name,type,branch,last_update"}}],"tags":["VersionControl","Repository Management"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"func":{"type":"string","example":"retrieve","description":"The name of the method called."},"module":{"type":"string","example":"VersionControl","description":"The name of the module called."},"result":{"type":"object","properties":{"metadata":{"properties":{"transformed":{"example":1,"enum":[1],"description":"Post-processing may have transformed the data.","type":"integer"}}},"data":{"description":"An array of objects containing repository data.","items":{"type":"object","properties":{"branch":{"type":"string","nullable":true,"description":"The repository's current branch.\n\n* `null` — The system has not finished the clone process for the\nrepository, no local branches exist, or the repository is a bare\nrepository."},"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":{"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"},"date":{"example":1569844800,"description":"The timestamp for the most-recent commit.","type":"integer","format":"unix_timestamp"},"author":{"example":"Jane Doe <jane.doe@example.com>","description":"The most-recent commit's author's name and email address.","type":"string"}},"type":"object"},"deployable":{"description":"Whether the system could deploy the repository.\n\n* `1` — Can deploy.\n* `0` — Cannot deploy.","enum":[1,0],"type":"integer"},"name":{"type":"string","example":"example","description":"The repository's display name."},"source_repository":{"properties":{"remote_name":{"example":"origin","description":"The source repository's name.","type":"string"},"url":{"description":"The source repository's clone URL.","example":"ssh://clone.domain.com/cloneme","type":"string"}},"type":"object","description":"An object containing information about the source repository.\n\n**Note:**\n\nThe function **only** returns this object if you cloned a source\nrepository."},"tasks":{"type":"array","items":{"type":"object","properties":{"action":{"type":"string","description":"The task's action.\n\n* `create` — Create the repository.\n* `deploy` — Deploy the repository.","enum":["create","deploy"]},"sse_url":{"type":"string","description":"The Secure Server Events (SSE) interface URL to track the progress of the process.","example":"/sse/UserTasks/B3A27B96-51F7-11E8-92E3-CC90C4F823F0"},"args":{"type":"object","properties":{"repository_root":{"description":"The absolute path to the repository's directory in the user's `home` directory.","example":"/home/user/example","type":"string"},"log_file":{"format":"path","type":"string","example":"/home/username/.cpanel/logs/vc_1234567890.123456_git_deploy.log","description":"The absolute path to the process's log file.\n\n**Note:**\n\nThe function only returns this value if the process generated\na log file."}},"description":"A list of arguments for the Task Queue system's process."},"subsystem":{"enum":["VersionControl"],"example":"VersionControl","description":"The Task Queue subsystem that will handle the task.\n\n* `VersionControl` is the only possible value.","type":"string"},"id":{"example":"00000000/5a9ec8dd4c345d","description":"The Task Queue system's task ID number.","type":"string"}}},"description":"An array of objects containing information about the\n[Task Queue](https://go.cpanel.net/whmdocsTaskQueueMonitor)\nsystem's process that will clone the repository.\n\n**Note:**\n\nThe function only returns this value if the clone process is\n**not** finished."},"clone_urls":{"properties":{"read_only":{"description":"A list of clone URLs with read-only permissions.\n\nThis function returns a blank array if the account does\nnot include the *Shell Access* setting.\n\n**Important:**\n\nIf the server uses a nonstandard SSH port, the system returns a\nclone URL that includes the port number.","items":{"type":"string"},"type":"array"},"read_write":{"type":"array","description":"A list of clone URLs with read-write permissions.\n\nThis function returns a blank array if the account does\nnot include the *Shell Access* setting.\n\n**Important:**\n\nIf the server uses a nonstandard SSH port, the system returns a\nclone URL that includes the port number.","items":{"type":"string"}}},"type":"object","description":"An array of objects containing URLS to use to clone the repository."},"available_branches":{"items":{"type":"string"},"description":"A list of available local and remote branches for the cloned\nor existing repository.\n\n* An empty array — No branches exist.\n* `null` — The repository is a bare repository.","nullable":true,"type":"array"},"last_deployment":{"properties":{"repository_state":{"description":"A object containing information about the state of the repository at the time of the most recent deployment.","properties":{"identifier":{"description":"The identifier (SHA-1 value) for the commit that the system most recently deployed.","type":"string"},"date":{"format":"unix_timestamp","type":"integer","description":"The timestamp for the commit that the system most recently deployed."},"author":{"type":"string","description":"The author's name and email address for the commit that the system most recently deployed."},"message":{"description":"The commit message for the commit that the system most recently deployed.","type":"string"}},"type":"object"},"deployment_date":{"type":"integer","format":"unix_timestamp","description":"The timestamp for the most-recent deployment."}},"type":"object","description":"An object containing information about the commit that the system\nmost recently deployed.\n\n**Note:**\n\nThe system **only** returns this object if deployment information\nexists."},"repository_root":{"example":"/home/user/public_html/example","description":"The absolute directory path in the user's `home` directory containing the repository.","format":"path","type":"string"},"type":{"example":"git","enum":["git"],"description":"The repository type.\n\n* `git` is the only possible value.","type":"string"}}},"example":[{"type":"git","available_branches":["master"],"last_deployment":{"deployment_date":1598774400,"repository_state":{"identifier":"2fd4e1c67a2d28fced849ee1bb76e7391b93eb12","message":"I'm committing some particularly cromulent code.","author":"User Name <user.name@example.com>","date":1598774400}},"repository_root":"/home/user/example","clone_urls":{"read_only":["https://user@example.com/home/user/example"],"read_write":["ssh://user@example.com/home/user/example"]},"tasks":[{"sse_url":"/sse/UserTasks/B3A27B96-51F7-11E8-92E3-CC90C4F823F0","action":"create","subsystem":"VersionControl","id":"00000000/5a9ec8dd4c345d","args":{"log_file":"/home/user/.cpanel/logs/vc_1526305129.123456_git_create.log","repository_root":"/home/user/example"}}],"name":"example","deployable":1,"last_update":{"author":"Jane Doe <jane.doe@example.com>","date":1598774400,"message":"I'm committing some particularly cromulent code.","identifier":"2fd4e1c67a2d28fced849ee1bb76e7391b93eb12"},"branch":"master"},{"available_branches":["master"],"repository_root":"/home/user/example2","type":"git","branch":"master","last_update":{"date":1599730200,"author":"June Due <june.due@example2.com>","tasks":[{"args":{"log_file":"/home/user/.cpanel/logs/vc_1526305129.123456_git_create.log","repository_root":"/home/user/example"},"subsystem":"VersionControl","id":"00000000/5a9ec8dd4c345d","sse_url":"/sse/UserTasks/B3A27B96-51F7-11E8-92E3-CC90C4F823F0","action":"create"}],"message":"My code makes more sense, actually.","clone_urls":{"read_write":["ssh://user@example.com/home/user/example"],"read_only":["https://user@example.com/home/user/example"]},"last_deployment":{"deployment_date":1599730200,"repository_state":{"identifier":"2fd4e1c67a2d28fced849ee1bb76e7391b93eb12","message":"I'm committing some particularly cromulent code.","date":1599730200,"author":"User Name <user.name@example.com>"}},"identifier":"4ee0b73ddf78213c41fcc185acfab68ced99046d"},"deployable":1,"name":"example2"}],"type":"array"},"warnings":{"example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","nullable":true,"type":"array"},"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null},"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"status":{"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","enum":[1,0],"example":1,"type":"integer"}}},"apiversion":{"example":3,"description":"The version of the API.","type":"integer"}}}}}}},"operationId":"VersionControl-retrieve","x-readonly":false,"x-cpanel-api-version":"UAPI","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# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n#    to .../frontend/<theme-name>/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}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Return Git repositories","x-cpanel-available-version":"cPanel 72","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\nmessage if they try to access them.","x-rollback":"none"}}}}},"WordPressRestore":{"any_running":{"paths":{"/WordPressRestore/any_running":{"get":{"summary":"Return WordPress site restore status","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  WordPressRestore \\\n  any_running\n","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/WordPressRestore/any_running","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-available-version":"WordPress Manager 3.0","description":"This function returns whether a WordPress® site backup restoration is in progress.\n\n**Note:**\n\n* You **must** install the [WordPress Manager](https://go.cpanel.net/wordpressmanager) cPanel plugin to access this API function.\n* The output of this function changes, depending on the state of the backup restoration.","x-cpanel-api-version":"UAPI","operationId":"WordPressRestore-any_running","x-readonly":true,"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","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"},"result":{"properties":{"data":{"properties":{"items":{"oneOf":[{"$ref":"#/components/schemas/RestoreInProgress"},{"$ref":"#/components/schemas/RestoreNotInProgress"}]}}},"warnings":{"nullable":true,"type":"array","example":null,"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"}},"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"},"status":{"type":"integer","description":"- 1 - Success.\n- 0 - Failed. Check the `errors` field for more details.","example":1,"enum":[0,1]},"metadata":{"properties":{}},"errors":{"example":null,"items":{"type":"string"},"description":"List of errors if the API failed.","nullable":true,"type":"array"}},"type":"object"},"module":{"example":"WordPressRestore","description":"The name of the module called.","type":"string"}}},"examples":{"InProgress":{"summary":"Example output of a backup restore in progress.","value":{"status":1,"messages":null,"errors":null,"metadata":{},"data":{"sites":[{"id":null,"type":"restore","site":"example.com"}],"any_running":1},"warnings":null}},"NotInProgress":{"summary":"Example output of a backup restore not in progress.","value":{"warnings":null,"data":{"sites":[],"last_outcome":{"have_outcome":1,"site":"example.com","status":"success","error":""},"any_running":0},"metadata":{},"errors":null,"messages":null,"status":1}}}}},"description":"HTTP Request was successful."}},"tags":["WordPressRestore","WordPress Manager Backups"],"parameters":[]}}},"security":[{"BasicAuth":[]}],"x-tagGroups":[{"tags":["WordPress Manager Backups"],"name":"Optional Applications"}],"components":{"schemas":{"RestoreNotInProgress":{"properties":{"sites":{"type":"object","description":"Information about the site that the system is actively restoring.\n\n**Note:**\n\n* This function returns an empty array when there is **not** an active\nbackup restoration. This is the only possible value.\n* We have not implemented this return."},"last_outcome":{"properties":{"error":{"description":"Where the system encountered an error during the last backup restoration.\n\n* The error message from the restoration log database.\n* `null` - No occur occurred.","nullable":true,"type":"string"},"site":{"type":"string","format":"domain","description":"The WordPress site's URL without the protocol prefix."},"have_outcome":{"type":"integer","enum":[0,1],"description":"Whether the restoration log shows a successful attempt previously occurred,\nsuccessfully or unsuccessfully.\n\n* `1` - Restoration attempt occurred.\n* `0` - No restoration attempt occurred."},"status":{"type":"string","description":"The previous restoration attempt's result.\n\n* `success` - Successful restoration.\n* `error` - The attempted restoration resulted in an error.\n* `terminated` - The system stopped the restoration process.\n* `timeout` - The restoration process exceeded the allowed time limit.\n* `low-disk` - The server's disk space was insufficient to complete the restoration.\n* `low-quota` - The cPanel account's quota was insufficient to complete the restoration.","enum":["success","error","terminated","timeout","low-disk","low-quota"]}},"description":"The status of the last backup restoration."},"any_running":{"type":"integer","description":"Whether the system is processing a backup restoration.\n\n* `0` - No restoration in progress. This is the only possible value.","enum":[0]}}},"RestoreInProgress":{"properties":{"any_running":{"type":"integer","enum":[1],"description":"Whether the system is processing a backup restoration.\n\n* `1` - Restoration in progress. This is the only possible value."},"sites":{"type":"array","items":{"properties":{"id":{"description":"The restore process's unique ID.\n\n* `null` is the only possible value.\n* We have not implemented this return.","enum":[null],"type":"string","nullable":true},"type":{"type":"string","enum":["restore"],"description":"The active process type.\n\n* `restore` is the only possible value."},"site":{"format":"domain","type":"string","description":"The WordPress site's URL without the protocol prefix."}},"type":"object"},"description":"Information about the site that the system is actively restoring.\n\n**Note:**\n\nWe have not implemented this return."}}}},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"tags":[{"description":"The WordPressRestore module for UAPI.","name":"WordPressRestore"},{"description":"Optional Applications / WordPress Manager Backups","name":"WordPress Manager Backups"}],"servers":[{"url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"description":"A server running cPanel."}],"openapi":"3.0.2","externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"},"license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."}},"start":{"info":{"termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"servers":[{"description":"A server running cPanel.","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute"}],"tags":[{"description":"The WordPressRestore module for UAPI.","name":"WordPressRestore"},{"description":"Optional Applications / WordPress Manager Backups","name":"WordPress Manager Backups"}],"openapi":"3.0.2","components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"x-tagGroups":[{"name":"Optional Applications","tags":["WordPress Manager Backups"]}],"security":[{"BasicAuth":[]}],"paths":{"/WordPressRestore/start":{"get":{"parameters":[{"schema":{"type":"string"},"examples":{"single-path":{"value":"example.com/wordpress","summary":"Domain with path."},"single-domain":{"value":"example.com","summary":"Just a domain."}},"required":true,"description":"The WordPress site's URL to restore.","in":"query","name":"site"},{"description":"The file path to the backup archive.","required":true,"schema":{"example":"/home/example/wordpress-backups/example.com__2018-11-13T11:11:31-0600.tar.gz","type":"string","format":"path"},"in":"query","name":"backup_path"}],"x-rollback":"none","description":"This function starts a single WordPress® site backup restoration.\n\n**Note:**\n\nYou **must** install the [WordPress Manager](https://go.cpanel.net/wordpressmanager) cPanel plugin to access this API function.","x-readonly":false,"operationId":"WordPressRestore-start","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"module":{"description":"The name of the module called.","example":"WordPressRestore","type":"string"},"result":{"properties":{"status":{"type":"integer","example":1,"enum":[0,1],"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details."},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"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"},"metadata":{"properties":{}},"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"}},"type":"object"},"func":{"example":"start","description":"The name of the method called.","type":"string"},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}}}}},"description":"HTTP Request was successful."}},"tags":["WordPressRestore","WordPress Manager Backups"],"x-cpanel-api-version":"UAPI","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"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-available-version":"WordPress Manager 3.0","summary":"Restore WordPress site"}}}},"cleanup":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}},"security":[{"BasicAuth":[]}],"x-tagGroups":[{"name":"Optional Applications","tags":["WordPress Manager Backups"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"tags":[{"description":"The WordPressRestore module for UAPI.","name":"WordPressRestore"},{"description":"Optional Applications / WordPress Manager Backups","name":"WordPress Manager Backups"}],"servers":[{"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."}},"description":"A server running cPanel."}],"openapi":"3.0.2","paths":{"/WordPressRestore/cleanup":{"get":{"parameters":[{"name":"site","in":"query","schema":{"type":"string"},"description":"The WordPress site's URL **without** the protocol prefix.","required":true,"examples":{"single-domain":{"summary":"Just a domain.","value":"example.com"},"single-path":{"summary":"Domain with path.","value":"example.com/wordpress"}}}],"x-rollback":"none","description":"This function cleans up any temporary system resources after a WordPress® site backup restoration.\n\n**Note:**\n\nYou **must** install the [WordPress Manager](https://go.cpanel.net/wordpressmanager) cPanel plugin to access this API function.","x-readonly":false,"operationId":"WordPressRestore-cleanup","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"func":{"type":"string","example":"cleanup","description":"The name of the method called."},"module":{"example":"WordPressRestore","description":"The name of the module called.","type":"string"},"result":{"type":"object","properties":{"warnings":{"example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","nullable":true,"type":"array"},"data":{"type":"integer","description":"Whether the system cleaned up the temporary system resources.\n* `1` - Successful.\n* `0` - Unsuccessful.","enum":[0,1],"example":1},"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null},"status":{"type":"integer","enum":[0,1],"example":1,"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details."},"metadata":{"properties":{}},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true}}}},"type":"object"}}}}},"tags":["WordPressRestore","WordPress Manager Backups"],"summary":"Delete restored WordPress site's temporary files","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"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"WordPress Manager 3.0","x-cpanel-api-version":"UAPI"}}}}},"AuditLog":{"get_api_log":{"info":{"version":"11.107.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel.","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute"}],"tags":[{"description":"The AuditLog module for UAPI.","name":"AuditLog"}],"x-tagGroups":[{"name":"cPanel Account","tags":["AuditLog"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"security":[{"BasicAuth":[]}],"paths":{"/AuditLog/get_api_log":{"get":{"operationId":"AuditLog-get_api_log","x-readonly":true,"parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"func":{"example":"get_api_log","description":"The name of the method called.","type":"string"},"module":{"type":"string","description":"The name of the module called.","example":"AuditLog"},"result":{"properties":{"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}},"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"metadata":{"properties":{"transformed":{"type":"integer","description":"Post-processing may have transformed the data.","enum":[1],"example":1}}},"data":{"description":"The API call history of a cPanel account.","items":{"properties":{"called_by":{"type":"string","description":"cPanel or team user who initiated the call.","example":"team_user"},"call":{"type":"string","description":"API module and method called.","example":"LastLogin::get_last_or_current_logged_in_ip"},"origin":{"description":"Where the API was called from.","enum":["UI","Terminal"],"example":"UI","type":"string"},"date_timestamp":{"example":"2022-07-17 10:07:32 -0500","description":"Date/Timestamp","type":"string","format":"ISO-8601"},"api_version":{"type":"string","description":"Version of API used.","enum":["cpapi1","cpapi2","uapi"],"example":"uapi"}}}},"warnings":{"nullable":true,"type":"array","example":null,"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.","items":{"type":"string"}},"status":{"type":"integer","example":1,"enum":[1,0],"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details."}}},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}},"type":"object"}}},"description":"HTTP Request was successful."}},"tags":["AuditLog"],"description":"This function retrieves the API call history of a cPanel account.","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  AuditLog \\\n  get_api_log\n","label":"CLI","lang":"Shell"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/AuditLog/get_api_log"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file AuditLog_get_api_log.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/AuditLog_get_api_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/AuditLog/,\n    q/get_api_log/,\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file AuditLog_get_api_log.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/AuditLog_get_api_log.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'AuditLog',\n    'get_api_log',\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"summary":"Retrieve cPanel account API history","x-cpanel-available-version":108,"x-cpanel-internal-only":true,"x-cpanel-api-version":"UAPI"}}}}},"DNS":{"lookup":{"security":[{"BasicAuth":[]}],"openapi":"3.0.2","tags":[{"description":"The DNS module for UAPI.","name":"DNS"},{"name":"DNS Information","description":"DNS / DNS Information"}],"servers":[{"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."}},"description":"A server running cPanel."}],"x-tagGroups":[{"tags":["DNS Information"],"name":"DNS"}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"paths":{"/DNS/lookup":{"get":{"parameters":[{"description":"A fully qualified domain name.","required":true,"schema":{"example":"example.com","type":"string"},"name":"domain","in":"query"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"description":"The version of the API.","example":3,"type":"integer"},"func":{"type":"string","description":"The name of the method called.","example":"lookup"},"module":{"description":"The name of the module called.","example":"DNS","type":"string"},"result":{"properties":{"metadata":{"properties":{"transformed":{"enum":[1],"example":1,"description":"Post-processing may have transformed the data.","type":"integer"}}},"data":{"description":"Contains each response item.","items":{"type":"string"},"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 ."],"type":"array","nullable":true},"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null,"type":"array","nullable":true},"messages":{"items":{"type":"string"},"description":"List of messages generated by the API.","example":null,"type":"array","nullable":true},"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"status":{"type":"integer","description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","example":1,"enum":[0,1]}},"type":"object"}}}}},"description":"HTTP Request was successful."}},"tags":["DNS","DNS Information"],"operationId":"DNS-lookup","x-readonly":true,"x-cpanel-api-version":"UAPI","description":"This function returns DNS zone information about a domain.","summary":"Return domain's DNS information","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  DNS \\\n  lookup \\\n  domain='example.com'\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/DNS/lookup?domain=example.com","label":"URL","lang":"HTTP"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DNS_lookup.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DNS_lookup.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DNS/,\n    q/lookup/,\n    {\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DNS_lookup.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DNS_lookup.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DNS',\n    'lookup',\n    array (\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-available-version":90}}}},"is_https_available":{"paths":{"/DNS/is_https_available":{"get":{"x-cpanel-api-version":"UAPI","x-cpanel-available-version":"cPanel 122","x-codeSamples":[{"source":"uapi --output=jsonpretty --user=username DNS is_https_available\n","lang":"Shell","label":"CLI"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/DNS/is_https_available"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DNS_is_https_available.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DNS_is_https_available.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(DNS => 'is_https_available');\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DNS_is_https_available.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DNS_is_https_available.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DNS',\n    'is_https_available'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Return DNS HTTPS record support information","description":"This function fetches information regarding HTTPS records support.\nHTTPS records are defined in RFC 9460 and provide service parameters for HTTPS endpoints.\nFor more information, read our [Zone Editor documentation](https://go.cpanel.net/cpaneldocsZoneEditor).","x-readonly":true,"operationId":"DNS-is_https_available","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"module":{"description":"The name of the module called.","example":"DNS","type":"string"},"result":{"properties":{"status":{"type":"integer","description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","example":1,"enum":[0,1]},"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."},"errors":{"example":null,"description":"List of errors if the API failed.","items":{"type":"string"},"nullable":true,"type":"array"},"metadata":{"properties":{"transformed":{"enum":[1],"example":1,"description":"Post-processing may have transformed the data.","type":"integer"}}},"data":{"type":"object","properties":{"dns_server":{"description":"The DNS server type currently in use (bind, pdns, etc.).","example":"pdns","type":"string"},"https":{"type":"integer","description":"Whether HTTPS records are supported.\n* `1` - Supported.\n* `0` - Not supported.","enum":[1,0],"example":1}}},"warnings":{"nullable":true,"type":"array","example":null,"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"}}},"type":"object"},"func":{"example":"is_https_available","description":"The name of the method called.","type":"string"},"apiversion":{"type":"integer","example":3,"description":"The version of the API."}}}}}}},"tags":["DNS","DNS Information"]}}},"security":[{"BasicAuth":[]}],"servers":[{"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."}},"description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"description":"The DNS module for UAPI.","name":"DNS"},{"description":"DNS / DNS Information","name":"DNS Information"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"x-tagGroups":[{"tags":["DNS Information"],"name":"DNS"}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"email":"cs@cpanel.net","name":"cPanel L.L.C.","url":"https://cpanel.net/support/"},"termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.121.0.9999"}},"is_svcb_available":{"paths":{"/DNS/is_svcb_available":{"get":{"x-cpanel-available-version":"cPanel 122","summary":"Return DNS SVCB record support information","x-codeSamples":[{"source":"uapi --output=jsonpretty --user=username DNS is_svcb_available\n","lang":"Shell","label":"CLI"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/DNS/is_svcb_available"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DNS_is_svcb_available.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DNS_is_svcb_available.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(DNS => 'is_svcb_available');\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DNS_is_svcb_available.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DNS_is_svcb_available.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DNS',\n    'is_svcb_available'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"description":"This function fetches information regarding SVCB records support.\nSVCB records are defined in RFC 9460 and provide service binding and aliasing for arbitrary services.\nFor more information, read our [Zone Editor documentation](https://go.cpanel.net/cpaneldocsZoneEditor).","x-cpanel-api-version":"UAPI","x-readonly":true,"operationId":"DNS-is_svcb_available","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"func":{"type":"string","example":"is_svcb_available","description":"The name of the method called."},"module":{"description":"The name of the module called.","example":"DNS","type":"string"},"result":{"properties":{"status":{"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","example":1,"enum":[0,1],"type":"integer"},"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}},"data":{"type":"object","properties":{"dns_server":{"example":"pdns","description":"The DNS server type currently in use (bind, pdns, etc.).","type":"string"},"svcb":{"description":"Whether SVCB records are supported.\n* `1` - Supported.\n* `0` - Not supported.","example":1,"enum":[1,0],"type":"integer"}}},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"metadata":{"properties":{"transformed":{"type":"integer","enum":[1],"example":1,"description":"Post-processing may have transformed the data."}}}},"type":"object"},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}},"type":"object"}}},"description":"HTTP Request was successful."}},"tags":["DNS","DNS Information"]}}},"info":{"contact":{"url":"https://cpanel.net/support/","name":"cPanel L.L.C.","email":"cs@cpanel.net"},"version":"11.121.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"tags":[{"name":"DNS","description":"The DNS module for UAPI."},{"name":"DNS Information","description":"DNS / DNS Information"}],"openapi":"3.0.2","servers":[{"url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}},"description":"A server running cPanel."}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"x-tagGroups":[{"tags":["DNS Information"],"name":"DNS"}],"security":[{"BasicAuth":[]}]},"mass_edit_zone":{"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"name":"DNS","tags":["DNS Information"]}],"servers":[{"description":"A server running cPanel.","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"url":"https://{host}:{port}/execute"}],"openapi":"3.0.2","tags":[{"name":"DNS","description":"The DNS module for UAPI."},{"name":"DNS Information","description":"DNS / DNS Information"}],"security":[{"BasicAuth":[]}],"info":{"termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/DNS/mass_edit_zone":{"get":{"parameters":[{"schema":{"example":"example.com","type":"string"},"description":"The name of one of the user’s DNS zones.","required":true,"name":"zone","in":"query"},{"name":"serial","in":"query","description":"The current serial number in the DNS zone’s SOA (Start of Authority)\nrecord. If this value does not match the zone’s current state, the\nrequest fails.","required":true,"schema":{"example":202001010100,"minimum":0,"type":"integer"}},{"in":"query","required":false,"explode":true,"name":"add","examples":{"aaaa":{"description":"A TXT record.","value":"'{\"dname\":\"example\", \"ttl\":14400, \"record_type\":\"TXT\", \"data\":[\"string1\", \"string2\"]}'"},"a":{"description":"An A record.","value":"'{\"dname\":\"example\", \"ttl\":14400, \"record_type\":\"A\", \"data\":[\"11.22.33.44\"]}'"}},"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.","schema":{"type":"array","items":{"format":"json","type":"string"}}},{"name":"edit","explode":true,"in":"query","schema":{"type":"array","items":{"example":"'{\"line_index\": 9, \"dname\":\"example\", \"ttl\":14400, \"record_type\":\"TXT\", \"data\":[\"string1\", \"string2\"]}'","format":"json","type":"string"}},"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.","required":false},{"in":"query","required":false,"explode":true,"name":"remove","description":"The line indexes of records to remove from the zone.","schema":{"type":"array","items":{"type":"integer","example":22,"minimum":0}}}],"description":"This function updates a DNS zone by allowing multiple records to be added, modified, or removed in a single call. It also ensures modified records occupy the same number of lines as before the edit.\n\n**NOTE:**\n\nYou cannot use this function to edit temporary domains.","x-rollback":"none","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"func":{"type":"string","example":"mass_edit_zone","description":"The name of the method called."},"result":{"type":"object","properties":{"status":{"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","example":1,"enum":[0,1],"type":"integer"},"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null},"errors":{"example":null,"items":{"type":"string"},"description":"List of errors if the API failed.","nullable":true,"type":"array"},"metadata":{"properties":{"transformed":{"enum":[1],"example":1,"description":"Post-processing may have transformed the data.","type":"integer"}}},"data":{"properties":{"new_serial":{"minimum":0,"description":"The DNS zone’s SOA record’s new serial number.\nYou can use this to submit later edits if you\ntrack the number of lines each record takes up.","example":2021031903,"type":"integer"}}},"warnings":{"example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","nullable":true,"type":"array"}}},"module":{"example":"DNS","description":"The name of the module called.","type":"string"}}}}}}},"tags":["DNS","DNS Information"],"x-readonly":false,"operationId":"DNS-mass_edit_zone","x-cpanel-api-version":"UAPI","summary":"Update a DNS zone","x-codeSamples":[{"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":"CLI","lang":"Shell"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/DNS/mass_edit_zone?zone=example.com&serial=202001010100&remove=23"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DNS_mass_edit_zone.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DNS_mass_edit_zone.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DNS/,\n    q/mass_edit_zone/,\n    {\n        'zone' => 'example.com',\n        'serial' => '202001010100',\n        'add' => '{\"dname\":\"example\",\"ttl\":14400,\"record_type\":\"A\",\"data\":[\"127.0.0.1\"]}',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DNS_mass_edit_zone.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DNS_mass_edit_zone.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DNS',\n    'mass_edit_zone',\n    array (\n        'zone' => 'example.com',\n        'serial' => '202001010100',\n        'add' => '{\"dname\":\"example\",\"ttl\":14400,\"record_type\":\"A\",\"data\":[\"127.0.0.1\"]}',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":96}}}},"fetch_cpanel_generated_domains":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"version":"11.136.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}},"security":[{"BasicAuth":[]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"x-tagGroups":[{"name":"DNS","tags":["DNS Information"]}],"openapi":"3.0.2","servers":[{"variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"tags":[{"description":"The DNS module for UAPI.","name":"DNS"},{"description":"DNS / DNS Information","name":"DNS Information"}],"paths":{"/DNS/fetch_cpanel_generated_domains":{"get":{"operationId":"DNS-fetch_cpanel_generated_domains","x-readonly":true,"parameters":[{"schema":{"type":"string","format":"domain","example":"example.com"},"required":true,"description":"The domain for which to retrieve cPanel-generated subdomains.","examples":{"single":{"summary":"Retrieve generated subdomains for a domain.","value":"example.com"}},"name":"domain","in":"query"}],"tags":["DNS","DNS Information"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"description":"The version of the API.","example":3,"type":"integer"},"module":{"example":"DNS","description":"The name of the module called.","type":"string"},"result":{"type":"object","properties":{"warnings":{"example":null,"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"},"data":{"items":{"type":"object","properties":{"domain":{"format":"domain","type":"string","description":"A cPanel-generated domain name, returned as a fully-qualified\ndomain name (FQDN) with a trailing dot.","example":"webmail.example.com."}}},"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."}],"type":"array"},"metadata":{"properties":{"transformed":{"type":"integer","description":"Post-processing may have transformed the data.","enum":[1],"example":1}}},"errors":{"nullable":true,"type":"array","example":null,"description":"List of errors if the API failed.","items":{"type":"string"}},"messages":{"example":null,"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"},"status":{"enum":[1,0],"example":1,"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","type":"integer"}}},"func":{"example":"fetch_cpanel_generated_domains","description":"The name of the method called.","type":"string"}},"type":"object"}}}}},"x-cpanel-api-version":"UAPI","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  DNS \\\n  fetch_cpanel_generated_domains \\\n  domain='example.com'\n","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/DNS/fetch_cpanel_generated_domains?domain=example.com","label":"URL","lang":"HTTP"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DNS_fetch_cpanel_generated_domains.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DNS_fetch_cpanel_generated_domains.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DNS/,\n    q/fetch_cpanel_generated_domains/,\n    {\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DNS_fetch_cpanel_generated_domains.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DNS_fetch_cpanel_generated_domains.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DNS',\n    'fetch_cpanel_generated_domains',\n    array (\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Retrieve cPanel-generated subdomains for a domain","x-cpanel-available-version":"cPanel 120","description":"This function retrieves the list of subdomains that cPanel automatically\ngenerates for a given domain. These include proxy subdomains such as\n`webmail`, `mail`, and `cpanel`, as well as other system-generated\ndomain names."}}}},"ensure_domains_use_recognized_nameservers":{"openapi":"3.0.2","servers":[{"variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"tags":[{"description":"The DNS module for UAPI.","name":"DNS"},{"name":"DNS Information","description":"DNS / DNS Information"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"name":"DNS","tags":["DNS Information"]}],"security":[{"BasicAuth":[]}],"info":{"contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"},"version":"11.89.0.9999","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/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/"},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/DNS/ensure_domains_use_recognized_nameservers":{"get":{"x-readonly":true,"operationId":"DNS-ensure_domains_use_recognized_nameservers","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"description":"The version of the API.","example":3,"type":"integer"},"func":{"description":"The name of the method called.","example":"ensure_domains_use_recognized_nameservers","type":"string"},"module":{"type":"string","description":"The name of the module called.","example":"DNS"},"result":{"properties":{"status":{"type":"integer","description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","enum":[0,1],"example":1},"metadata":{"properties":{"transformed":{"type":"integer","example":1,"enum":[1],"description":"Post-processing may have transformed the data."}}},"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null,"type":"array","nullable":true},"data":{"nullable":true,"type":"array","description":"The results from each domain parameter's nameserver check.\n* `null` - The domain would pass the create-time nameserver validation.\n* An object describing why it would not, with a `type` field set to one of:\n  * `domain_not_registered` - The domain has no resolvable nameserver IP addresses.\n  * `unrecognized_nameservers` - The domain's nameservers do not resolve to an IP address this server recognizes as its own.\n\n**Note:**\n\n The function returns the results from the domains in the same order that you called them.\n\n The entire call fails, rather than returning a per-domain result, when the check cannot be reliably determined from the calling user's process — for example, on a cPanel Cloud controller, or when the validator fails for a reason other than the two outcomes above. Treat a failed call as \"unable to determine\" rather than as every domain failing.","items":{"example":{"message":"The system cannot use the domain \"example.com\" because its registered nameservers are not associated with this server.","type":"unrecognized_nameservers"},"type":"object","properties":{"message":{"description":"The validator's own localized message.","type":"string"},"type":{"enum":["domain_not_registered","unrecognized_nameservers"],"description":"A short machine-readable reason code.","type":"string"}},"nullable":true}},"messages":{"example":null,"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"},"errors":{"example":null,"items":{"type":"string"},"description":"List of errors if the API failed.","nullable":true,"type":"array"}},"type":"object"}}}}}}},"parameters":[{"required":true,"in":"query","schema":{"type":"string","format":"domain","example":"example1.com"},"examples":{"multiple":{"value":"domain=example.com&domain-1=example1.com&domain-2=example2.com","summary":"Multiple domains"},"multiple-alternative":{"value":"domain=example.com&domain=example1.com&domain=example2.com","summary":"Multiple domains"},"single":{"summary":"A single domain.","value":"example.com"}},"description":"The domain to check.\n\n**Note:**\n\nTo check multiple domains, duplicate or increment the parameter name. For example, to check three domains, you could:\n* Use the `domain` parameter multiple times.\n* Use the `domain`, `domain-1`, and `domain-2` parameters.","name":"domain"}],"tags":["DNS","DNS Information"],"x-cpanel-api-version":"UAPI","description":"This function indicates whether the account's domains' nameservers resolve to an IP address that this server recognizes as its own. It predicts the outcome of the create-time nameserver validation that runs when a domain is added to the account, without performing any privileged action.","summary":"Return whether domains use recognized nameservers","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  DNS \\\n  ensure_domains_use_recognized_nameservers \\\n  domain='example.com'\n","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/DNS/ensure_domains_use_recognized_nameservers?domain=example.com","label":"URL","lang":"HTTP"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DNS_ensure_domains_use_recognized_nameservers.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DNS_ensure_domains_use_recognized_nameservers.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\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_use_recognized_nameservers/,\n    {\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DNS_ensure_domains_use_recognized_nameservers.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DNS_ensure_domains_use_recognized_nameservers.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/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_use_recognized_nameservers',\n    array (\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"x-cpanel-available-version":"cPanel 138"}}}},"ensure_domains_reside_only_locally":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","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.","version":"11.89.0.9999","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/"},"security":[{"BasicAuth":[]}],"tags":[{"description":"The DNS module for UAPI.","name":"DNS"},{"description":"DNS / DNS Information","name":"DNS Information"}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"url":"https://{host}:{port}/execute"}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"x-tagGroups":[{"name":"DNS","tags":["DNS Information"]}],"paths":{"/DNS/ensure_domains_reside_only_locally":{"get":{"parameters":[{"examples":{"single":{"value":"example.com","summary":"A single domain."},"multiple":{"value":"domain=example.com&domain-1=example1.com&domain-2=example2.com","summary":"Multiple domains"},"multiple-alternative":{"summary":"Multiple domains","value":"domain=example.com&domain=example1.com&domain=example2.com"}},"required":true,"description":"The domain to check.\n\n**Note:**\n\nTo check multiple domains, duplicate or increment the parameter name. For example, to exclude three domains, you could:\n* Use the `domain` parameter multiple times.\n* Use the `domain`, `domain-1`, and `domain-2` parameters.","schema":{"type":"string","format":"domain","example":"example1.com"},"in":"query","name":"domain"}],"tags":["DNS","DNS Information"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"module":{"type":"string","description":"The name of the module called.","example":"DNS"},"result":{"type":"object","properties":{"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"messages":{"description":"List of messages generated by the API.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API."},"data":{"type":"array","nullable":true,"items":{"example":"The domain resolves to Mars. Beep beep beep.","type":"string"},"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."},"metadata":{"properties":{"transformed":{"description":"Post-processing may have transformed the data.","example":1,"enum":[1],"type":"integer"}}},"status":{"type":"integer","description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","example":1,"enum":[0,1]}}},"func":{"type":"string","example":"ensure_domains_reside_only_locally","description":"The name of the method called."}},"type":"object"}}}}},"operationId":"DNS-ensure_domains_reside_only_locally","x-readonly":true,"x-cpanel-api-version":"UAPI","description":"This function indicates whether the account's domains resolve exclusively to this server.","x-cpanel-available-version":"cPanel 56","summary":"Return whether domains only resolve locally","x-codeSamples":[{"lang":"Shell","label":"CLI","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"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DNS_ensure_domains_reside_only_locally.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DNS_ensure_domains_reside_only_locally.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DNS/,\n    q/ensure_domains_reside_only_locally/,\n    {\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DNS_ensure_domains_reside_only_locally.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DNS_ensure_domains_reside_only_locally.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DNS',\n    'ensure_domains_reside_only_locally',\n    array (\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}]}}}},"swap_ip_in_zones":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"security":[{"BasicAuth":[]}],"tags":[{"description":"The DNS module for UAPI.","name":"DNS"}],"openapi":"3.0.2","servers":[{"variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"x-tagGroups":[{"tags":["DNS"],"name":"DNS"}],"paths":{"/DNS/swap_ip_in_zones":{"get":{"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"type":"integer","description":"The version of the API.","example":3},"module":{"description":"The name of the module called.","example":"DNS","type":"string"},"result":{"type":"object","properties":{"status":{"enum":[0,1],"example":1,"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","type":"integer"},"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null},"data":{"items":{"properties":{"record_type":{"type":"string","description":"The type of the DNS record which was updated.","example":"A"},"zone_name":{"example":"example.com","description":"The DNS zone in which the system updated the domain's record.","nullable":false,"type":"string","format":"domain"},"record_name":{"description":"The name of the domain's updated DNS record.","example":"example.com","type":"string","nullable":false,"format":"domain"},"old_value":{"description":"The value of the DNS record before it was updated.","example":"192.0.2.0","type":"string"},"new_value":{"type":"string","example":"192.0.2.1","description":"The value of the DNS record after it was updated."}}},"description":"An array of objects containing the updated DNS records, including their previous values."},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"metadata":{"properties":{}}}},"func":{"type":"string","description":"The name of the method called.","example":"swap_ip_in_zones"}},"type":"object"}}}}},"tags":["DNS"],"operationId":"DNS-swap_ip_in_zones","x-readonly":false,"x-cpanel-api-version":"UAPI","x-codeSamples":[{"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":"CLI","lang":"Shell"},{"lang":"HTTP","label":"URL","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"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DNS_swap_ip_in_zones.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DNS_swap_ip_in_zones.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DNS/,\n    q/swap_ip_in_zones/,\n    {\n        'domain'    => 'example.com',\n        'source_ip' => '192.0.2.0',\n        'dest_ip'   => '192.0.2.1',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DNS_swap_ip_in_zones.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DNS_swap_ip_in_zones.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DNS',\n    'swap_ip_in_zones',\n    array (\n        'domain'    => 'example.com',\n        'source_ip' => '192.0.2.0',\n        'dest_ip'   => '192.0.2.1',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 96","summary":"Update IP addresses in zone files","parameters":[{"schema":{"format":"domain","type":"string","example":"example.com"},"required":true,"description":"The domain to perform the zone file updates on.\n\n**Note:**\n\nTo update multiple domains, increment or duplicate the parameter name. For\nexample, `domain-0`, `domain-1`, and `domain-2`.","examples":{"multiple":{"value":"example.com domain-1=example1.com domain-2=example2.com","summary":"Update multiple domains."},"multiple-alternative":{"value":"example.com domain=example1.com domain=example2.com","summary":"Update multiple domains."},"single":{"value":"example.com","summary":"Update a single domain."}},"name":"domain","in":"query"},{"required":false,"description":"The IPv4 address to replace in the zone files. The detected source IPv4 address is one of:\n\n* If there is an A record for the root of the zone **and** the IP address is **not** a loopback address, then the system will use its address.\n* If there are any A records in the zone whose addresses are **not** loopback addresses, then the system will use the address of the first such A record in the zone file.\n* If no A records exist in the zone **or** all A records have loopback addresses, then the system will **not** update the zone file.\n\nIf you do **not** call this parameter, the system will automatically detect the IP addresses in the zone files.","schema":{"type":"string","format":"ipv4","example":"192.0.2.0"},"in":"query","name":"source_ip"},{"description":"The IPv4 address to use as the replacement in the zone files.","required":true,"schema":{"type":"string","format":"ipv4","example":"192.0.2.1"},"in":"query","name":"dest_ip"},{"name":"ftp_ip","in":"query","schema":{"format":"ipv4","type":"string","example":"192.0.2.1"},"required":false,"description":"The IPv4 address to use as the replacement for FTP records in the zone files.\n\nIf this parameter is **not** provided, then the system will use the `dest_ip` value."}],"description":"This function replaces a domain's IPv4 address in the DNS zone\nfile with the specified destination IPv4 address.","x-rollback":"none"}}}},"has_local_authority":{"security":[{"BasicAuth":[]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"x-tagGroups":[{"tags":["DNS Information"],"name":"DNS"}],"tags":[{"description":"The DNS module for UAPI.","name":"DNS"},{"description":"DNS / DNS Information","name":"DNS Information"}],"openapi":"3.0.2","servers":[{"variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"},"version":"11.89.0.9999","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/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/"},"paths":{"/DNS/has_local_authority":{"get":{"description":"This function checks whether the local server is authoritative for the domain's DNS records.","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  DNS \\\n  has_local_authority \\\n  domain='example.com'\n","lang":"Shell","label":"CLI"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/DNS/has_local_authority?domain=example.com","lang":"HTTP","label":"URL"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DNS_has_local_authority.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DNS_has_local_authority.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DNS/,\n    q/has_local_authority/,\n    {\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DNS_has_local_authority.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DNS_has_local_authority.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DNS',\n    'has_local_authority',\n    array (\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Return whether local DNS server is authoritative","x-cpanel-available-version":"cPanel 78","x-cpanel-api-version":"UAPI","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"result":{"properties":{"status":{"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","enum":[1,0],"example":1,"type":"integer"},"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"},"errors":{"example":null,"items":{"type":"string"},"description":"List of errors if the API failed.","nullable":true,"type":"array"},"metadata":{"properties":{"transformed":{"enum":[1],"example":1,"description":"Post-processing may have transformed the data.","type":"integer"}}},"data":{"type":"array","example":[{"nameservers":["ns1.example.com","ns2.example.com"],"zone":"example.com","local_authority":1,"domain":"example.com"},{"nameservers":[],"domain":"example2.com","local_authority":0},{"error":"(XID 3z756a) DNS query (example3.com/SOA) timeout!","local_authority":0,"domain":"example3.com","zone":"example3.com","nameservers":[]}],"description":"An array of objects containing information about the authoritative status of a domain's local DNS zone files.","items":{"type":"object","properties":{"error":{"description":"An error message that details the reason why the local server's\nauthoritative check failed.\n\n**Note:**\n\nThe function **only** returns this value when the check fails.","type":"string"},"local_authority":{"enum":[1,0],"description":"Whether the local server is authoritative for the domain's DNS\nrecords.\n\n* `1` — The local server is authoritative for the domain's DNS\nrecords.\n* `0` — The local server is **not** authoritative for the domain's\nDNS records.","type":"integer"},"domain":{"description":"The queried domain.","format":"domain","type":"string"},"zone":{"description":"The domain's DNS zone, if one exists.\n\n* `null` — No valid DNS zone.","type":"string","nullable":true,"format":"domain"},"nameservers":{"type":"array","items":{"type":"string","format":"domain"},"description":"The domain's nameservers, if any exist."}}}},"warnings":{"example":[],"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","items":{"nullable":true,"type":"string"},"type":"array"}},"type":"object"},"module":{"description":"The name of the module called.","example":"DNS","type":"string"},"func":{"example":"has_local_authority","description":"The name of the method called.","type":"string"},"apiversion":{"example":3,"description":"The version of the API.","type":"integer"}},"type":"object"}}},"description":"HTTP Request was successful."}},"tags":["DNS","DNS Information"],"parameters":[{"in":"query","required":true,"name":"domain","description":"The domain to check whether the local server is authoritative for the domain's\nDNS records.\n\n**Note:**\n\nTo check multiple domains, increment or duplicate the parameter name. For\nexample, `domain-0`, `domain-1`, and `domain-2`.","examples":{"single":{"summary":"Check a single domain.","value":"example.com"},"multiple-alternative":{"value":"domain=example.com domain=example1.com domain=example2.com","summary":"Check multiple domains."},"multiple":{"summary":"Check multiple domains.","value":"domain-0=example.com domain-1=example1.com domain-2=example2.com"}},"schema":{"type":"string","format":"domain","example":"example.com"}}],"x-readonly":true,"operationId":"DNS-has_local_authority"}}}},"parse_zone":{"components":{"schemas":{"ResponseBase":{"type":"object","properties":{"type":{"type":"string","description":"The type of object in the zone file:\n\n* `record` - A resource record.\n* `control` - A control statement.\n* `comment` - A line comment.","enum":["record","control","comment"]},"line_index":{"description":"The line’s index in the zone file.","example":22,"minimum":0,"type":"integer"}}},"ResponseControl":{"title":"Control","allOf":[{"$ref":"#/components/schemas/ResponseControlOrComment"}]},"ResponseControlOrComment":{"allOf":[{"$ref":"#/components/schemas/ResponseBase"},{"type":"object","properties":{"text_b64":{"type":"string","format":"base64","description":"The line’s text, encoded to base64.","example":"OyBab25lIGZpbGUgZm9yIHRleGFzLmNvbQ=="}}}]},"Payload":{"items":{"discriminator":{"mapping":{"record":"#/components/schemas/ResponseRR","control":"#/components/schemas/ResponseControl","comment":"#/components/schemas/ResponseComment"},"propertyName":"type"},"oneOf":[{"$ref":"#/components/schemas/ResponseRR"},{"$ref":"#/components/schemas/ResponseControl"},{"$ref":"#/components/schemas/ResponseComment"}]},"description":"The zone’s content.","type":"array"},"ResponseComment":{"title":"Comment","allOf":[{"$ref":"#/components/schemas/ResponseControlOrComment"}]},"ResponseRR":{"title":"Resource Record","allOf":[{"$ref":"#/components/schemas/ResponseBase"},{"properties":{"data_b64":{"type":"array","items":{"type":"string","format":"base64","example":"dGV4YXMuY29tLg=="},"description":"The resource record’s content, encoded to base64."},"record_type":{"description":"The resource record’s type.","example":"MX","type":"string"},"ttl":{"type":"integer","minimum":0,"example":14400,"description":"The resource record’s TTL (Time-to-Live)."},"dname_b64":{"type":"string","format":"base64","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=="}},"type":"object"}]}},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"x-tagGroups":[{"name":"DNS","tags":["DNS Information"]}],"tags":[{"description":"The DNS module for UAPI.","name":"DNS"},{"description":"DNS / DNS Information","name":"DNS Information"}],"openapi":"3.0.2","servers":[{"variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"security":[{"BasicAuth":[]}],"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.","version":"11.89.0.9999","termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI"},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/DNS/parse_zone":{"get":{"x-readonly":true,"operationId":"DNS-parse_zone","parameters":[{"in":"query","name":"zone","schema":{"example":"example.com","type":"string"},"required":true,"description":"The name of one of the user’s DNS zones."}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"func":{"type":"string","description":"The name of the method called.","example":"parse_zone"},"module":{"description":"The name of the module called.","example":"DNS","type":"string"},"result":{"properties":{"status":{"type":"integer","description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","enum":[0,1],"example":1},"data":{"$ref":"#/components/schemas/Payload"},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"metadata":{"properties":{"transformed":{"description":"Post-processing may have transformed the data.","enum":[1],"example":1,"type":"integer"}}},"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null},"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null}},"type":"object"}},"type":"object"}}},"description":"HTTP Request was successful."}},"tags":["DNS","DNS Information"],"x-cpanel-api-version":"UAPI","description":"This function parses a given DNS zone.\n\n**Important:**\n\nMost DNS zones contain only 7-bit ASCII. However, it is possible for\nDNS zones to contain any binary sequence. An application that decodes\nthis function's base64 output **must** be able to handle cases\nwhere the decoded octets do not match any specific character\nencoding.","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  DNS \\\n  parse_zone \\\n  zone='example.com'\n","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/DNS/parse_zone?zone=example.com","label":"URL","lang":"HTTP"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DNS_parse_zone.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DNS_parse_zone.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DNS/,\n    q/parse_zone/,\n    {\n        'zone' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DNS_parse_zone.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DNS_parse_zone.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DNS',\n    'parse_zone',\n    array (\n        'zone' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":96,"summary":"Return a parsed DNS zone"}}}},"is_alias_available":{"paths":{"/DNS/is_alias_available":{"get":{"x-readonly":true,"operationId":"DNS-is_alias_available","tags":["DNS","DNS Information"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"type":"integer","description":"The version of the API.","example":3},"module":{"type":"string","example":"DNS","description":"The name of the module called."},"result":{"type":"object","properties":{"metadata":{"properties":{"transformed":{"type":"integer","description":"Post-processing may have transformed the data.","example":1,"enum":[1]}}},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"data":{"properties":{"alias":{"description":"Whether `ALIAS` records are available.\n\n* `1` - Available.\n* `0` - Not available.\n\nWhen `ALIAS` records are enabled, they may work in API calls that accept `A` and `AAAA` records. However, the `ALIAS` record must use a fully qualified domain name (FQDN) rather than an IP address.","example":1,"enum":[1,0],"type":"integer"},"aname":{"example":0,"enum":[1,0],"description":"Whether `ANAME` records are available.\n\n* `1` - Available.\n* `0` - Not available.\n\n**NOTE:**\n\nThe `aname` value is always set to false (i.e. Not available). The `ANAME` record is currently not supported. It is included for completeness and future proofing.","type":"integer"},"resolver":{"type":"string","example":"8.8.8.8","description":"The value (if any) of the running PDNS’s `resolver` setting."}},"type":"object"},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}},"errors":{"nullable":true,"type":"array","example":null,"description":"List of errors if the API failed.","items":{"type":"string"}},"status":{"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","enum":[0,1],"example":1,"type":"integer"}}},"func":{"type":"string","description":"The name of the method called.","example":"is_alias_available"}},"type":"object"}}}}},"x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty --user=username DNS is_alias_available\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/DNS/is_alias_available","label":"URL","lang":"HTTP"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DNS_is_alias_available.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DNS_is_alias_available.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(DNS => 'is_alias_available');\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DNS_is_alias_available.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DNS_is_alias_available.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DNS',\n    'is_alias_available'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"summary":"Return `ALIAS` DNS record availability & resolver","x-cpanel-available-version":"cPanel 122","description":"This function returns whether `ALIAS` and `ANAME` records are available and the value of the running PowerDNS (PDNS) `resolver` setting, if any exists.\nFor more information, read our [`ALIAS` documentation](https://go.cpanel.net/dns-alias-record).","x-cpanel-api-version":"UAPI"}}},"tags":[{"name":"DNS","description":"The DNS module for UAPI."},{"description":"DNS / DNS Information","name":"DNS Information"}],"openapi":"3.0.2","servers":[{"url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}},"description":"A server running cPanel."}],"x-tagGroups":[{"name":"DNS","tags":["DNS Information"]}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"security":[{"BasicAuth":[]}],"info":{"license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.121.0.9999","contact":{"email":"cs@cpanel.net","name":"cPanel L.L.C.","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"}}},"DynamicDNS":{"create":{"servers":[{"variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"description":"The DynamicDNS module for UAPI.","name":"DynamicDNS"},{"name":"Dynamic DNS","description":"DNS / Dynamic DNS"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"tags":["Dynamic DNS"],"name":"DNS"}],"security":[{"BasicAuth":[]}],"info":{"title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/DynamicDNS/create":{"get":{"tags":["DynamicDNS","Dynamic DNS"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"func":{"type":"string","description":"The name of the method called.","example":"create"},"result":{"type":"object","properties":{"metadata":{"properties":{"transformed":{"example":1,"enum":[1],"description":"Post-processing may have transformed the data.","type":"integer"}}},"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"status":{"type":"integer","enum":[0,1],"example":1,"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details."},"data":{"properties":{"created_time":{"description":"The creation time of the Dynamic DNS domain.","type":"integer","format":"unix_timestamp"},"id":{"type":"string","example":"ggiugyxxjwnkmqtwysgmvrurplmafxpq","description":"The DDNS domain’s ID."}},"type":"object","description":"Information about the newly-created DDNS domain."},"warnings":{"example":null,"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"},"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null}}},"module":{"example":"DynamicDNS","description":"The name of the module called.","type":"string"},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}},"type":"object"}}}}},"operationId":"DynamicDNS-create","x-readonly":false,"x-cpanel-api-version":"UAPI","x-cpanel-available-version":82,"summary":"Create Dynamic DNS domain","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  DynamicDNS \\\n  create \\\n  domain='home.example.com'\n"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/DynamicDNS/create?domain=home.example.com"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DynamicDNS_create.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DynamicDNS_create.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DynamicDNS/,\n    q/create/,\n    {\n        'domain' => 'home.example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DynamicDNS_create.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DynamicDNS_create.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DynamicDNS',\n    'create',\n    array (\n        'domain' => 'home.example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"parameters":[{"in":"query","name":"domain","required":true,"description":"The fully-qualified domain name to create as a DDNS domain.","schema":{"example":"home.example.com","format":"domain","type":"string"}},{"name":"description","in":"query","required":false,"description":"A human-readable string that describes the domain.","schema":{"type":"string","example":"Home network"}}],"description":"This function creates a Dynamic DNS (DDNS) domain.\n\n**Important:**\n\nWhen you disable the [_DNS_ role](https://go.cpanel.net/serverroles), the system disables this function.","x-rollback":"none"}}}},"recreate":{"tags":[{"description":"The DynamicDNS module for UAPI.","name":"DynamicDNS"},{"name":"Dynamic DNS","description":"DNS / Dynamic DNS"}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"name":"DNS","tags":["Dynamic DNS"]}],"security":[{"BasicAuth":[]}],"info":{"contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/DynamicDNS/recreate":{"get":{"description":"This function gives a new, randomly-generated ID to an existing Dynamic DNS (DDNS) domain.\n\n**Important:**\n\nWhen you disable the [_DNS_ role](https://go.cpanel.net/serverroles), the system disables this function.","x-rollback":"none","parameters":[{"name":"id","in":"query","schema":{"type":"string","example":"ggiugyxxjwnkmqtwysgmvrurplmafxpq"},"required":true,"description":"The DDNS domain’s ID."}],"x-cpanel-api-version":"UAPI","x-cpanel-available-version":82,"x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  DynamicDNS \\\n  recreate \\\n  id='ggiugyxxjwnkmqtwysgmvrurplmafxpq'\n","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/DynamicDNS/recreate?id=ggiugyxxjwnkmqtwysgmvrurplmafxpq","label":"URL","lang":"HTTP"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DynamicDNS_recreate.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DynamicDNS_recreate.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DynamicDNS/,\n    q/recreate/,\n    {\n        'id' => 'ggiugyxxjwnkmqtwysgmvrurplmafxpq',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DynamicDNS_recreate.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DynamicDNS_recreate.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DynamicDNS',\n    'recreate',\n    array (\n        'id' => 'ggiugyxxjwnkmqtwysgmvrurplmafxpq',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"summary":"Update Dynamic DNS domain ID","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"module":{"type":"string","example":"DynamicDNS","description":"The name of the module called."},"result":{"properties":{"metadata":{"properties":{"transformed":{"type":"integer","example":1,"enum":[1],"description":"Post-processing may have transformed the data."}}},"errors":{"example":null,"description":"List of errors if the API failed.","items":{"type":"string"},"nullable":true,"type":"array"},"status":{"type":"integer","enum":[0,1],"example":1,"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details."},"warnings":{"nullable":true,"type":"array","example":null,"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"}},"data":{"description":"Information about the DDNS domain.","properties":{"id":{"example":"ggiugyxxjwnkmqtwysgmvrurplmafxpq","description":"The DDNS domain’s new ID.","type":"string"}},"type":"object"},"messages":{"description":"List of messages generated by the API.","items":{"type":"string"},"example":null,"type":"array","nullable":true}},"type":"object"},"func":{"type":"string","description":"The name of the method called.","example":"recreate"}},"type":"object"}}},"description":"HTTP Request was successful."}},"tags":["DynamicDNS","Dynamic DNS"],"operationId":"DynamicDNS-recreate","x-readonly":false}}}},"delete":{"paths":{"/DynamicDNS/delete":{"get":{"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"func":{"example":"delete","description":"The name of the method called.","type":"string"},"result":{"properties":{"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"},"example":null,"type":"array","nullable":true},"data":{"type":"object","properties":{"deleted":{"type":"number","example":1,"enum":[0,1],"description":"Whether a DDNS domain with the given ID existed for deletion.\n\n* `0` - No DDNS domain with the given ID existed.\n* `1` - A DDNS domain with the given ID existed but is now deleted."}},"description":"Information about the deletion."},"metadata":{"properties":{"transformed":{"description":"Post-processing may have transformed the data.","enum":[1],"example":1,"type":"integer"}}},"errors":{"nullable":true,"type":"array","example":null,"description":"List of errors if the API failed.","items":{"type":"string"}},"messages":{"example":null,"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"},"status":{"type":"integer","description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","example":1,"enum":[0,1]}},"type":"object"},"module":{"description":"The name of the module called.","example":"DynamicDNS","type":"string"}}}}}}},"tags":["DynamicDNS","Dynamic DNS"],"operationId":"DynamicDNS-delete","x-readonly":false,"x-cpanel-available-version":82,"x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  DynamicDNS \\\n  delete \\\n  id='ggiugyxxjwnkmqtwysgmvrurplmafxpq'\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/DynamicDNS/delete?id=ggiugyxxjwnkmqtwysgmvrurplmafxpq","label":"URL","lang":"HTTP"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DynamicDNS_delete.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DynamicDNS_delete.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DynamicDNS/,\n    q/delete/,\n    {\n        'id' => 'ggiugyxxjwnkmqtwysgmvrurplmafxpq',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DynamicDNS_delete.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DynamicDNS_delete.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DynamicDNS',\n    'delete',\n    array (\n        'id' => 'ggiugyxxjwnkmqtwysgmvrurplmafxpq',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"summary":"Delete Dynamic DNS domain","x-cpanel-api-version":"UAPI","parameters":[{"name":"id","in":"query","description":"The DDNS domain’s ID.","required":true,"schema":{"example":"ggiugyxxjwnkmqtwysgmvrurplmafxpq","type":"string"}}],"description":"This function deletes an existing Dynamic DNS (DDNS) domain.\n\n**Important:**\n\nWhen you disable the [_DNS_ role](https://go.cpanel.net/serverroles), the system disables this function.","x-rollback":"none"}}},"security":[{"BasicAuth":[]}],"tags":[{"name":"DynamicDNS","description":"The DynamicDNS module for UAPI."},{"description":"DNS / Dynamic DNS","name":"Dynamic DNS"}],"servers":[{"description":"A server running cPanel.","variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute"}],"openapi":"3.0.2","components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"x-tagGroups":[{"name":"DNS","tags":["Dynamic DNS"]}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"},"license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999"}},"list":{"info":{"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"x-tagGroups":[{"name":"DNS","tags":["Dynamic DNS"]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"openapi":"3.0.2","servers":[{"variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"tags":[{"description":"The DynamicDNS module for UAPI.","name":"DynamicDNS"},{"name":"Dynamic DNS","description":"DNS / Dynamic DNS"}],"security":[{"BasicAuth":[]}],"paths":{"/DynamicDNS/list":{"get":{"summary":"Return Dynamic DNS domains","x-cpanel-available-version":82,"x-codeSamples":[{"lang":"Shell","label":"CLI","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"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DynamicDNS_list.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DynamicDNS_list.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DynamicDNS/,\n    q/list/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DynamicDNS_list.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DynamicDNS_list.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DynamicDNS',\n    'list'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"description":"This function lists the user’s Dynamic DNS (DDNS) domains.\n\n**Important:**\n\nWhen you disable the [_DNS_ role](https://go.cpanel.net/serverroles), the system disables this function.","x-cpanel-api-version":"UAPI","tags":["DynamicDNS","Dynamic DNS"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"type":"integer","description":"The version of the API.","example":3},"module":{"type":"string","description":"The name of the module called.","example":"DynamicDNS"},"result":{"properties":{"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."},"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null,"type":"array","nullable":true},"data":{"items":{"properties":{"created_time":{"type":"integer","format":"unix_timestamp","description":"The DDNS domain’s creation time."},"last_update_time":{"nullable":true,"type":"integer","format":"unix_timestamp","description":"The most recent update time for the\nDDNS domain.\n\n**Note:**\n\nThis value changes **only** when\nthe domain’s IP address resolution changes."},"id":{"example":"gziugyxxjwnamqtwysgmvrurplmafxpj","description":"The domain’s DDNS ID.\n\n**Note:**\n\nThis ID goes into the URL that the client uses to\n[update the domain’s IP address\nresolution](https://go.cpanel.net/cpaneldocsdynamicdns).","type":"string"},"last_run_times":{"description":"The most recent times when the web call ran.\n\n**Note:**\n\nThis list changes every time the web call runs,\neven if the domain’s IP address resolution does\n**not** change.","items":{"type":"integer","format":"unix_timestamp"},"type":"array"},"domain":{"description":"The domain.","example":"home.example.com","type":"string","format":"domain"},"description":{"type":"string","example":"My home network","description":"A user-editable string that describes the DDNS domain."}},"type":"object"},"description":"The user’s DDNS domains.","type":"array"},"metadata":{"properties":{"transformed":{"type":"integer","example":1,"enum":[1],"description":"Post-processing may have transformed the data."}}},"status":{"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","example":1,"enum":[0,1],"type":"integer"}},"type":"object"},"func":{"type":"string","description":"The name of the method called.","example":"list"}},"type":"object"}}}}},"x-readonly":true,"operationId":"DynamicDNS-list"}}}},"set_description":{"paths":{"/DynamicDNS/set_description":{"get":{"parameters":[{"name":"id","in":"query","description":"The DDNS domain’s ID.","required":true,"schema":{"type":"string","example":"ggiugyxxjwnkmqtwysgmvrurplmafxpq"}},{"name":"description","in":"query","description":"A human-readable string that describes the domain.","required":true,"schema":{"type":"string","example":"Home network"}}],"description":"This function sets the description on a user’s Dynamic DNS (DDNS) domain.\n\n**Important:**\n\nWhen you disable the [_DNS_ role](https://go.cpanel.net/serverroles), the system disables this function.","x-rollback":"none","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"func":{"description":"The name of the method called.","example":"list","type":"string"},"result":{"properties":{"metadata":{"properties":{"transformed":{"type":"integer","example":1,"enum":[1],"description":"Post-processing may have transformed the data."}}},"warnings":{"nullable":true,"type":"array","example":null,"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"}},"messages":{"example":null,"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"},"errors":{"example":null,"items":{"type":"string"},"description":"List of errors if the API failed.","nullable":true,"type":"array"},"status":{"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","example":1,"enum":[0,1],"type":"integer"}},"type":"object"},"module":{"type":"string","example":"DynamicDNS","description":"The name of the module called."},"apiversion":{"example":3,"description":"The version of the API.","type":"integer"}}}}},"description":"HTTP Request was successful."}},"tags":["DynamicDNS","Dynamic DNS"],"operationId":"DynamicDNS-set_description","x-readonly":false,"x-cpanel-api-version":"UAPI","summary":"Update Dynamic DNS domain description","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"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DynamicDNS_set_description.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DynamicDNS_set_description.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DynamicDNS/,\n    q/set_description/,\n    {\n        'id' => 'ggiugyxxjwnkmqtwysgmvrurplmafxpq',\n        'description' => 'Home network',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DynamicDNS_set_description.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DynamicDNS_set_description.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DynamicDNS',\n    'set_description',\n    array (\n        'id' => 'ggiugyxxjwnkmqtwysgmvrurplmafxpq',\n        'description' => 'Home network',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":82}}},"info":{"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute"}],"tags":[{"description":"The DynamicDNS module for UAPI.","name":"DynamicDNS"},{"name":"Dynamic DNS","description":"DNS / Dynamic DNS"}],"x-tagGroups":[{"name":"DNS","tags":["Dynamic DNS"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"security":[{"BasicAuth":[]}]}},"ResourceUsage":{"get_usages":{"paths":{"/ResourceUsage/get_usages":{"get":{"x-cpanel-api-version":"UAPI","summary":"Return resource usage and custom statistics","x-cpanel-available-version":"cPanel 70","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  ResourceUsage \\\n  get_usages\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/ResourceUsage/get_usages","label":"URL","lang":"HTTP"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file ResourceUsage_get_usages.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/ResourceUsage_get_usages.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/ResourceUsage/,\n    q/get_usages/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file ResourceUsage_get_usages.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/ResourceUsage_get_usages.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'ResourceUsage',\n    'get_usages'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"description":"This function retrieves resource usage and custom statistics for a cPanel user account.","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"apiversion":{"description":"The version of the API.","example":3,"type":"integer"},"result":{"properties":{"metadata":{"properties":{}},"data":{"type":"array","description":"An array of objects containing resource usage information from the account's query.","items":{"properties":{"maximum":{"nullable":true,"type":"integer","minimum":0,"example":15,"description":"The resources's maximum usage value.\n\n**Note:**\n\n This function returns an null value for an (unlimited) quota."},"error":{"type":"string","nullable":true,"description":"An error message, if applicable.","example":null},"usage":{"type":"integer","minimum":0,"description":"The resource's current usage value.","example":0},"formatter":{"description":"The resource's defined output format.\n\n* `format_bytes`\n* `format_bytes_per_second`\n* `percent`\n* `null` — No defined output format.\n\n**Note:**\n\nThird-party modules will return their defined formatter value.","oneOf":[{"nullable":true,"type":"string","enum":["format_bytes","format_bytes_per_second","percent"],"description":"The resource's defined output format."},{"description":"A third-party module's defined formatter value.","type":"string"}],"example":"format_bytes"},"description":{"type":"string","description":"The resource's UI display name.","example":"MySQL® Databases"},"id":{"description":"The resource's reference name.\n* `disk_usage`\n* `filesusage` - This function **only** returns this value if the *Display File Usage information in the cPanel stats bar* setting is enabled in the *Display* section of WHM's [*Tweak Settings*](https://go.cpanel.net/whmdocsTweakSettings#display) interface (*WHM >> Home >> Server Configuration >> Tweak Settings*).\n* `cachedmysqldiskusage`\n* `cachedpostgresdiskusage` - This function **only** returns this value if [PostgreSQL® databases](https://go.cpanel.net/cpaneldocsPostgreSQLDatabases) are enabled.\n* `bandwidth`\n* `addon_domains`\n* `subdomains`\n* `aliases`\n* `email_accounts`\n* `mailing_lists` - This function **only** returns this value if the Mailman service is enabled in WHM's [*Service Manager*](https://go.cpanel.net/whmdocsServiceManager) interface (*WHM >> Home >> Service Configuration >> Service Manager*).\n* `autoresponders`\n* `forwarders`\n* `email_filters`\n* `ftp_accounts` - This function **only** returns this value if FTP accounts exist on the server.\n* `mysql_databases` - This function **only** returns this value if MySQL® databases are enabled.\n* `postgresql_databases`\n\n**Note:**\n\nCertain `id` values may **not** appear, based on the [server's current profile](https://go.cpanel.net/howtouseserverprofiles#profiles).","example":"mysql_databases","type":"string"},"url":{"type":"string","format":"url-path","description":"The resource's defined URL link to its corresponding interface, in applicable.","example":"sql/index.html"}},"type":"object"}},"warnings":{"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."},"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null},"status":{"type":"integer","description":"- `1` - Success.\n- `0` - Failed. Check the errors field for more details.","enum":[0,1],"example":1}},"type":"object"},"module":{"description":"The name of the module called.","example":"ResourceUsage","type":"string"},"func":{"description":"The name of the method called.","example":"get_usages","type":"string"}},"type":"object"}}},"description":"HTTP Request was successful."}},"parameters":[],"tags":["ResourceUsage","Resource Usage and Statistics"],"operationId":"ResourceUsage-get_usages","x-readonly":true}}},"servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"name":"ResourceUsage","description":"The ResourceUsage module for UAPI."},{"description":"cPanel Account / Resource Usage and Statistics","name":"Resource Usage and Statistics"}],"x-tagGroups":[{"name":"cPanel Account","tags":["Resource Usage and Statistics"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"security":[{"BasicAuth":[]}],"info":{"termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"externalDocs":{"url":"https://cpanel.net/developers/"}}},"Domain":{"temporary_domain_is_disabled":{"security":[{"BasicAuth":[]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"x-tagGroups":[{"tags":["Domain"],"name":"Domain"}],"tags":[{"name":"Domain","description":"The Domain module for UAPI."}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel."}}}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.129.0.9999","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"paths":{"/Domain/temporary_domain_is_disabled":{"get":{"operationId":"Domain-temporary_domain_is_disabled","x-readonly":true,"tags":["Domain","Temporary Domains"],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"result":{"properties":{"data":{"description":"An object containing the disabled state of the\ntemporary domains feature.","type":"object","properties":{"is_disabled":{"type":"integer","description":"Whether temporary domains are disabled by\nserver configuration.\n* `1` - Temporary domains are disabled.\n* `0` - Temporary domains are enabled.","enum":[0,1],"example":0}}},"warnings":{"type":"array","nullable":true,"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API call.","items":{"type":"string"},"example":null},"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"status":{"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","enum":[0,1],"example":1,"type":"integer"}},"type":"object"},"module":{"type":"string","example":"Domain","description":"The name of the module called."},"func":{"description":"The name of the method called.","example":"temporary_domain_is_disabled","type":"string"}}}}},"description":"Request was successful."}},"parameters":[],"description":"This function returns whether the temporary domains feature is\ndisabled by server configuration.\n\n**Note:**\n\nFor more information about temporary domains, read our [Temporary Domains](https://go.cpanel.net/cp-temporary-domain) documentation.","summary":"Return whether temporary domains are disabled","x-cpanel-available-version":138,"x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Domain \\\n  temporary_domain_is_disabled\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Domain/temporary_domain_is_disabled","label":"URL","lang":"HTTP"}],"x-cpanel-api-version":"UAPI"}}}},"convert_temporary_to_registered":{"paths":{"/Domain/convert_temporary_to_registered":{"post":{"description":"This function converts a temporary domain into a registered domain and moves its document root files\nto the new document root location.\n\n**Note:**\n\n* For more information about temporary domains, read our [Temporary Domains](https://go.cpanel.net/cp-temporary-domain) documentation.\n* You cannot use this function to convert a cPanel account's main domain.","x-rollback":"none","parameters":[{"schema":{"format":"domain","type":"string","example":"wonderful-fushsia-owl.10-20-30-40.cpanel.site"},"description":"A valid temporary domain on the account.","required":true,"in":"query","name":"domain"},{"schema":{"format":"domain","type":"string","example":"example.com"},"required":true,"description":"A valid domain name.","in":"query","name":"registered"},{"required":false,"description":"The path to the domain's document root directory. If you do not specify a\nvalue, this parameter defaults to the domain's name.\n\n**Note:**\n\nThe function will create a symlink in place of the previous temporary domain's\ndocument root directory. The symlink will point to the registered domain's\ndocument root.","schema":{"type":"string","example":"example.com"},"name":"docroot","in":"query"}],"summary":"Convert a temporary domain to a registered domain","x-codeSamples":[{"lang":"Shell","label":"CLI","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"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Domain/convert_temporary_to_registered?domain=wonderful-fushsia-owl.10-20-30-40.cpanel.site&registered=example.com","label":"URL","lang":"HTTP"}],"x-cpanel-available-version":130,"x-cpanel-api-version":"UAPI","tags":["Domain","Temporary Domains"],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"type":"integer","description":"The version of the API.","example":3},"module":{"type":"string","example":"Domain","description":"The name of the module called."},"result":{"type":"object","properties":{"status":{"type":"integer","description":"- 1 - Success.\n- 0 - Failed: Check the errors field for more details.","enum":[0,1],"example":1},"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"warnings":{"example":null,"items":{"type":"string"},"description":"List of warnings generated by the API.","nullable":true,"type":"array"},"data":{"type":"object","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"}}}}},"func":{"type":"string","example":"convert_temporary_to_registered","description":"The name of the method called."}}}}},"description":"Request was successful."}},"operationId":"Domain-convert_temporary_to_registered","x-readonly":false}}},"info":{"version":"11.129.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"x-tagGroups":[{"name":"Domain Management","tags":["Domain"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"tags":[{"description":"The Domain module for UAPI.","name":"Domain"}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel."}}}],"security":[{"BasicAuth":[]}]},"rename_domain":{"paths":{"/Domain/rename_domain":{"post":{"x-readonly":false,"operationId":"Domain-rename_domain","parameters":[{"description":"The current domain name to rename.","required":true,"schema":{"type":"string","format":"domain","example":"old.example.com"},"in":"query","name":"domain"},{"description":"The new domain name.","required":true,"schema":{"example":"new.example.com","type":"string","format":"domain"},"in":"query","name":"new_domain"},{"description":"The path to the domain's document root directory. If you do not specify a\nvalue, this parameter defaults to the new domain name.","required":false,"schema":{"type":"string","example":"new.example.com"},"in":"query","name":"docroot"}],"tags":["Domain"],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"func":{"type":"string","description":"The name of the method called.","example":"rename_domain"},"module":{"type":"string","description":"The name of the module called.","example":"Domain"},"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"},"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API.","example":null,"type":"array","nullable":true},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}},"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"status":{"type":"integer","example":1,"enum":[0,1],"description":"- 1 - Success.\n- 0 - Failed: Check the errors field for more details."}},"type":"object"},"apiversion":{"example":3,"description":"The version of the API.","type":"integer"}},"type":"object"}}},"description":"Request was successful."}},"x-rollback":"none","description":"This function renames a primary domain, addon domain, or alias domain on a\ncPanel account. The system updates all relevant configuration files, document root\npaths, and DNS entries automatically.\n\n**Note:**\n\n* You cannot rename a domain while another rename operation is in progress.\n* You cannot rename the server hostname.\n* The new domain must not already be configured on the account.","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"}],"summary":"Rename a primary, addon, or alias domain","x-cpanel-available-version":138,"x-cpanel-api-version":"UAPI"}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"},"license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.129.0.9999"},"security":[{"BasicAuth":[]}],"x-tagGroups":[{"name":"Domain Management","tags":["Domain"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel."}},"description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"name":"Domain","description":"The Domain module for UAPI."}]},"is_temporary_domain":{"paths":{"/Domain/is_temporary_domain":{"get":{"tags":["Domain","Temporary Domains"],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"result":{"properties":{"messages":{"example":null,"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"},"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"warnings":{"example":null,"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API call.","items":{"type":"string"},"nullable":true,"type":"array"},"data":{"description":"Whether the domain is a temporary domain.\n* `1` - The domain is a temporary domain.\n* `0` -  The domains is **not** a temporary domain.","enum":[0,1],"example":1,"type":"integer"},"status":{"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","example":1,"enum":[0,1],"type":"integer"}},"type":"object"},"module":{"type":"string","example":"Domain","description":"The name of the module called."},"func":{"description":"The name of the method called.","example":"is_temporary_domain","type":"string"},"apiversion":{"type":"integer","example":3,"description":"The version of the API."}}}}},"description":"Request was successful."}},"parameters":[{"required":true,"description":"A domain on the cPanel account.","schema":{"example":"example.com","type":"string","format":"domain"},"name":"domain","in":"query"}],"x-readonly":true,"operationId":"Domain-is_temporary_domain","x-cpanel-api-version":"UAPI","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Domain \\\n  is_temporary_domain \\\n  domain=example.com\n","lang":"Shell","label":"CLI"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/Domain/is_temporary_domain?domain=example.com"}],"summary":"Return whether a domain is temporary","x-cpanel-available-version":130,"description":"This function determines whether a domain is temporary.\n\n**Note:**\n\nFor more information about temporary domains, read our [Temporary Domains](https://go.cpanel.net/cp-temporary-domain) documentation."}}},"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel."}}}],"tags":[{"name":"Domain","description":"The Domain module for UAPI."}],"x-tagGroups":[{"name":"Domain","tags":["Domain"]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"security":[{"BasicAuth":[]}],"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"version":"11.129.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI"},"externalDocs":{"url":"https://cpanel.net/developers/"}}},"Batch":{"strict":{"security":[{"BasicAuth":[]}],"servers":[{"description":"A server running cPanel.","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute"}],"openapi":"3.0.2","tags":[{"description":"The Batch module for UAPI.","name":"Batch"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"name":"API Development Tools","tags":["Batch"]}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","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.","version":"11.89.0.9999","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/"},"paths":{"/Batch/strict":{"get":{"parameters":[{"content":{"application/json":{"examples":{"multiple_indexed":{"summary":"Call multiple UAPI functions using indexed parameters.","value":["command-0=[\"PasswdStrength\",\"get_required_strength\",{\"app\":\"webdisk\"}]","command-1=[\"SSH\",\"get_port\"]"]},"multiple":{"value":["command=[\"PasswdStrength\",\"get_required_strength\",{\"app\":\"webdisk\"}]","command=[\"SSH\",\"get_port\"]"],"summary":"Call multiple UAPI functions."}},"schema":{"items":{"oneOf":[{"type":"string"},{"additionalProperties":true,"type":"object"}]},"maxItems":3,"minItems":2,"type":"array"}}},"required":true,"description":"A UAPI function call, encoded as a JSON array with two or three items:\n\n* The UAPI module.\n* The UAPI function.\n* A JSON object containing the parameters to pass to this function. You can omit this value if you do not pass any parameters to the function.\n\nTo submit multiple commands, duplicate the parameter name, or index all parameter names and increment the index for each one.\n\n* When using the cPanel LiveAPI PHP Library, you **must** increment the parameter name when you submit the arguments in an associative array. For example: use `command-0`, `command-1`, and `command-2`.\n* When using the cPanel LiveAPI Perl Library, you **must** increment the parameter name when you submit the arguments in a hash. For example: use `command-0`, `command-1`, and `command-2`.\n* You do **not** need to add an index to `command` parameters for query string calls of this function.","in":"query","name":"command"}],"description":"This function combines calls for multiple UAPI functions and performs them in order.\n\n**Note:**\n\n* If a function call in the list fails, the `Batch::strict` function does not run further function calls in the list.\n* Due to the potential length of calls of this function, we recommend that you use the HTTP POST method for extremely long batch commands.","x-rollback":"none","tags":["Batch"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"func":{"type":"string","description":"The name of the method called.","example":"strict"},"module":{"example":"Batch","description":"The name of the module called.","type":"string"},"result":{"type":"object","properties":{"messages":{"description":"List of messages generated by the API.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"errors":{"nullable":true,"type":"array","example":null,"description":"List of errors if the API failed.","items":{"type":"string"}},"metadata":{"properties":{"transformed":{"type":"integer","description":"Post-processing may have transformed the data.","example":1,"enum":[1]}}},"data":{"type":"array","example":[{"errors":null,"messages":null,"warnings":null,"data":{"strength":65},"metadata":{},"status":1},{"status":1,"warnings":null,"data":{"port":22},"messages":null,"metadata":{},"errors":null}],"description":"An array of objects that contain function output. Each object contains the output data and metadata from one of the `command` parameter's functions.\n\nFor more information about UAPI return data and metadata, read our [UAPI - Return Data](https://go.cpanel.net/UAPIReturnData) documentation.","items":{"type":"object","properties":{"errors":{"example":null,"items":{"type":"string"},"description":"List of errors if the API failed.","nullable":true,"type":"array"},"metadata":{"properties":{"transformed":{"type":"integer","example":1,"enum":[1],"description":"Post-processing may have transformed the data."}}},"messages":{"description":"List of messages generated by the API.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"warnings":{"type":"array","nullable":true,"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.","items":{"type":"string"},"example":null},"data":{"type":"object","additionalProperties":true,"description":"The data returned by an individual UAPI call invoked through this `Batch::strict` call."},"status":{"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","example":1,"enum":[0,1],"type":"integer"}}}},"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API."},"status":{"example":1,"enum":[0,1],"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","type":"integer"}}},"apiversion":{"example":3,"description":"The version of the API.","type":"integer"}},"type":"object"}}}}},"x-readonly":false,"operationId":"Batch-strict","x-cpanel-api-version":"UAPI","summary":"Run multiple UAPI functions in order","x-codeSamples":[{"source":"uapi --output=jsonpretty --user=username Batch strict command-0='[ \"PasswdStrength\", \"get_required_strength\", { \"app\": \"webdisk\"} ]' command-1='[\"SSH\",\"get_port\"]'","label":"CLI","lang":"Shell"},{"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"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Batch_strict.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Batch_strict.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Batch/,\n    q/strict/,\n    {\n        'command-0' => '[ \"PasswdStrength\", \"get_required_strength\", { \"app\": \"webdisk\"} ]',\n        'command-1' => '[\"SSH\",\"get_port\"]',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Batch_strict.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Batch_strict.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Batch',\n    'strict',\n    array (\n        'command-0' => '[ \"PasswdStrength\", \"get_required_strength\", { \"app\": \"webdisk\"} ]',\n        'command-1' => '[\"SSH\",\"get_port\"]',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 54"}}}}},"ClamScanner":{"start_scan":{"paths":{"/ClamScanner/start_scan":{"get":{"description":"This function starts a ClamAV® scan on a directory.\n\n**Note**:\n\nYou must run the APIs in this order:\n\n1. Run [`ClamScanner::start_scan`](https://go.cpanel.net/ClamScanner-start-scan) to start the virus scan.\n2. Run [`ClamScanner::get_scan_status`](https://go.cpanel.net/ClamScanner-get-scan-status) in a loop until the scan is finished.\n3. Run [`ClamScanner::list_infected_files`](https://go.cpanel.net/ClamScanner-list-infected-files) to get a report of the complete list of infected files.\n4. Decide how you want to handle each infected file.\n5. Run [`ClamScanner::disinfect_files`](https://go.cpanel.net/ClamScanner-disinfect-files) to queue the disinfection of the files.\n6. Run [`ClamScanner::check_disinfection_status`](https://go.cpanel.net/ClamScanner-check-disinfection-status) in a loop until you get a done status.","x-rollback":"none","parameters":[{"schema":{"enum":["home","mail","public_html","public_ftp"],"example":"home"},"required":true,"description":"The type of directory to scan.\n\n* `home` — User's entire home directory\n* `mail` — User's email directory\n* `public_html` — User's web directory\n* `public_ftp` — User's ftp directory","name":"scan_type","in":"query"}],"x-cpanel-api-version":"UAPI","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  ClamScanner \\\n  start_scan \\\n  scan_type='home'\n","lang":"Shell","label":"CLI"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/ClamScanner/start_scan?scan_type=home"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file ClamScanner_start_scan.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/ClamScanner_start_scan.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/ClamScanner/,\n    q/start_scan/,\n    {\n        'scan_type' => 'home',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file ClamScanner_start_scan.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/ClamScanner_start_scan.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'ClamScanner',\n    'start_scan',\n    array (\n        'scan_type' => 'home',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-available-version":"cPanel 94","summary":"Start virus scan","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"module":{"example":"ClamScanner","description":"The name of the module called.","type":"string"},"result":{"type":"object","properties":{"status":{"type":"integer","example":1,"enum":[0,1],"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details."},"metadata":{"properties":{}},"warnings":{"type":"array","nullable":true,"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"},"example":null},"data":{"type":"object","nullable":true,"default":null},"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"},"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true}}},"func":{"description":"The name of the method called.","example":"start_scan","type":"string"}}}}}}},"tags":["ClamScanner","Antivirus Protection (ClamAV)"],"operationId":"ClamScanner-start_scan","x-readonly":false}}},"info":{"version":"11.93.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"tags":[{"name":"ClamScanner","description":"The ClamScanner module provides methods for ClamAV® virus scans and disinfection."},{"name":"Antivirus Protection (ClamAV)","description":"Optional Applications / Antivirus Protection (ClamAV)"}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}}}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"tags":["Antivirus Protection (ClamAV)"],"name":"Optional Applications"}],"security":[{"BasicAuth":[]}]},"get_scan_status":{"servers":[{"url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"description":"The ClamScanner module provides methods for ClamAV® virus scans and disinfection.","name":"ClamScanner"},{"description":"Optional Applications / Antivirus Protection (ClamAV)","name":"Antivirus Protection (ClamAV)"}],"x-tagGroups":[{"tags":["Antivirus Protection (ClamAV)"],"name":"Optional Applications"}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"security":[{"BasicAuth":[]}],"info":{"title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.93.0.9999","contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/ClamScanner/get_scan_status":{"get":{"operationId":"ClamScanner-get_scan_status","x-readonly":true,"parameters":[],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","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":{"type":"string","example":"ClamScanner","description":"The name of the module called."},"result":{"type":"object","properties":{"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}},"data":{"type":"object","properties":{"infected_files":{"example":["/home/username/afile/witha/virus.txt","/home/username/we/gotcha.exe"],"description":"List of files scanned and found to be infected.","items":{"type":"string"},"type":"array"},"scanned_file_count":{"minimum":0,"description":"The number of files already scanned.","example":135,"type":"integer"},"total_file_size_MiB":{"example":3640222,"description":"The total number of megabytes of data found to scan.","minimum":0,"type":"integer"},"scan_complete":{"description":"Whether the last scan has completed.\n* `1` - scan has completed.\n* `0` - scan has **not** completed.","example":1,"enum":[0,1],"type":"integer"},"current_file":{"type":"string","example":"/home/username/afilename.txt","description":"The current file being scanned."},"total_file_count":{"type":"integer","example":135,"description":"The total number of files found to scan.","minimum":0},"scanned_file_size":{"example":6022,"description":"The number of bytes of data scanned.","minimum":0,"type":"integer"},"time_started":{"type":"string","description":"The epoch timestamp of the beginning of the last scan.","example":"1608593571","minimum":0}}},"warnings":{"example":null,"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"},"metadata":{"properties":{}},"status":{"type":"integer","enum":[0,1],"example":1,"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details."}}}}}}}}},"tags":["ClamScanner","Antivirus Protection (ClamAV)"],"x-cpanel-api-version":"UAPI","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  ClamScanner \\\n  get_scan_status\n","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/ClamScanner/get_scan_status","lang":"HTTP","label":"URL"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file ClamScanner_get_scan_status.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/ClamScanner_get_scan_status.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/ClamScanner/,\n    q/get_scan_status/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file ClamScanner_get_scan_status.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/ClamScanner_get_scan_status.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'ClamScanner',\n    'get_scan_status'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Request virus scan status","x-cpanel-available-version":"cPanel 94","description":"This function gets the status of a ClamAV® scan on a directory.\n\n**Note**:\n\nYou must run the APIs in this order:\n\n1. Run [`ClamScanner::start_scan`](https://go.cpanel.net/ClamScanner-start-scan) to start the virus scan.\n2. Run [`ClamScanner::get_scan_status`](https://go.cpanel.net/ClamScanner-get-scan-status) in a loop until the scan is finished.\n3. Run [`ClamScanner::list_infected_files`](https://go.cpanel.net/ClamScanner-list-infected-files) to get a report of the complete list of infected files.\n4. Decide how you want to handle each infected file.\n5. Run [`ClamScanner::disinfect_files`](https://go.cpanel.net/ClamScanner-disinfect-files) to queue the disinfection of the files.\n6. Run [`ClamScanner::check_disinfection_status`](https://go.cpanel.net/ClamScanner-check-disinfection-status) in a loop until you get a done status."}}}},"list_infected_files":{"tags":[{"name":"ClamScanner","description":"The ClamScanner module provides methods for ClamAV® virus scans and disinfection."},{"name":"Antivirus Protection (ClamAV)","description":"Optional Applications / Antivirus Protection (ClamAV)"}],"openapi":"3.0.2","servers":[{"variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"x-tagGroups":[{"name":"Optional Applications","tags":["Antivirus Protection (ClamAV)"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"security":[{"BasicAuth":[]}],"info":{"termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","version":"11.93.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/ClamScanner/list_infected_files":{"get":{"operationId":"ClamScanner-list_infected_files","x-readonly":true,"tags":["ClamScanner","Antivirus Protection (ClamAV)"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"result":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"virus_type":{"type":"string","example":"Eicar-Signature","description":"A virus type."},"file":{"format":"path","type":"string","example":"/home/username/infected_file.txt","description":"An absolute path to the infected file on the system."}}}},"warnings":{"example":null,"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"},"metadata":{"properties":{}},"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"messages":{"description":"List of messages generated by the API.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"status":{"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","enum":[0,1],"example":1,"type":"integer"}}},"module":{"type":"string","example":"ClamScanner","description":"The name of the module called."},"func":{"description":"The name of the method called.","example":"list_infected_files","type":"string"}},"type":"object"}}}}},"parameters":[],"summary":"Return infected file list","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  ClamScanner \\\n  list_infected_files\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/ClamScanner/list_infected_files","label":"URL","lang":"HTTP"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file ClamScanner_list_infected_files.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/ClamScanner_list_infected_files.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/ClamScanner/,\n    q/list_infected_files/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file ClamScanner_list_infected_files.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/ClamScanner_list_infected_files.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'ClamScanner',\n    'list_infected_files'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"x-cpanel-available-version":"cPanel 94","description":"This function lists infected files from a ClamAV® virus scan.\n\n**Note**:\n\nYou must run the APIs in this order:\n\n1. Run [`ClamScanner::start_scan`](https://go.cpanel.net/ClamScanner-start-scan) to start the virus scan.\n2. Run [`ClamScanner::get_scan_status`](https://go.cpanel.net/ClamScanner-get-scan-status) in a loop until the scan is finished.\n3. Run [`ClamScanner::list_infected_files`](https://go.cpanel.net/ClamScanner-list-infected-files) to get a report of the complete list of infected files.\n4. Decide how you want to handle each infected file.\n5. Run [`ClamScanner::disinfect_files`](https://go.cpanel.net/ClamScanner-disinfect-files) to queue the disinfection of the files.\n6. Run [`ClamScanner::check_disinfection_status`](https://go.cpanel.net/ClamScanner-check-disinfection-status) in a loop until you get a done status.","x-cpanel-api-version":"UAPI"}}}},"get_scan_paths":{"security":[{"BasicAuth":[]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"x-tagGroups":[{"tags":["Antivirus Protection (ClamAV)"],"name":"Optional Applications"}],"servers":[{"variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"name":"ClamScanner","description":"The ClamScanner module provides methods for ClamAV® virus scans and disinfection."},{"description":"Optional Applications / Antivirus Protection (ClamAV)","name":"Antivirus Protection (ClamAV)"}],"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.","version":"11.93.0.9999","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/"},"paths":{"/ClamScanner/get_scan_paths":{"get":{"tags":["ClamScanner","Antivirus Protection (ClamAV)"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"func":{"description":"The name of the method called.","example":"get_scan_paths","type":"string"},"module":{"type":"string","example":"ClamScanner","description":"The name of the module called."},"result":{"type":"object","properties":{"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"metadata":{"properties":{}},"messages":{"example":null,"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"},"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"},"example":null,"type":"array","nullable":true},"data":{"properties":{"message":{"type":"string","example":"Scan Entire Home Directory","description":"Short description of the path"},"id":{"enum":["home","mail","public_html","public_ftp"],"example":"home","description":"The type of path\n* `home` — The cPanel account's entire home directory.\n* `mail` — The cPanel account's email directory.\n* `public_html` — The cPanel account's web directory.\n* `public_ftp` — The cPanel account's FTP directory.","type":"string"}},"type":"object"},"status":{"example":1,"enum":[0,1],"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","type":"integer"}}},"apiversion":{"example":3,"description":"The version of the API.","type":"integer"}}}}}}},"parameters":[],"operationId":"ClamScanner-get_scan_paths","x-readonly":true,"x-cpanel-api-version":"UAPI","summary":"Return virus scan types","x-cpanel-available-version":"cPanel 94","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  ClamScanner \\\n  get_scan_paths\n","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/ClamScanner/get_scan_paths","lang":"HTTP","label":"URL"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file ClamScanner_get_scan_paths.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/ClamScanner_get_scan_paths.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/ClamScanner/,\n    q/get_scan_paths/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file ClamScanner_get_scan_paths.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/ClamScanner_get_scan_paths.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'ClamScanner',\n    'get_scan_paths'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"description":"This function gets the available local paths that a cPanel account is permitted to scan.\n\n**Note**:\n\nThe system determines the available scan types based on what the system administrator has set in WHM's [Configure ClamAV®](https://go.cpanel.net/configureclamavscanner) page.\n\n**Note**:\n\nYou must run the APIs in this order:\n\n1. Run [`ClamScanner::start_scan`](https://go.cpanel.net/ClamScanner-start-scan) to start the virus scan.\n2. Run [`ClamScanner::get_scan_status`](https://go.cpanel.net/ClamScanner-get-scan-status) in a loop until the scan is finished.\n3. Run [`ClamScanner::list_infected_files`](https://go.cpanel.net/ClamScanner-list-infected-files) to get a report of the complete list of infected files.\n4. Decide how you want to handle each infected file.\n5. Run [`ClamScanner::disinfect_files`](https://go.cpanel.net/ClamScanner-disinfect-files) to queue the disinfection of the files.\n6. Run [`ClamScanner::check_disinfection_status`](https://go.cpanel.net/ClamScanner-check-disinfection-status) in a loop until you get a done status."}}}},"check_disinfection_status":{"paths":{"/ClamScanner/check_disinfection_status":{"get":{"x-cpanel-api-version":"UAPI","description":"This function checks the status of the previously queued disinfection\nof infected files.\n\n**Note:**\n\nYou must run the APIs in this order:\n\n1. Run [`ClamScanner::start_scan`](https://go.cpanel.net/ClamScanner-start-scan) to start the virus scan.\n2. Run [`ClamScanner::get_scan_status`](https://go.cpanel.net/ClamScanner-get-scan-status) in a loop until the scan is finished.\n3. Run [`ClamScanner::list_infected_files`](https://go.cpanel.net/ClamScanner-list-infected-files) to get a report of the complete list of infected files.\n4. Decide how you want to handle each infected file.\n5. Run [`ClamScanner::disinfect_files`](https://go.cpanel.net/ClamScanner-disinfect-files) to queue the disinfection of the files.\n6. Run [`ClamScanner::check_disinfection_status`](https://go.cpanel.net/ClamScanner-check-disinfection-status) in a loop until you get a done status.\n\nIf you want to display the progress, you can render the `ClamScanner::check_disinfection_status` returned 'result{data}{details}' array where the `type` is `step`.\n\nEach `step` record indicates the action taken on a specific file in the set being processed.","summary":"Request disinfection process status","x-cpanel-available-version":94,"x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  ClamScanner \\\n  check_disinfection_status\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/ClamScanner/check_disinfection_status","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file ClamScanner_check_disinfection_status.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/ClamScanner_check_disinfection_status.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/ClamScanner/,\n    q/check_disinfection_status/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file ClamScanner_check_disinfection_status.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/ClamScanner_check_disinfection_status.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'ClamScanner',\n    'check_disinfection_status'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"parameters":[{"description":"The unique `id` of the message you last received from this same log.\n\nThe API will return only the records after the specified `last_id`.\n\nIf this parameter is not provided, the entire log is returned.\n\n**Note:**\n\nFor improved performance, we recommend applications include the last record ID (last_id)\nfrom a previous call to this API, so only messages since the previous API call are returned.","schema":{"example":10,"minimum":1,"type":"integer"},"name":"last_id","in":"query"}],"tags":["ClamScanner","Antivirus Protection (ClamAV)"],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"result":{"properties":{"metadata":{"properties":{}},"data":{"properties":{"status":{"description":"* `done` - The disinfection is finished.\n* `none` - There is no disinfection scheduled.\n* `queued` - The disinfection is queued.\n* `running` - The disinfection is in progress.","example":"done","enum":["done","queued","running"],"type":"string"},"details":{"type":"array","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":[{"required":["type","state"],"type":"object","properties":{"id":{"type":"number","example":2,"description":"The task processing order."},"message":{"type":"string","description":"Optional message that may include more information about errors."},"state":{"description":"The state of the step. It will be one of the following:\n\n* `deleted` - The file was deleted.\n* `error` - An error occurred while processing the file.\n* `mailbox-cleansed` - The mailbox was clear of viruses.\n* `no-action` - No action was taken on the file.\n* `quarantined` - The file was quarantined.","example":"deleted","enum":["deleted","error","mailbox-cleansed","no-action","quarantined"],"type":"string"},"file":{"type":"string","description":"The absolute path to the file.","example":"/home/user/virus"},"type":{"type":"string","description":"* `step` - Record about a single file being processes.","enum":["step"]}}},{"properties":{"type":{"type":"string","enum":["issue"],"description":"* `issue` - Record that the disinfection is complete for all files indicated."},"state":{"enum":["error","warning"],"example":"warning","description":"The state of the issue. It will be one of the following:\n\n* `error` - An error occurred while starting or finishing the disinfection.\n* `warning` - A non-cricitcal problem occurred while starting or finishing the disinfection.","type":"string"},"message":{"description":"Optional message that may include more information about errors and warnings.","type":"string"},"id":{"example":2,"description":"The task processing order.","type":"number"}},"type":"object","required":["type","state"]},{"type":"object","properties":{"type":{"type":"string","description":"* `done` - Record that the disinfection is complete for all files indicated.","enum":["done"]},"id":{"description":"The task processing order.","example":2,"type":"number"},"message":{"type":"string","description":"Optional message that may include more information about errors."},"state":{"type":"string","enum":["error","info","success"],"example":"success","description":"The state of the step. It will be one of the following:\n\n* `error` - An error occurred while processing the file.\n* `info` - The message is information only.\n* `success` - The disinfection was successful."}},"required":["type"]}]}},"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"}},"type":"object"},"warnings":{"example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","nullable":true,"type":"array"},"messages":{"example":null,"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"},"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"status":{"type":"integer","example":1,"enum":[0,1],"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details."}},"type":"object"},"module":{"type":"string","example":"ClamScanner","description":"The name of the module called."},"func":{"example":"check_disinfection_status","description":"The name of the method called.","type":"string"}},"type":"object"}}},"description":"HTTP Request was successful."}},"operationId":"ClamScanner-check_disinfection_status","x-readonly":true}}},"security":[{"BasicAuth":[]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"x-tagGroups":[{"name":"Optional Applications","tags":["Antivirus Protection (ClamAV)"]}],"openapi":"3.0.2","servers":[{"variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"tags":[{"name":"ClamScanner","description":"The ClamScanner module provides methods for ClamAV® virus scans and disinfection."},{"name":"Antivirus Protection (ClamAV)","description":"Optional Applications / Antivirus Protection (ClamAV)"}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"},"license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999"}},"disinfect_files":{"paths":{"/ClamScanner/disinfect_files":{"post":{"description":"This function applies the disinfection option selected by the user\nfor each infected file.\n\n**Note:**\n\nYou must run the APIs in this order:\n\n1. Run [`ClamScanner::start_scan`](https://go.cpanel.net/ClamScanner-start-scan) to start the virus scan.\n2. Run [`ClamScanner::get_scan_status`](https://go.cpanel.net/ClamScanner-get-scan-status) in a loop until the scan is finished.\n3. Run [`ClamScanner::list_infected_files`](https://go.cpanel.net/ClamScanner-list-infected-files) to get a report of the complete list of infected files.\n4. Decide how you want to handle each infected file.\n5. Run [`ClamScanner::disinfect_files`](https://go.cpanel.net/ClamScanner-disinfect-files) to queue the disinfection of the files.\n6. Run [`ClamScanner::check_disinfection_status`](https://go.cpanel.net/ClamScanner-check-disinfection-status) in a loop until you get a done status.","x-rollback":"none","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"actions":{"example":{"home/unsure":"ignore","home/virus2":"quarantine","home/virus1":"delete"},"description":"The user provides the actions to perform on each specific infected file found in the scan.","additionalProperties":{"description":"The name of the property is a path to the file. The path may be either a full path to the file or a users home directory relative path to the file.\n\nThe value of the property is on of the following:\n\n* `cleanse_mailbox` — Cleanse the specified mailbox.\n* `delete` — Delete the file.\n* `quarantine` — Move the file to the quarantine directory.\n* `ignore` - Ignore the file.\n\n**Note**\n\nOnly include files that the scanner identified as containing a virus. All other file paths passed will be ignored.","enum":["cleanse_mailbox","delete","quarantine","ignore"],"type":"string"},"type":"object"}}}}}},"x-cpanel-api-version":"UAPI","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"},{"lang":"HTTP","label":"HTTP Request (Wire Format)","source":"POST /cpsess##########/execute/ClamScanner/disinfect_files HTTP/1.1\nHost: example.com:2083\nCookie: ###################################\nContent-Type: application/json\nContent-Length: 74\n\n{\"home/unsure\":\"ignore\",\"home/virus1\":\"delete\",\"home/virus2\":\"quarantine\"}"}],"x-cpanel-available-version":94,"summary":"Start disinfecting files with viruses","tags":["ClamScanner","Antivirus Protection (ClamAV)"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"func":{"type":"string","example":"disinfect_files","description":"The name of the method called."},"result":{"type":"object","properties":{"status":{"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","example":1,"enum":[0,1],"type":"integer"},"metadata":{"properties":{}},"data":{"type":"object","properties":{"task_id":{"description":"The Task Queue system's task ID number.","example":"00000000/5a9ec8dd4c345d","type":"string"},"log":{"type":"string","description":"Path to the disinfection log file. The log file will contain a list of JSON objects one per line.\n\nIf the last line is:\n\n`{ \"status\": \"done\" }`\n\nthe requested files with viruses have be handled as requested.  Use the /ClamScanner/check_disinfection_status\nAPI to check the status of a running or finished disinfection.","example":"/home/user/.clamavconnector.disinfection.log"}}},"warnings":{"type":"array","nullable":true,"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"},"example":null},"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null},"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null}}},"module":{"description":"The name of the module called.","example":"ClamScanner","type":"string"},"apiversion":{"type":"integer","example":3,"description":"The version of the API."}},"type":"object"}}}}},"x-readonly":false,"operationId":"ClamScanner-disinfect_files"}}},"security":[{"BasicAuth":[]}],"openapi":"3.0.2","servers":[{"url":"https://{host}:{port}/execute","variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"description":"The cPanel port.","default":"2083"}},"description":"A server running cPanel."}],"tags":[{"description":"The ClamScanner module provides methods for ClamAV® virus scans and disinfection.","name":"ClamScanner"},{"description":"Optional Applications / Antivirus Protection (ClamAV)","name":"Antivirus Protection (ClamAV)"}],"x-tagGroups":[{"name":"Optional Applications","tags":["Antivirus Protection (ClamAV)"]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI"}}},"Variables":{"get_server_information":{"paths":{"/Variables/get_server_information":{"get":{"x-readonly":true,"operationId":"Variables-get_server_information","parameters":[{"name":"name","in":"query","description":"The server configuration settings to return.\n\n<details>\n<summary>Click to view information about the available server configuration settings.</summary>\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</details>\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`.","required":false,"examples":{"multiple":{"summary":"Get multiple configuration settings.","value":"name=allow_park_subdomain_on_hostname&name=allow_remote_domains&name=allow_reset_password"},"single":{"value":"allow_park_subdomain_on_hostname","summary":"Get a single configuration setting."}},"schema":{"type":"string","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"]}}],"tags":["cPanel Server Information","Variables"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"func":{"example":"get_server_information","description":"The name of the method called.","type":"string"},"result":{"type":"object","properties":{"data":{"type":"object","properties":{"logout_redirect_url":{"description":"The logout redirection URL.","example":"https://cpanel.net","type":"string","nullable":true,"format":"url"},"require_ssl":{"description":"Whether the system requires passwords and other sensitive information use SSL encryption.\n\n* `1` - Requires SSL.\n* `0` - Doesn't require SSL.","enum":[1,0],"example":1,"type":"integer","nullable":true},"use_mail_for_mailman_url":{"type":"integer","nullable":true,"description":"Whether the system prefixes Mailman URLs with mail. For example, `http://mail.domain.com/mailman`.\n\n* `1` - Prefixes Mailman URLs with the `mail.` prefix.\n* `0` - Doesn't prefix Mailman URLs with the `mail.` prefix.","example":0,"enum":[1,0]},"disable_mailman":{"nullable":true,"type":"integer","example":0,"enum":[1,0],"description":"Whether Mailman mailing lists are enabled.\n\n* `1` - Enabled.\n* `0` - Not enabled."},"phpmyadmin_disable_search_info_schema":{"nullable":true,"type":"integer","enum":[1,0],"example":0,"description":"Whether the user can search for the phpMyAdmin information schema.\n\n* `1` - Searches are enabled.\n* `0` - Searches are **not** enabled."},"disable_awstats":{"type":"integer","nullable":true,"description":"Whether the [AWStats](http://awstats.sourceforge.net/) software is enabled.\n\n* `1` - Enabled.\n* `0` - Not enabled.","example":0,"enum":[1,0]},"php_post_maximum_size":{"minimum":55,"example":55,"description":"The maximum size, in megabytes (MB), of a POST request.","nullable":true,"type":"integer","maximum":2047},"local_nameserver_type":{"description":"The DNS nameserver's type.\n\n* `powerdns` - The PowerDNS nameserver.\n* `bind` - The bind nameserver.\n* `disabled` - Nameserver's have been disabled on this server.","enum":["powerdns","bind","disabled"],"example":"powerdns","type":"string","nullable":true},"skip_bandwidth_limit_check":{"enum":[1,0],"example":0,"description":"Whether the system automatically suspends HTTP service for accounts that exceed their bandwidth limit.\n\n* `1` - Suspends HTTP service.\n* `0` - Doesn't suspend HTTP service.","nullable":true,"type":"integer"},"enable_file_protect":{"description":"Whether [EasyApache 4's *FileProtect* option](https://go.cpanel.net/EasyApache4FileprotectOption) is enabled.\n\n* `1` - Enabled.\n* `0` - Not enabled.","enum":[1,0],"example":1,"type":"integer","nullable":true},"minimum_password_strength_mysql":{"example":65,"description":"The minimum strength for MySQL or MariaDB passwords.","minimum":0,"maximum":100,"nullable":true,"type":"integer"},"display_cpanel_doclinks":{"nullable":true,"type":"integer","example":0,"enum":[1,0],"description":"Whether the system displays links to cPanel feature documentation in the cPanel interface.\n\n* `1` - Displays documentation links.\n* `0` - Doesn't display documentation links."},"disable_roundcube":{"description":"Whether [Roundcube webmail](https://roundcube.net/) is enabled.\n\n* `1` - Enabled.\n* `0` - Not enabled.","enum":[1,0],"example":0,"type":"integer","nullable":true},"allow_remote_domains":{"nullable":true,"type":"integer","example":1,"enum":[1,0],"description":"Whether the system allows users to create addon domains or aliases that resolve to other servers.\n\n* `1` - Allows.\n* `0` - Doesn't allow."},"php_maximum_execution_time":{"minimum":90,"description":"The number of seconds that a PHP script can run before the system terminates it.","example":90,"type":"integer","nullable":true},"php_system_default_version":{"type":"string","nullable":true,"description":"The system's default version of PHP.","example":"ea-php73"},"mail_server":{"description":"The mailserver type.\n\n* `dovecot` - The Dovecot mailserver.\n* `disabled` - The mailserver is disabled on this system.","enum":["dovecot","disabled"],"example":"dovecot","type":"string","nullable":true},"use_information_schema":{"type":"integer","nullable":true,"description":"Whether the system uses the MySQL `INFORMATION_SCHEMA` view. This view includes disk usage by all MySQL tables in the disk usage totals.\n\n* `1` - Uses MySQL's `INFORMATION_SCHEMA` view.\n* `0` - Doesn't use MySQL's `INFORMATION_SCHEMA` view.","enum":[1,0],"example":1},"mailbox_storage_format":{"enum":["mdbox","maildir"],"example":"maildir","description":"The mailbox storage format for new accounts.\n\n* `mdbox` - The mdbox storage format.\n* `maildir` - The maildir storage format.","nullable":true,"type":"string"},"empty_trash_days":{"nullable":true,"type":"string","example":"disabled","description":"The minimum age of files that the system will automatically purge from `.trash` folders in user home directories."},"ipv6_listen":{"example":0,"enum":[1,0],"description":"Whether the `cpsrvd` daemon and other cPanel & WHM services listen on IPv6.\n\n* `1` - Listen on IPv6.\n* `0` - Don't listen on IPv6.","nullable":true,"type":"integer"},"php_loader":{"type":"string","nullable":true,"description":"The PHP loaders through which the system executes internal PHP scripts.\n\n* `ioncube` - The ionCube PHP loader.\n* `sourceguardian` - The SourceGuardian PHP loader.\n* `ioncube,sourceguardian` - Both the ionCube and SourceGuardian PHP loaders are in use.\n* An emtpy string - PHP loader is not in use.","enum":["","ioncube","sourceguardian","ioncube,sourceguardian"],"example":"ioncube"},"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","type":"string","nullable":true},"invite_sub":{"type":"integer","nullable":true,"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*).\n\n* `1` - Can send invitations.\n* `0` - Can't send invitations.","enum":[1,0],"example":1},"awstats_browser_update":{"type":"integer","nullable":true,"description":"Whether the user can update their [AWStats](http://awstats.sourceforge.net/) software.\n\n* `1` - Can update.\n* `0` - Can't update.","example":0,"enum":[1,0]},"htaccess_check_recurse":{"example":2,"description":"The maximum number of directories deep to look for `.htaccess` files when you change the PHP handler.","minimum":0,"nullable":true,"type":"integer"},"minimum_password_strength":{"example":65,"description":"The minimum strength for cPanel account passwords.","minimum":0,"maximum":100,"nullable":true,"type":"integer"},"allow_unregistered_domains":{"nullable":true,"type":"integer","enum":[1,0],"example":1,"description":"Whether the system allows users to add domains they didn't register with a domain name registrar.\n\n* `1` - Allows.\n* `0` - Doesn't allow."},"email_filter_storage_directory":{"format":"path","type":"string","nullable":true,"description":"The location of the Exim email filter storage directory.","example":"/etc/vfilters"},"awstats_reverse_dns":{"type":"integer","nullable":true,"description":"Whether the AWStats statistical analysis software interprets visitors' domain names as IP addresses.\n\n* `1` - Interprets visitors' domain names as IP addresses.\n* `0` - Doesn't interpret visitors' domain names as IP addresses.","enum":[1,0],"example":0},"dnsadmin_app":{"anyOf":[{"description":"The application's file path, relative to the user's home directory.","type":"string"},{"type":"string","enum":["dnsadmin","auto-detect SSL"]}],"example":"dnsadmin","description":"The application that processes DNS management requests.\n\n* The value is an application's file path, relative to the user's home directory.\n* `dnsadmin`\n* `auto-detect SSL`","nullable":true,"type":"string"},"disable_boxtrapper":{"type":"integer","nullable":true,"description":"Whether [*BoxTrapper*](https://go.cpanel.net/cpaneldocsBoxTrapper) is enabled.\n\n* `1` - Enabled.\n* `0` - Not enabled.","enum":[1,0],"example":0},"database_prefix_required":{"description":"Whether the account requires database prefixing.\n\n* `1` - Requires database prefixing.\n* `0` - Doesn't require database prefixing.","enum":[1,0],"example":1,"type":"integer","nullable":true},"is_mod_userdir_enabled":{"nullable":true,"type":"integer","example":1,"enum":[1,0],"description":"Whether the [Apache `mod_userdir` Tweak](https://go.cpanel.net/whmdocsApachemod_userdirTweak) is enabled.\n\n* `1` - Enabled.\n* `0` - Not enabled."},"api_shell":{"description":"Whether the user can access cPanel's [*API Shell*](https://go.cpanel.net/cpaneldocsAPIShell) interface (*cPanel >> Home >> Advanced >> API Shell*).\n\n* `1` - Can access.\n* `0` - Can't access.","example":0,"enum":[1,0],"type":"integer","nullable":true},"skip_mailbox_warnings_check":{"nullable":true,"type":"integer","enum":[1,0],"example":1,"description":"Whether mailbox usage warnings are enabled.\n\n* `1` - Enabled.\n* `0` - Not enabled."},"disable_spamassassin":{"example":0,"enum":[1,0],"description":"Whether the Apache SpamAssassin spam filter is enabled.\n\n* `1` - Enabled.\n* `0` - Not enabled.","nullable":true,"type":"integer"},"allow_park_subdomain_on_hostname":{"nullable":true,"type":"integer","example":0,"enum":[1,0],"description":"Whether the system allows users to park subdomains of the server's hostname.\n\n* `1` - Allows.\n* `0` - Doesn't allow."},"disable_spambox":{"type":"integer","nullable":true,"description":"Whether Apache SpamAssassin's spam box feature is enabled.\n\n* `1` - Enabled.\n* `0` - Not enabled.","enum":[1,0],"example":0},"mysql_version":{"example":"5.7","description":"The MySQL or MariaDB version.","nullable":true,"type":"string"},"version":{"type":"string","nullable":true,"description":"The system's Linux Kernel version.","example":"3.4"},"skip_apache_clients_optimizer":{"description":"Whether the Apache Client Optimizer is enabled.\n\n* `1` - Enabled.\n* `0` - Not enabled.","example":0,"enum":[1,0],"type":"integer","nullable":true},"php_upload_maximum_filesize":{"nullable":true,"type":"integer","maximum":2047,"minimum":50,"example":50,"description":"The maximum file size, in megabytes (MB), that a PHP script may upload."},"file_upload_must_leave_bytes":{"minimum":1,"description":"The minimum filesystem quota that the system requires after a file uploads to a server.","example":5,"type":"integer","nullable":true},"docroots_in_public_html_only":{"example":1,"enum":[1,0],"description":"Whether the system restricts users from creating addon domains and subdomains outside of their `public_html` directory.\n\n* `1` - Restricts users from creating addon domains and subdomains outside of their `public_html` directory.\n* `0` - Allows users to creating addon domains and subdomains outside of their `public_html` directory.","nullable":true,"type":"integer"},"apache_port":{"example":"192.0.2.0:80","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.","nullable":true,"type":"string"},"default_theme":{"description":"The cPanel interface's default theme.","example":"jupiter","type":"string","nullable":true},"mysql_host":{"type":"string","nullable":true,"description":"The MySQL or MariaDB hostname or IP address.","oneOf":[{"format":"domain","type":"string"},{"format":"ipv4","type":"string"}],"example":"localhost"},"disable_analog":{"example":0,"enum":[1,0],"description":"Whether users can access the [*Analog Stats*](https://go.cpanel.net/cpaneldocsAnalogStats) interface (*cPanel >> Home >> Metrics >> Analog Stats*).\n\n* `1` - Enabled.\n* `0` - Not enabled.","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,"minimum":1,"maximum":10240,"type":"integer","nullable":true},"allow_reset_password":{"example":1,"enum":[1,0],"description":"Whether cPanel's [*Reset Password*](https://go.cpanel.net/resetsubaccountpass) feature is enabled for the account.\n\n* `1` - *Reset Password* feature enabled.\n* `0` - *Reset Password* feature not enabled.","nullable":true,"type":"integer"},"ftp_server":{"type":"string","nullable":true,"description":"The FTP server.\n\n* `pure-ftpd` - The Pure-FTPD server.\n* `proftpd` - The ProFTPD FTP server.\n* `disabled` - FTP has been disabled on this server.","example":"disabled","enum":["pure-ftpd","proftpd","disabled"]},"ssl_default_key_type":{"enum":["rsa-2048","ecdsa-secp384r1","ecdsa-prime256v1","rsa-4096"],"example":"rsa-2048","description":"The default SSL/TLS encryption algorithm used by the system.\n\n* `rsa-2048` - The rsa-2048 encryption algorithm.\n* `ecdsa-secp384r1` - The ecdsa-secp384r1 encryption algorithm.\n* `ecdsa-prime256v1` - The ecdsa-prime256v1 encryption algorithm.\n* `rsa-4096` - The rsa-4096 encryption algorithm.","nullable":true,"type":"string"},"php_open_basedir_home":{"type":"integer","nullable":true,"description":"Whether PHP `open_basedir` protection is enabled on the server.\n\n* `1` - Enabled.\n* `0` - Not enabled.\n\n**Important:**\n\nWe removed WHM's *PHP open_basedir Tweak* interface (*WHM >> Home >> Security Center >> PHP open_basedir Tweak*)","enum":[1,0],"example":0},"allow_reset_password_for_subaccounts":{"description":"Whether cPanel's [*Reset Password*](https://go.cpanel.net/resetsubaccountpass) feature is enabled for subaccounts on the account.\n\n* `1` - *Reset Password* feature enabled.\n* `0` - *Reset Password* feature not enabled.","example":1,"enum":[1,0],"type":"integer","nullable":true},"cpanel_root_directory":{"example":"/usr/local/cpanel","description":"The cPanel `root` directory.","format":"path","nullable":true,"type":"string"},"disable_webalizer":{"description":"Whether the [Webalizer](http://www.webalizer.org/) statistics program is enabled.\n\n* `1` - Enabled.\n* `0` - Not enabled.","example":0,"enum":[1,0],"type":"integer","nullable":true},"file_usage":{"nullable":true,"type":"integer","enum":[1,0],"example":0,"description":"Whether file usage information displays in the cPanel *Home* interface's statistics bar.\n\n* `1` - Displays file usage information.\n* `0` - Doesn't display file usage information."}}},"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"},"example":null,"type":"array","nullable":true},"metadata":{"properties":{}},"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null},"status":{"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","enum":[0,1],"example":1,"type":"integer"}}},"module":{"description":"The name of the module called.","example":"Variables","type":"string"},"apiversion":{"type":"integer","example":3,"description":"The version of the API."}},"type":"object"}}}}},"x-cpanel-api-version":"UAPI","summary":"Return server's configuration settings","x-cpanel-available-version":"cPanel 86","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Variables \\\n  get_server_information\n","lang":"Shell","label":"CLI"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/Variables/get_server_information"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"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."}}},"security":[{"BasicAuth":[]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"name":"Server Information","tags":["cPanel Server Information"]}],"openapi":"3.0.2","servers":[{"url":"https://{host}:{port}/execute","variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"description":"The cPanel port.","default":"2083"}},"description":"A server running cPanel."}],"tags":[{"description":"The Variables module for UAPI.","name":"Variables"},{"name":"cPanel Server Information","description":"Server Information / cPanel Server Information"}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"},"termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999"}},"get_user_information":{"info":{"contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"},"termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999"},"externalDocs":{"url":"https://cpanel.net/developers/"},"openapi":"3.0.2","servers":[{"url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}},"description":"A server running cPanel."}],"tags":[{"name":"Variables","description":"The Variables module for UAPI."},{"description":"cPanel Account / Account Information","name":"Account Information"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"tags":["Account Information"],"name":"cPanel Account"}],"security":[{"BasicAuth":[]}],"paths":{"/Variables/get_user_information":{"get":{"x-readonly":true,"operationId":"Variables-get_user_information","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"result":{"type":"object","properties":{"status":{"example":1,"enum":[0,1],"description":"* `1`  Success\n* `0`  Failed: Check the errors field for more details.","type":"integer"},"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null},"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."},"warnings":{"example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","nullable":true,"type":"array"},"data":{"properties":{"notify_ssl_expiry":{"description":"Whether the systems sends a notification when an SSL certificate on the account expires.\n* `1` - Notifies.\n* `0` - Doesn't notify.","example":1,"enum":[0,1],"type":"integer"},"plan":{"example":"packagename","description":"The account's hosting package.","type":"string"},"notify_contact_address_change_notification_disabled":{"description":"Whether the systems sends a notification when someone disables the notification for contact address changes.\n* `1` - Notifies.\n* `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.\n* `1` - Notifies.\n* `0` - Doesn't notify.","enum":[0,1],"example":1,"type":"integer"},"package_extensions":{"type":"array","description":"The account's package extensions.","items":{"type":"string"},"example":["ext1","ext2","ext3"]},"home_directory_links":{"items":{"example":"symlink"},"description":"Any symlinks to the cPanel account's home directory. An array of one or more home directory symlinks.","type":"array"},"notify_password_change":{"description":"Whether the systems sends a notification when someone changes the account's password.\n* `1` - Notifies.\n* `0` - Doesn't notify.","enum":[0,1],"example":1,"type":"integer"},"database_owner":{"example":"root","description":"The owner of the account's databases.\n* `root`\n* A reseller account's username.\n* The account's username.","format":"username","type":"string"},"demo_mode":{"description":"Whether demo mode is enabled.\n* `1` - Enabled.\n* `0` - Not enabled.","example":1,"enum":[0,1],"type":"integer"},"notify_autossl_renewal_coverage_reduced":{"type":"integer","enum":[0,1],"example":1,"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.\n* `1` - Notifies.\n* `0` - Doesn't notify."},"notify_bandwidth_limit":{"type":"integer","example":1,"enum":[0,1],"description":"Whether the systems sends a notification when the account reaches its bandwidth quota.\n* `1` - Notifies.\n* `0` - Doesn't notify."},"owner":{"example":"root","description":"The account's owner.\n* `root`\n* A reseller account's username.\n* The account's username.","format":"username","type":"string"},"notify_autossl_renewal_uncovered_domains":{"type":"integer","enum":[0,1],"example":1,"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.\n* `1` - Notifies.\n* `0` - Doesn't notify."},"uid":{"type":"integer","description":"The account's user ID on the system.","example":1234},"ip":{"type":"string","format":"ipv4","example":"192.0.2.0","description":"The account's IPv4 address."},"notify_account_login":{"type":"integer","example":1,"enum":[0,1],"description":"Whether the system sends a notification when someone logs in to the account.\n* `1` - Notifies.\n* `0` - Doesn't notify."},"notify_autossl_renewal_coverage":{"type":"integer","description":"Whether the system sends a notification when AutoSSL renews a certificate.\n* `1` - Notifies.\n* `0` - Doesn't notify.","example":1,"enum":[0,1]},"last_modified":{"type":"integer","format":"unix_timestamp","example":1416586493,"description":"The most recent modification time of the `/var/cpanel/users/user` file in [Unix time format](https://en.wikipedia.org/wiki/Unix_time).\n\n**Note:**\n\n`user` represents the cPanel user."},"created_in_version":{"type":"string","format":"cPanel version","example":"11.94.0.0","description":"The version of cPanel used during account creation."},"utf8_mailbox":{"description":"Whether UTF-8-encoded mailbox names are enabled for the cPanel account.\n* `1` - Enabled.\n* `0` - Not enabled.","example":1,"enum":[0,1],"type":"integer"},"spf_enabled":{"description":"Whether Sender Policy Framework (SPF) is enabled.\n* `1` - Enabled.\n* `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"},"theme":{"example":"jupiter","description":"The account's current theme.","type":"string"},"notify_disk_limit":{"type":"integer","example":1,"enum":[0,1],"description":"Whether the systems sends a notification when the account reaches its disk usage limit.\n* `1` - Notifies.\n* `0` - Doesn't notify."},"maximum_passenger_apps":{"oneOf":[{"enum":["unlimited"],"type":"string"},{"minimum":0,"type":"integer"}],"description":"The account's maximum number of Ruby applications.\n  * `unlimited`\n  * An integer that represents a number of applications.","example":"unlimited"},"user":{"example":"username","description":"An existing account's username.","type":"string"},"legacy_backup_enabled":{"type":"integer","example":1,"enum":[0,1],"description":"Whether legacy backups are enabled.\n* `1` - Enabled.\n* `0` - Disabled."},"feature_list":{"example":"feature_list","description":"The account's [feature list](https://go.cpanel.net/whmdocs84FeatureManager) name.","type":"string"},"cpanel_root_directory":{"description":"The `root` directory.","example":"/usr/local/cpanel","type":"string","format":"path"},"gid":{"type":"integer","example":5678,"description":"The account's group ID."},"created":{"type":"integer","format":"unix_timestamp","example":1432220941,"description":"The account's creation date in [Unix time](http://en.wikipedia.org/wiki/Unix_time) format."},"notify_account_authn_link_notification_disabled":{"type":"integer","description":"Whether the systems sends a notification when someone disables notifications for external authentication account links.\n* `1` - Notifies.\n* `0` - Doesn't notify.","example":1,"enum":[0,1]},"notify_autossl_expiry":{"type":"integer","description":"Whether the system sends a notification when an AutoSSL certificate expires.\n* `1` - Notifies.\n* `0` - Doesn't notify","enum":[0,1],"example":1},"ssl_default_key_type":{"type":"string","enum":["system","rsa-2048","rsa-4096","ecdsa-prime256v1","ecdsa-secp384r1"],"example":"rsa-2048","description":"The type of key to generate for the user’s TLS certificates and CSRs.\n\n* `system` — The system’s `ssl_default_key_type` value in the [`cpanel.config` file](https://go.cpanel.net/ThecpanelconfigFile).\n* `rsa-2048` — 2,048-bit RSA.\n* `rsa-4096` — 4,096-bit RSA.\n* `ecdsa-prime256v1` — ECDSA prime256v1 (“P-256”).\n* `ecdsa-secp384r1` — ECDSA secp384r1 (“P-384”)."},"maximum_email_account_disk_quota":{"oneOf":[{"type":"string","enum":["unlimited"]},{"minimum":0,"type":"integer"}],"description":"The maximum size, that the account can define when it creates an email account.\n* `unlimited`\n* An integer value, in Megabytes (MB).","example":"unlimited"},"notify_account_login_for_known_netblock":{"example":1,"enum":[0,1],"description":"Whether the system sends a notification when a user on a known netblock logs in to the account.\n* `1` - Notifies.\n* `0` - Doesn't notify.","type":"integer"},"locale":{"type":"string","format":"ISO-3166-1 (alpha-2)","description":"The account's default locale, a two-letter [ISO-3166 code](http://www.iso.org/iso/country_codes.htm).","example":"en"},"pushbullet_access_token":{"type":"string","description":"The account's Pushbullet access token.","example":"1234567890"},"maximum_mail_accounts":{"example":"0","oneOf":[{"type":"string","enum":["unlimited"]},{"type":"integer","minimum":0}],"description":"The maximum number of email accounts for the account.\n* `unlimited`\n* An integer that represents a number of email accounts."},"maximum_addon_domains":{"example":"unlimited","description":"The account's maximum number of addon domains.\n* `unlimited`\n* An integer that represents a number of addon domains.","oneOf":[{"type":"string","enum":["unlimited"]},{"minimum":0,"type":"integer"}]},"shell":{"description":"The account's shell.","example":"/bin/bash","type":"string","format":"path"},"maximum_subdomains":{"oneOf":[{"enum":["unlimited"],"type":"string"},{"minimum":0,"type":"integer"}],"description":"The account's maximum number of subdomains.\n* `unlimited`\n* An integer that represents a number of subdomains.","example":"unlimited"},"mxcheck":{"properties":{"additionalProperties":{"type":"string","x-additionalPropertiesName":"domain","example":"local","enum":["local","remote","secondary"],"description":"The domain's MX type.\n\n* `local` - Accept mail locally for the domain.\n* `remote` - Do not accept mail locally for the domain.\n* `secondary` - Accept mail until a higher priority mail server is available.\n\n**Note:**\n\nThe return's name is the domain name."}},"type":"object","example":{"example.com":"local","example2.com":"remote"},"description":"Domains and their mail exchanger (MX) type."},"disk_block_limit":{"minimum":0,"example":100000000,"description":"The number of disk blocks for the account.\n* `0` - unlimited\n* A maximum amount of disk blocks, in kilobytes.","type":"integer"},"maximum_ftp_accounts":{"example":"unlimited","oneOf":[{"type":"string","enum":["unlimited"]},{"type":"integer","minimum":0}],"description":"The account's maximum number of FTP accounts.\n* `unlimited`\n* An integer that represents a number of FTP accounts."},"domain":{"type":"string","format":"domain","description":"The account's main domain.","example":"example.com"},"mailbox_format":{"type":"string","example":"maildir","enum":["maildir","mbox"],"description":"The storage format that the account's mailboxes use.\n* `maildir`\n* `mbox`"},"dead_domains":{"description":"The account's inactive domains.","items":{"example":"example.example.com","type":"string","format":"domain"},"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.\n\n**Note:**\n\nThis 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.\n* `1` - Enabled.\n* `0` - Disabled.\n\n**Note:**\n\nThe feature's name is the return name.","example":1,"enum":[0,1],"x-additionalPropertiesName":"feature","type":"integer"}},"type":"object"},"maximum_parked_domains":{"example":"unlimited","description":"The account's maximum number of aliases.\n* `unlimited`\n* An integer that represents a number of aliases.","oneOf":[{"enum":["unlimited"],"type":"string"},{"type":"integer","minimum":0}]},"maximum_emails_per_hour":{"example":"unlimited","oneOf":[{"enum":["unlimited"],"type":"string"},{"type":"integer","minimum":0}],"description":"The maximum number of emails that the account can send in one hour.\n* A positive integer.\n* `0` or `unlimited` - The account can send an unlimited number of emails."},"lang":{"description":"The account's language.","example":"english","type":"string"},"notify_account_login_notification_disabled":{"type":"integer","enum":[0,1],"example":1,"description":"Whether the system sends a notification when someone disables notifications for account logins.\n* `1` - Notifies.\n* `0` - Doesn't notify."},"bandwidth_limit":{"description":"The account's bandwidth limit.\n* `0` - unlimited\n* A maximum amount of bandwidth, in bytes.","example":0,"minimum":0,"type":"integer"},"notify_contact_address_change":{"enum":[0,1],"example":1,"description":"Whether the systems sends a notification when someone changes the contact address for the account.\n* `1` - Notifies.\n* `0` - Doesn't notify.","type":"integer"},"maximum_mailing_lists":{"oneOf":[{"enum":["unlimited"],"type":"string"},{"minimum":0,"type":"integer"}],"description":"The account's maximum number of mailing lists.\n* `unlimited`\n* An integer that represents a number of mailing lists.","example":"unlimited"},"notify_account_authn_link":{"description":"Whether the systems sends a notification when someone links the account to an external authentication account.\n* `1` - Notifies.\n* `0` - Doesn't notify.","example":1,"enum":[0,1],"type":"integer"},"backup_enabled":{"description":"Whether the user has backups enabled.\n* `1` - Backups enabled.\n* `0` - Backups not enabled.","enum":[0,1],"example":1,"type":"integer"},"home":{"format":"path","type":"string","example":"/home/user","description":"The user's home directory."},"notify_password_change_notification_disabled":{"example":1,"enum":[0,1],"description":"Whether the systems sends a notification when someone disables notifications for password changes.\n* `1` - Notifies.\n* `0` - Doesn't notify.","type":"integer"},"maximum_databases":{"example":"unlimited","description":"The account's maximum number of SQL databases.\n* `unlimited`\n* An integer that represents a number of SQL databases.","oneOf":[{"enum":["unlimited"],"type":"string"},{"type":"integer","minimum":0}]},"domains":{"type":"array","description":"list of the account's domains and subdomains.","items":{"example":"example.com","type":"string","format":"domain"}},"contact_email_2":{"type":"string","format":"email","description":"The account's alternate contact email address, if one exists.","example":"user2@example.com"},"cgi_enabled":{"description":"Whether CGI is enabled.\n* `1` - Enabled.\n* `0` - Not enabled.","example":1,"enum":[0,1],"type":"integer"},"notify_autossl_expiry_coverage":{"enum":[0,1],"example":1,"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.\n* `1` - Notifies.\n* `0` - Doesn't notify.","type":"integer"},"notify_twofactorauth_change":{"type":"integer","description":"Whether the systems sends a notification when the account's Two-Factor Authentication (2FA) credentials change.\n* `1` - Notifies.\n* `0` - Doesn't notify.","example":1,"enum":[0,1]},"dkim_enabled":{"description":"Whether DomainKeys Identified Mail (DKIM) is enabled.\n* `1` - Enabled.\n* `0` - Not enabled.","enum":[0,1],"example":1,"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.\n* `unlimited`\n* An integer value.","oneOf":[{"enum":["unlimited"],"type":"string"},{"minimum":0,"type":"integer"}],"example":"unlimited"}},"type":"object"},"metadata":{"properties":{}}}},"module":{"example":"Variables","description":"The name of the module called.","type":"string"},"func":{"type":"string","example":"get_user_information","description":"The name of the method called."},"apiversion":{"example":3,"description":"The version of the API.","type":"integer"}},"type":"object"}}}}},"tags":["Variables","Account Information"],"x-cpanel-api-version":"UAPI","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Variables \\\n  get_user_information\n","label":"CLI","lang":"Shell"},{"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# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-available-version":"cPanel 86","summary":"Return cPanel account's configuration settings","parameters":[{"schema":{"example":"domain","type":"string"},"examples":{"multiple":{"summary":"Get multiple account configuration settings.","value":"name-1=mailbox_format&name-2=home&name-3=shell"},"single":{"value":"mailbox_format","summary":"Get a single account configuration setting."}},"description":"The user configuration variables to retrieve. If you don't use this parameter, this function returns **all** of the user's configuration data.\n\n**Note:**\n\nTo retrieve multiple account configuration settings for a user, increment the parameter name. For example: `name-0`, `name-1`, and `name-2`.","required":false,"in":"query","name":"name"}],"x-rollback":"none","description":"This function retrieves the user's account configuration settings."}}}},"get_session_information":{"paths":{"/Variables/get_session_information":{"get":{"operationId":"Variables-get_session_information","x-readonly":true,"tags":["Variables","Login Information"],"parameters":[{"description":"The web server environment variable to retrieve. You can **only**\nretrieve the web server's hostname.\n\n* `host` is the only possible value.","required":false,"schema":{"example":"host","enum":["host"],"default":"host","type":"string"},"name":"name","in":"query"}],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"result":{"properties":{"status":{"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","example":1,"enum":[0,1],"type":"integer"},"warnings":{"type":"array","nullable":true,"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"},"example":null},"data":{"type":"object","properties":{"host":{"example":"example.com","description":"The web server's hostname.","type":"string"}}},"metadata":{"properties":{}},"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null},"messages":{"description":"List of messages generated by the API.","items":{"type":"string"},"example":null,"type":"array","nullable":true}},"type":"object"},"module":{"type":"string","example":"Variables","description":"The name of the module called."},"func":{"description":"The name of the method called.","example":"get_session_information","type":"string"},"apiversion":{"type":"integer","description":"The version of the API.","example":3}},"type":"object"}}}}},"x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Variables \\\n  get_session_information\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Variables/get_session_information","lang":"HTTP","label":"URL"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 86","summary":"Return web server's hostname","description":"This function retrieves a web server's hostname.","x-cpanel-api-version":"UAPI"}}},"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"x-tagGroups":[{"name":"Security","tags":["Login Information"]}],"tags":[{"description":"The Variables module for UAPI.","name":"Variables"},{"name":"Login Information","description":"Security / Login Information"}],"openapi":"3.0.2","servers":[{"variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"security":[{"BasicAuth":[]}],"info":{"contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"},"termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999"},"externalDocs":{"url":"https://cpanel.net/developers/"}}},"Users":{"change_password":{"paths":{"/Users/change_password":{"get":{"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"func":{"type":"string","description":"The name of the method called.","example":"change_password"},"result":{"properties":{"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null},"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"metadata":{"properties":{}},"warnings":{"example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.","nullable":true,"type":"array"},"data":{"type":"object","nullable":true,"default":null},"status":{"type":"integer","description":"* `1` - Success\n* `0` - Failed: Check the errors field for more details.","enum":[0,1],"example":1}}},"module":{"example":"Users","description":"The name of the module called.","type":"string"},"apiversion":{"example":3,"description":"The version of the API.","type":"integer"}},"type":"object"}}}}},"tags":["Users","Account Management"],"operationId":"Users-change_password","x-readonly":false,"x-cpanel-api-version":"UAPI","summary":"Update cPanel account password","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Users \\\n  change_password \\\n  oldpass='MyPreviousPassword' \\\n  newpass='MyUpdatedPassword'\n","lang":"Shell","label":"CLI"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/Users/change_password?oldpass=12346=newpass=ThisIs4It!"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-available-version":116,"parameters":[{"schema":{"example":"ThisWasMyPassword!","type":"string","format":"password"},"description":"The current password.","required":true,"name":"oldpass","in":"query"},{"required":true,"description":"The new password.","schema":{"example":"MyNewPassw0rd!","type":"string","format":"password"},"name":"newpass","in":"query"},{"description":"Whether to update the cPanel account's MySQL password.\n* `1` - Update MySQL password.\n* `0` - Do not update MySQL password.","required":false,"schema":{"type":"integer","default":0,"example":0,"enum":[0,1]},"in":"query","name":"enablemysql"},{"required":false,"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.","schema":{"type":"integer","example":0,"enum":[0,1]},"name":"enabledigest","in":"query"}],"description":"This function updates the cPanel account's password.","x-rollback":"none"}}},"servers":[{"variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"name":"Users","description":"The Users module for UAPI."},{"name":"Account Management","description":"cPanel Account / Account Management"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"x-tagGroups":[{"tags":["Account Management"],"name":"cPanel Account"}],"security":[{"BasicAuth":[]}],"info":{"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"},"termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.129.0.9999"},"externalDocs":{"url":"https://cpanel.net/developers/"}}},"DNSSEC":{"set_nsec3":{"security":[{"BasicAuth":[]}],"openapi":"3.0.2","servers":[{"variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"tags":[{"name":"DNSSEC","description":"The DNSSEC module for UAPI."},{"name":"DNS Security","description":"DNS / DNS Security"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"name":"DNS","tags":["DNS Security"]}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","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.","version":"11.89.0.9999","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/"},"paths":{"/DNSSEC/set_nsec3":{"get":{"x-codeSamples":[{"lang":"Shell","label":"CLI","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"},{"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":"URL","lang":"HTTP"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DNSSEC_set_nsec3.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DNSSEC_set_nsec3.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DNSSEC/,\n    q/set_nsec3/,\n    {\n        'domain' => 'example.com',\n        'nsec3_opt_out' => '0',\n        'nsec3_iterations' => '0',\n        'nsec3_narrow' => '1',\n        'nsec3_salt' => '-',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DNSSEC_set_nsec3.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DNSSEC_set_nsec3.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DNSSEC',\n    'set_nsec3',\n    array (\n        'domain' => 'example.com',\n        'nsec3_opt_out' => '0',\n        'nsec3_iterations' => '0',\n        'nsec3_narrow' => '1',\n        'nsec3_salt' => '-',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Update domain to use NSEC3","x-cpanel-available-version":"cPanel 60","x-cpanel-api-version":"UAPI","tags":["DNSSEC","DNS Security"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"result":{"type":"object","properties":{"status":{"type":"integer","description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","example":1,"enum":[0,1]},"data":{"type":"object","properties":{"enabled":{"type":"object","additionalProperties":{"type":"integer","description":"Whether the system enabled NSEC3 on the domain.\n\n  * `1` - Enabled.\n  * `0` - The system failed to enable NSEC3.","enum":[0,1]},"example":{"example1.com":1},"description":"Contains the domains for which the system enabled NSEC3.\n\n**Note:**\n\nThis return's name is the `domain` parameter's value."}}},"warnings":{"example":null,"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"},"metadata":{"properties":{}},"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null},"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null}}},"module":{"example":"DNSSEC","description":"The name of the module called.","type":"string"},"func":{"description":"The name of the method called.","example":"set_nsec3","type":"string"}},"type":"object"}}}}},"operationId":"DNSSEC-set_nsec3","x-readonly":false,"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.","x-rollback":"none","parameters":[{"in":"query","name":"domain","description":"The domain on which to enable NSEC3 semantics.","required":true,"schema":{"format":"domain","type":"string","example":"example.com"}},{"in":"query","name":"nsec3_opt_out","schema":{"enum":[0,1],"example":0,"type":"integer"},"required":true,"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."},{"name":"nsec3_iterations","in":"query","schema":{"maximum":500,"type":"integer","example":7,"minimum":0},"required":true,"description":"The number of times that the system re-executes the first resource record hash operation."},{"in":"query","name":"nsec3_narrow","description":"Whether NSEC3 will operate in Narrow mode or Inclusive mode. In Narrow mode, PowerDNS sends out white lies about the next secure record. Rather than query the resource record in the database, PowerDNS sends the hash plus 1 as the next secure record.\n* `1` - Narrow mode. * `0` - Inclusive mode.","required":true,"schema":{"type":"integer","example":1,"enum":[0,1]}},{"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.","required":true,"schema":{"type":"string","format":"hex","example":"1A2B3C4D5E6F"},"name":"nsec3_salt","in":"query"}]}}}},"export_zone_key":{"x-tagGroups":[{"tags":["DNS Security"],"name":"DNS"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"tags":[{"description":"The DNSSEC module for UAPI.","name":"DNSSEC"},{"name":"DNS Security","description":"DNS / DNS Security"}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}}}],"security":[{"BasicAuth":[]}],"info":{"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/DNSSEC/export_zone_key":{"get":{"x-rollback":"none","description":"This function exports a DNSSEC security key.\n\n**Important:**\n\nWhen you disable the [DNS](https://go.cpanel.net/serverroles) role, the system **disables** this function.","parameters":[{"schema":{"type":"string","format":"domain","example":"example.com"},"required":true,"description":"The security key's domain.","in":"query","name":"domain"},{"in":"query","name":"key_id","schema":{"type":"integer","example":12345,"minimum":1},"required":true,"description":"The security key's ID."}],"x-cpanel-api-version":"UAPI","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  DNSSEC \\\n  export_zone_key \\\n  domain='example.com' \\\n  key_id='12345'\n","label":"CLI","lang":"Shell"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/DNSSEC/export_zone_key?domain=example.com&key_id=12345"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DNSSEC_export_zone_key.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DNSSEC_export_zone_key.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DNSSEC/,\n    q/export_zone_key/,\n    {\n        'domain' => 'example.com',\n        'key_id' => '12345',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DNSSEC_export_zone_key.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DNSSEC_export_zone_key.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DNSSEC',\n    'export_zone_key',\n    array (\n        'domain' => 'example.com',\n        'key_id' => '12345',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Export DNSSEC security key","x-cpanel-available-version":"cPanel 84","operationId":"DNSSEC-export_zone_key","x-readonly":false,"tags":["DNSSEC","DNS Security"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"func":{"type":"string","description":"The name of the method called.","example":"export_zone_key"},"module":{"description":"The name of the module called.","example":"DNSSEC","type":"string"},"result":{"type":"object","properties":{"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null},"errors":{"example":null,"description":"List of errors if the API failed.","items":{"type":"string"},"nullable":true,"type":"array"},"metadata":{"properties":{}},"data":{"properties":{"key_type":{"description":"The security key's signing type.\n\n* `CSK` - Combined Signing Key.\n* `KSK` - Key Signing Key.\n* `ZSK` - Zone Signing Key.","enum":["CSK","KSK","ZSK"],"example":"KSK","type":"string"},"success":{"example":1,"enum":[0,1],"description":"Whether the function succeeded.\n\n* `1` - The function succeeded.\n* `0` - The function failed.","type":"integer"},"domain":{"format":"domain","type":"string","example":"example.com","description":"The security key's domain."},"key_content":{"description":"The content of the key, which includes the algorithm.","example":"Private-key-format: v1.2\nAlgorithm: 8 (RSASHA256)\nModulus: 9i8AlGZkwKJj6HYZX+9OcOyCMQ0L9eHBaTg2Y83cVBSaIyiIWo54QpuiJykiuFYYHihOi+LW8vfU9A9jXLBs7DaeDkXO49OqYxfgD1vwmztJeXCQlmgxqUeD181gtSTNO43uUMkCisZft+OsJ96bdUof1UeJ1+IuSENBr1TZgYjmzBgIkmjdv8T5muPaaDfeOISLJKGOG2gI0xlyQ39ppd3CeB90cpIvFpCGjNC8nGvIqN4oyny6NftcEhaRFudbEhB6t2gI362wS5ohERK1F1rBTt+mqUwszCv46Y6p3Za3PsebWK7fR6ITnsW7KGyn3r8BxpJTHlHMwOtBPosaXw==\nPublicExponent: AQAB\nPrivateExponent: MZO5nCkatSh+0jumVImO1HLsrRAhjnzORHBLk8HLUytq9xWckBAM6+0HtLc2BMVhygD4AHfILdn3CsdmjS4CYXeGUP2B8qOXtqkCOFWdmMVRwKEInSGSjrKWPIlhplko84tbqO0yE9xrPk8dRlIwIGizDHKBsfYct/TDb5m4y7rvEHcBSm2DZz7AQL1qqC/WYI54qxHFXTId+nKsYMx/alRUV3AOSL20VSgL56VcM1luFS76ylDIWEOrQVyTFCtEcHvw3FLIOEVCM/CAErLFNlFdXHnYcRYnG/oXcsPW0DjpPNrqx8iaAOuhYFd/pu9CvKQnxYLLqXByOkSUIO3ggQ==\nPrime1: /mtiBD3gJ5Yu5ARsLew4eohRAobl4c3Bt9Gw62wmHiOJfgjbnY91H/bxc/ilnQh92yZUfxfm5z6FXEqluh0ZN3BOQTwzUEuTT9Pn00FhRfemL0UMpHn0BkoXCLwjs1XRyI0hXTOhGhH7XVczuYw/S7kWT5Cmfo4MODZ6cooR8SE=\nPrime2: 97aFfZxJcTYTKkZTc7yeUQVWTtKF25L780TRuCiG83hTSNKlmuWE2bAU/Cl2CX2NdW5sBmO5z9fEI5rA8LhuWHlKF82cXg1h50CsXkaAhFKrThMmb6SRSjIksxlz7rtK777z4En/V9v3l1yKcQ5eSQYQRHg1cCkn6NNlZPZ2G38=\nExponent1: LoHarQPSken2MGBOliZ0PJHmnRujsh82pi+Cs8ZVQXUlkRB1dNvggTNW9+gf/hCrUQA0ufbYkrTvE+vhV6AyF9xDsdEbYDYwe4s0+X0eFvgqPMHWicpxPSUWCNa7f/DUJGEIFE13yZg35twl7GkiuOjglzLN/Jxix3PN9loe5YE=\nExponent2: Mya4iAimzb7p1DfzcZnIY1ijyuEEDSRb7I8Qc2PDAjGdmRMOaV7twPnwS2XQXwNTG6Wyntsm+nlGokeJgevDtXdOSn4FxRIkXllnfow2a5yajSO9Mx6bdePG2kjuPKTmQ3195JnDJYRhqxrL566c351l7I2aE1AcUqKcdG3EU8c=\nCoefficient: T4dFDz5pQhVUQSjV0hhKHHZ1wBxiXdZeCFIfbyypWEdxGXdX2lIN264u9cGQhI+iExTEjZCaYASMBzOqnIhkHhj0M1DGYrhRCdTpgxmDwdcHniRl/XMxPGqpmsP4WFCBxmIbr3SdnqoiPMXix0SjWkHTisq5i09DBMNGIGQyqS8=\n\n","type":"string"},"key_tag":{"minimum":1,"example":51640,"description":"The security key's internal identifier.","type":"integer"},"key_id":{"minimum":1,"example":12345,"description":"The security key's ID.","type":"integer"}},"type":"object"},"warnings":{"example":null,"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"},"status":{"type":"integer","description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","enum":[0,1],"example":1}}}},"type":"object"}}}}}}}}},"fetch_ds_records":{"paths":{"/DNSSEC/fetch_ds_records":{"get":{"description":"This function fetches a domain's Delegation of Signing (DS) records.\n\n**Important:**\n\nWhen you disable the [DNS role](https://go.cpanel.net/serverroles), the system **disables** this function.","x-rollback":"none","parameters":[{"name":"domain","in":"query","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`.","required":true,"examples":{"single":{"summary":"To fetch DS records on a single domain.","value":"example.com"},"multiple":{"value":"domain-0=example0.com&domain-1=example1.com&domain-2=example2.com","summary":"To fetch DS records on multiple domains."}},"schema":{"format":"domain","type":"string"}}],"x-cpanel-available-version":"cPanel 82","summary":"Return domain's DS records","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  DNSSEC \\\n  fetch_ds_records \\\n  domain='example.com'\n"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/DNSSEC/fetch_ds_records?domain=example.com"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DNSSEC_fetch_ds_records.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DNSSEC_fetch_ds_records.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DNSSEC/,\n    q/fetch_ds_records/,\n    {\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DNSSEC_fetch_ds_records.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DNSSEC_fetch_ds_records.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DNSSEC',\n    'fetch_ds_records',\n    array (\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-api-version":"UAPI","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"apiversion":{"description":"The version of the API.","example":3,"type":"integer"},"func":{"type":"string","description":"The name of the method called.","example":"fetch_ds_records"},"module":{"type":"string","example":"DNSSEC","description":"The name of the module called."},"result":{"type":"object","properties":{"status":{"type":"integer","example":1,"enum":[0,1],"description":"* `1` - Success\n* `0` - Failed: Check the errors field for more details."},"data":{"example":{"example.com":{"keys":{"33930":{"active":1,"algo_desc":"RSA/SHA-256","privatekey":"Private-key-format: v1.2\nAlgorithm: 8 (RSASHA256)\nModulus: wcZl882v587qKmt3M7+y6u+kzSgCvfgyiSGQHE2EulDcAnfEmz/ryanXMveHGBsO4L/GynYYUUsGvD2jHK1ITh8CeISiqmbUmPolf9HLQgwcT5pVcvwJ0Wmzpw5Ukmx67N7TTX+yieI5OyflP23GnJYQ5EQUzBu/DhdxhL90hYU=\nPublicExponent: AQAB\nPrivateExponent: EnoBdKrTMA5Jw7u1hQitXbt2Al3jTQvifbLmk9xMYJufLtkOtSL2L6dzLpftmL3TwFho8xspnG7D+KUD7ZMURrwxnLlqTttaL2PeaYJdQ184ezuflExppkDkdTEOqcIUuSylfAbyIdeGkVFuWr0cdjM9OFKMAkoYaVeAUP0SYU0=\nPrime1: 4eslxBBwyvXzmFqKx5TTiHfU7EHIAxUru3ykOMqD2tVMHbRAq5AMKZL6ZhuTXk8mnGppEfC6qqNKnf3VT5jLxw==\nPrime2: 25OUAsWWAJrQ4uLytsXoSbjHsVyh61DgZ4S4n2Mv7RsSHt0Q/VcuyvHXuAKb8Y0XCYczZBtEW+ZoPte/HHnsUw==\nExponent1: Xkb4AqLtvvT2i8y0/2avA9MmCtXEtuydzGbOTVjNv4OlePvgxPee67aHQhcd34xeS4XohPEVpOHx4I6t9sKHvw==\nExponent2: ulZDBRcodNrs6Z4u22yX8/gbfyhdQJUh2reG9bv2sAB/wEJaaKPT0eXqav3L2PKfCjbyJcH+AP9G+A2e4UuWgQ==\nCoefficient: mynNLSgStpQMktIEdysefyOg5jpXE3VeDZF6fbEOUg+E2ZnLBkLu4KPrriCwfl+cLagwgzx2M6wV/1QWkm8vPQ==","key_type":"ZSK","algo_num":"8","flags":256,"algo_tag":"RSASHA256","created":"1590002705","key_tag":33930,"bits":1024,"key_id":2},"nsec_details":{"nsec3_narrow":1,"nsec3_opt_out":"0","nsec3_iterations":"3","nsec_version":"NSEC3","nsec3_hash_algo_num":"1","nsec3_hash_algo_desc":"SHA-1","nsec3_salt":"fa1ac2c1rd7fbab4"}}}},"type":"object","properties":{"additionalProperties":{"description":"An object containing the domain's DS record information.\n\n**Note:**\n\nThe return's name is the domain's name.","type":"object","properties":{"nsec_details":{"properties":{"nsec_version":{"example":"NSEC","enum":["NSEC","NSEC3"],"description":"Whether the domain uses NSEC or [Next Secure Record version 3](https://tools.ietf.org/html/rfc5155) (NSEC3) [Domain Name Security Extensions](https://en.wikipedia.org/wiki/Domain_Name_System_Security_Extensions) (DNSSEC) semantics.\n\n* `NSEC`\n* `NSEC3`","type":"string"},"nsec3_salt":{"example":"fa1ac2c1rd7fbab4","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).","format":"hex","type":"string"},"nsec3_hash_algo_desc":{"example":"SHA-1","description":"A description of the NSEC3 key's algorithm.","type":"string"},"nsec3_hash_algo_num":{"type":"integer","example":1,"description":"The DNSSEC Digest Algorithm Number."},"nsec3_opt_out":{"example":1,"enum":[0,1],"description":"Whether NSEC3 will create records for all delegations or only for secure delegations.\n\n* `1` - Create records for all delegations.\n* `0` - Create records only for secure delegations.","type":"integer"},"nsec3_narrow":{"enum":[0,1],"example":1,"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).","type":"integer"},"nsec3_iterations":{"type":"integer","example":12,"description":"The number of times that the system rehashes the first hash operation."}},"type":"object","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."},"keys":{"description":"The DS keys on the requested domain.","type":"object","properties":{"additionalProperties":{"description":"The information related to the domain's DNSSEC record.\n\n**Note:**\n\nThe return's name is the `key_tag` return's integer value.","type":"object","properties":{"privatekey":{"type":"string","example":"Private-key-format: v1.2\nAlgorithm: 8 (RSASHA256)\nModulus: wcZl882v587qKmt3M7+y6u+kzSgCvfgyiSGQHE2EulDcAnfEmz/ryanXMveHGBsO4L/GynYYUUsGvD2jHK1ITh8CeISiqmbUmPolf9HLQgwcT5pVcvwJ0Wmzpw5Ukmx67N7TTX+yieI5OyflP23GnJYQ5EQUzBu/DhdxhL90hYU=\nPublicExponent: AQAB\nPrivateExponent: EnoBdKrTMA5Jw7u1hQitXbt2Al3jTQvifbLmk9xMYJufLtkOtSL2L6dzLpftmL3TwFho8xspnG7D+KUD7ZMURrwxnLlqTttaL2PeaYJdQ184ezuflExppkDkdTEOqcIUuSylfAbyIdeGkVFuWr0cdjM9OFKMAkoYaVeAUP0SYU0=\nPrime1: 4eslxBBwyvXzmFqKx5TTiHfU7EHIAxUru3ykOMqD2tVMHbRAq5AMKZL6ZhuTXk8mnGppEfC6qqNKnf3VT5jLxw==\nPrime2: 25OUAsWWAJrQ4uLytsXoSbjHsVyh61DgZ4S4n2Mv7RsSHt0Q/VcuyvHXuAKb8Y0XCYczZBtEW+ZoPte/HHnsUw==\nExponent1: Xkb4AqLtvvT2i8y0/2avA9MmCtXEtuydzGbOTVjNv4OlePvgxPee67aHQhcd34xeS4XohPEVpOHx4I6t9sKHvw==\nExponent2: ulZDBRcodNrs6Z4u22yX8/gbfyhdQJUh2reG9bv2sAB/wEJaaKPT0eXqav3L2PKfCjbyJcH+AP9G+A2e4UuWgQ==\nCoefficient: mynNLSgStpQMktIEdysefyOg5jpXE3VeDZF6fbEOUg+E2ZnLBkLu4KPrriCwfl+cLagwgzx2M6wV/1QWkm8vPQ==","description":"The DS key's private key, in ISC format."},"digests":{"type":"array","description":"The information that\n the registrar uses to populate the DS records.","items":{"type":"object","properties":{"algo_num":{"type":"integer","example":2,"description":"A IETF-recognized DNSSEC Algorithm Number.","minimum":1},"algo_desc":{"type":"string","description":"A description of the algorithm\n that the DS key uses.","example":"SHA-256"},"digest":{"example":"4de3e58f1238fb7fc7caa84389ef6fa27d42572c35f1152c7f2ea3b899400019","description":"The actual digest in the DS record.","type":"string"}}}},"key_type":{"example":"KSK","enum":["CSK","KSK","ZSK"],"description":"The DS key's signing type.\n* `CSK` - Combined Signing Key.\n* `KSK` - Key Signing Key.\n* `ZSK` - Zone Signing Key.","type":"string"},"algo_num":{"type":"integer","example":8,"enum":[5,6,7,8,10,13,14],"description":"The algorithm the system generated for the security key.\n\n* `5` - RSA/SHA-1\n* `6` - DSA-NSEC3-SHA1\n* `7` - RSASHA1-NSEC3-SHA1\n* `8` - RSA/SHA-256\n* `10` - RSA/SHA-512\n* `13` - ECDSA Curve P-256 with SHA-256\n* `14` - ECDSA Curve P-384 with SHA-384"},"flags":{"enum":[256,257],"example":257,"description":"An integer that determines the `key_type` value.\n\n* `256` - A Zone Signing Key (ZSK).\n* `257` - A Combined Signing Key (CSK) or Key Signing Key (KSK).","type":"integer"},"algo_tag":{"type":"string","example":"RSASHA256","description":"The short-form reference to the algorithm."},"key_id":{"type":"integer","minimum":1,"description":"PowerDNS's internal identifier.","example":1},"active":{"description":"Whether the DS key is active.\n\n* `1` - Active.\n* `0` - Inactive.","enum":[0,1],"example":1,"type":"integer"},"algo_desc":{"example":"RSA/SHA-256","description":"A description of the algorithm\nthat the DS key uses.","type":"string"},"created":{"example":1590002705,"description":"The key's creation time.","type":"integer","format":"unix_timestamp"},"key_tag":{"type":"integer","minimum":1,"example":34519,"description":"The DS key's identification number."},"bits":{"description":"The DS key's size, in bits.","example":2048,"minimum":1,"multipleOf":64,"type":"integer"}}}}}}}}},"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null,"type":"array","nullable":true},"metadata":{"properties":{}},"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null},"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"}}}},"type":"object"}}},"description":"HTTP Request was successful."}},"tags":["DNSSEC","DNS Security"],"x-readonly":true,"operationId":"DNSSEC-fetch_ds_records"}}},"info":{"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"tags":[{"description":"The DNSSEC module for UAPI.","name":"DNSSEC"},{"description":"DNS / DNS Security","name":"DNS Security"}],"servers":[{"url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}},"description":"A server running cPanel."}],"openapi":"3.0.2","x-tagGroups":[{"name":"DNS","tags":["DNS Security"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"security":[{"BasicAuth":[]}]},"disable_dnssec":{"info":{"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"},"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/"},"externalDocs":{"url":"https://cpanel.net/developers/"},"tags":[{"name":"DNSSEC","description":"The DNSSEC module for UAPI."},{"name":"DNS Security","description":"DNS / DNS Security"}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}}}],"x-tagGroups":[{"name":"DNS","tags":["DNS Security"]}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"security":[{"BasicAuth":[]}],"paths":{"/DNSSEC/disable_dnssec":{"get":{"parameters":[{"in":"query","name":"domain","schema":{"type":"string","format":"domain"},"examples":{"multiple":{"summary":"To enable DNSSEC on multiple domains.","value":"domain-0=example0.com&domain-1=example1.com&domain-2=example2.com"},"single":{"value":"example.com","summary":"To enable DNSSEC on a single domain."}},"required":true,"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`."}],"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.","x-rollback":"none","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"func":{"description":"The name of the method called.","example":"disable_dnssec","type":"string"},"result":{"type":"object","properties":{"status":{"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","enum":[0,1],"example":1,"type":"integer"},"messages":{"description":"List of messages generated by the API.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"data":{"example":{"disabled":{"example.com":1}},"properties":{"disabled":{"description":"An array of objects that contain the domains for which the system disabled DNSSEC.","type":"object","properties":{"additionalProperties":{"type":"integer","description":"Information about the domains for which the system\ndisabled DNSSEC.\n\n* `1` — Disabled.\n* `0` — The system failed to disable DNSSEC.\n\n**Note:**\n\nThis return's name is the `domain` parameter's value.","enum":[0,1],"example":1}}}},"type":"object"},"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null,"type":"array","nullable":true},"errors":{"nullable":true,"type":"array","example":null,"description":"List of errors if the API failed.","items":{"type":"string"}},"metadata":{"properties":{}}}},"module":{"type":"string","example":"DNSSEC","description":"The name of the module called."}}}}}}},"tags":["DNSSEC","DNS Security"],"x-readonly":false,"operationId":"DNSSEC-disable_dnssec","x-codeSamples":[{"lang":"Shell","label":"CLI","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"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DNSSEC_disable_dnssec.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DNSSEC_disable_dnssec.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DNSSEC/,\n    q/disable_dnssec/,\n    {\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DNSSEC_disable_dnssec.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DNSSEC_disable_dnssec.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DNSSEC',\n    'disable_dnssec',\n    array (\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"summary":"Disable DNSSEC","x-cpanel-available-version":"cPanel 60","x-cpanel-api-version":"UAPI"}}}},"remove_zone_key":{"servers":[{"variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"name":"DNSSEC","description":"The DNSSEC module for UAPI."},{"description":"DNS / DNS Security","name":"DNS Security"}],"x-tagGroups":[{"name":"DNS","tags":["DNS Security"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"security":[{"BasicAuth":[]}],"info":{"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"},"termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999"},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/DNSSEC/remove_zone_key":{"get":{"operationId":"DNSSEC-remove_zone_key","x-readonly":false,"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"func":{"type":"string","description":"The name of the method called.","example":"remove_zone_key"},"result":{"type":"object","properties":{"errors":{"example":null,"description":"List of errors if the API failed.","items":{"type":"string"},"nullable":true,"type":"array"},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}},"data":{"example":{"key_id":"12","success":1,"domain":"example.com"},"properties":{"success":{"type":"integer","enum":[1,0],"example":1,"description":"Whether the system removed the security key.\n\n* `1` — The system removed the security key.\n* `0` — The system failed to remove the security key."},"key_id":{"type":"string","example":"1","description":"The security key's ID."},"domain":{"description":"The domain for which the system removed a security key.","example":"example.com","format":"domain","type":"string"},"error":{"type":"string","description":"An error message that describes why the system could not remove the security key.\n\n**Note:**\n\nThe function **only** displays this return when the `success` return is a `0` value.","example":"Error: Invalid key_id or domain specified: No such key present for domain."}},"type":"object"},"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API."},"metadata":{"properties":{}},"status":{"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","example":1,"enum":[0,1],"type":"integer"}}},"module":{"example":"DNSSEC","description":"The name of the module called.","type":"string"},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}}}}},"description":"HTTP Request was successful."}},"tags":["DNSSEC","DNS Security"],"summary":"Remove DNSSEC security key","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"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/DNSSEC/remove_zone_key?domain=example.com&key_id=1","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DNSSEC_remove_zone_key.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DNSSEC_remove_zone_key.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DNSSEC/,\n    q/remove_zone_key/,\n    {\n        'domain' => 'example.com',\n        'key_id' => '1',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DNSSEC_remove_zone_key.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DNSSEC_remove_zone_key.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DNSSEC',\n    'remove_zone_key',\n    array (\n        'domain' => 'example.com',\n        'key_id' => '1',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 84","x-cpanel-api-version":"UAPI","parameters":[{"required":true,"description":"The security key's domain.","schema":{"example":"example.com","format":"domain","type":"string"},"name":"domain","in":"query"},{"in":"query","name":"key_id","required":true,"description":"The security key's ID.","schema":{"type":"integer","minimum":1,"example":1}}],"x-rollback":"none","description":"This function removes a DNSSEC security key.\n\n**Important:**\n\nWhen you disable the [DNS role](https://go.cpanel.net/serverroles), the system **disables** this function."}}}},"enable_dnssec":{"paths":{"/DNSSEC/enable_dnssec":{"get":{"parameters":[{"name":"domain","in":"query","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`.","required":true,"examples":{"single":{"value":"example.com","summary":"To enable DNSSEC on a single domain."},"multiple":{"summary":"To enable DNSSEC on multiple domains.","value":"domain-0=example0.com&domain-1=example1.com&domain-2=example2.com"}},"schema":{"type":"string","format":"domain"}},{"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.","required":false,"schema":{"type":"integer","default":1,"enum":[0,1],"example":1},"in":"query","name":"use_nsec3"},{"in":"query","name":"nsec3_opt_out","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.","required":false,"schema":{"type":"integer","default":0,"example":0,"enum":[0,1]}},{"schema":{"example":7,"default":0,"minimum":0,"maximum":500,"type":"integer"},"description":"The number of times that the system rehashes the first resource record hash operation.\n\nA positive integer less than `501`.\n\n**Note:**\n\nIn cPanel & WHM version 132 and earlier, the default value is `7`.","required":false,"name":"nsec3_iterations","in":"query"},{"in":"query","name":"nsec3_narrow","schema":{"type":"integer","default":1,"enum":[0,1],"example":1},"description":"Whether NSEC3 will operate in Narrow or Inclusive mode.\n\nIn Narrow mode, PowerDNS sends out white lies about the next secure record. Rather than query the resource record in the database, PowerDNS sends the hash plus `1` as the next secure record.\n\n* `1` — Narrow mode.\n* `0` — Inclusive mode.","required":false},{"in":"query","name":"nsec3_salt","schema":{"format":"hex","type":"string","maxLength":255,"example":"1A2B3C4D5E6F","default":"-"},"required":false,"description":"A hexadecimal string that the system appends to the domain name before it applies the hash function to the name. For more information about the salt value, read the [RFC 5155](https://tools.ietf.org/html/rfc5155#section-3.1.5) documentation.\n\n**NOTE:**\n\n* In cPanel & WHM version 132 and later, this parameter also accepts the literal value `-` to indicate that no salt should be used. If you do not declare a value, the system defaults to no salt.\n* In cPanel & WHM version 130 and earlier, if you did not declare a value, the system defaulted to a random 64-bit value."},{"schema":{"maximum":255,"type":"integer","example":8,"default":8,"minimum":0},"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.","required":false,"in":"query","name":"algo_num"},{"in":"query","name":"key_setup","schema":{"enum":["simple","classic"],"example":"classic","default":"classic","type":"string"},"required":false,"description":"The manner in which the system creates the security key.\n\n* `simple` — Use a single key for both KSK and ZSK. Use this value when the `algo_nom` parameter is greater than `8`.\n* `classic` — Use separate keys for KSK and ZSK. Use this value when the `algo_nom` parameter is equal to or less than `8`."},{"in":"query","name":"active","schema":{"type":"integer","example":1,"default":1,"enum":[0,1]},"description":"Whether to activate the newly-created key.\n\n* `1` — Activate the key.\n* `0` — Do **not** activate the key.","required":false}],"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.","x-rollback":"none","tags":["DNSSEC","DNS Security"],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"result":{"properties":{"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"metadata":{"properties":{}},"status":{"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","enum":[0,1],"example":1,"type":"integer"},"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null},"data":{"example":{"enabled":{"example.com":{"nsec_version":"NSEC3","enabled":1,"new_key_id":"1"}}},"type":"object","properties":{"enabled":{"type":"object","properties":{"additionalProperties":{"type":"object","properties":{"nsec_version":{"type":"string","enum":["NSEC3","NSEC"],"description":"The version of DNSSEC the system used.\n\n* `NSEC3`\n* `NSEC`"},"enabled":{"enum":[1,0],"description":"Whether the system enabled DNSSEC.\n\n* `1` — The system enabled DNSSEC.\n* `0` — The system failed to enable DNSSEC.","type":"integer"},"new_key_id":{"description":"The assigned security key ID.","example":1,"type":"integer"}},"description":"Information about the domain for which the system\nenabled DNSSEC.\n\n**Note:**\n\nThis return's name is the `domain` parameter's value."}},"description":"An object containing information about the domains for which the system enabled DNSSEC."}}},"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"},"example":null,"type":"array","nullable":true}},"type":"object"},"module":{"type":"string","description":"The name of the module called.","example":"DNSSEC"},"func":{"description":"The name of the method called.","example":"enable_dnssec","type":"string"},"apiversion":{"type":"integer","description":"The version of the API.","example":3}},"type":"object"}}},"description":"HTTP Request was successful."}},"x-readonly":false,"operationId":"DNSSEC-enable_dnssec","summary":"Enable DNSSEC","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  DNSSEC \\\n  enable_dnssec \\\n  domain='example.com'\n","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/DNSSEC/enable_dnssec?domain=example.com","lang":"HTTP","label":"URL"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DNSSEC_enable_dnssec.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DNSSEC_enable_dnssec.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DNSSEC/,\n    q/enable_dnssec/,\n    {\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DNSSEC_enable_dnssec.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DNSSEC_enable_dnssec.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DNSSEC',\n    'enable_dnssec',\n    array (\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 60","x-cpanel-api-version":"UAPI"}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}},"security":[{"BasicAuth":[]}],"tags":[{"name":"DNSSEC","description":"The DNSSEC module for UAPI."},{"name":"DNS Security","description":"DNS / DNS Security"}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"url":"https://{host}:{port}/execute"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"x-tagGroups":[{"tags":["DNS Security"],"name":"DNS"}]},"import_zone_key":{"paths":{"/DNSSEC/import_zone_key":{"get":{"tags":["DNSSEC","DNS Security"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"type":"integer","description":"The version of the API.","example":3},"func":{"type":"string","description":"The name of the method called.","example":"import_zone_key"},"module":{"example":"DNSSEC","description":"The name of the module called.","type":"string"},"result":{"properties":{"errors":{"nullable":true,"type":"array","example":null,"description":"List of errors if the API failed.","items":{"type":"string"}},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}},"warnings":{"type":"array","nullable":true,"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"},"example":null},"data":{"properties":{"new_key_id":{"description":"The security key's ID.","example":"1","type":"string"},"success":{"type":"integer","description":"Whether the system imported the security key.\n\n* `1` - The system imported the security key.\n* `0` - The system **failed** to import the security key.","example":1,"enum":[0,1]},"domain":{"example":"example.com","description":"The domain for which the system imported the zone key.","format":"domain","type":"string"},"error":{"type":"string","example":"Error: Invalid key_id or domain specified: No such key present for domain.","description":"An error message that describes why the system could not import the security key.\n\n**Note:**\n\nThe function **only** displays this return when the `success` return is a `0` value."}},"type":"object","example":{"domain":"example.com","success":1,"new_key_id":"1"}},"metadata":{"properties":{}},"status":{"type":"integer","description":"* `1` - Success\n* `0` - Failed: Check the errors field for more details.","example":1,"enum":[0,1]}},"type":"object"}}}}}}},"x-readonly":false,"operationId":"DNSSEC-import_zone_key","x-cpanel-available-version":"cPanel 84","x-codeSamples":[{"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","lang":"Shell","label":"CLI"},{"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","lang":"HTTP","label":"URL"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DNSSEC_import_zone_key.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DNSSEC_import_zone_key.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DNSSEC/,\n    q/import_zone_key/,\n    {\n        'domain' => 'example.com',\n        'key_type' => 'ksk',\n        'key_data' => 'Private-key-format:%20v1.2%0AAlgorithm:%2013%20\\(ECDSAP256SHA256\\)%0APrivateKey:%20xCM281KtWE9oCsUX8fP1hDZ02/X7JCjp4QZA/DZjfX0=%0A%0A',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DNSSEC_import_zone_key.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DNSSEC_import_zone_key.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DNSSEC',\n    'import_zone_key',\n    array (\n        'domain' => 'example.com',\n        'key_type' => 'ksk',\n        'key_data' => 'Private-key-format:%20v1.2%0AAlgorithm:%2013%20\\(ECDSAP256SHA256\\)%0APrivateKey:%20xCM281KtWE9oCsUX8fP1hDZ02/X7JCjp4QZA/DZjfX0=%0A%0A',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Add DNSSEC security key","x-cpanel-api-version":"UAPI","parameters":[{"schema":{"example":"example.com","format":"domain","type":"string"},"required":true,"description":"The security key's domain.","in":"query","name":"domain"},{"description":"The security key's type.\n\n* `ksk`\n* `zsk`","required":true,"schema":{"example":"ksk","enum":["ksk","zsk"],"type":"string"},"name":"key_type","in":"query"},{"description":"The security key data that the [`pdnsutil`](https://doc.powerdns.com/authoritative/manpages/pdnsutil.1.html)\nutility's `export-zone-key` call returns.","required":true,"schema":{"example":"Private-key-format:%20v1.2%0AAlgorithm:%2013%20\\(ECDSAP256SHA256\\)%0APrivateKey:%20xCM281KtWE9oCsUX8fP1hDZ02/X7JCjp4QZA/DZjfX0=%0A%0A","type":"string"},"in":"query","name":"key_data"}],"description":"This function imports a DNSSEC security key.\n\n**Important:**\n\nWhen you disable the [DNS role](https://go.cpanel.net/serverroles), the system **disables** this function.","x-rollback":"none"}}},"security":[{"BasicAuth":[]}],"x-tagGroups":[{"tags":["DNS Security"],"name":"DNS"}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"servers":[{"url":"https://{host}:{port}/execute","variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"description":"The cPanel port.","default":"2083"}},"description":"A server running cPanel."}],"tags":[{"name":"DNSSEC","description":"The DNSSEC module for UAPI."},{"name":"DNS Security","description":"DNS / DNS Security"}],"openapi":"3.0.2","externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}}},"unset_nsec3":{"paths":{"/DNSSEC/unset_nsec3":{"get":{"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"type":"integer","description":"The version of the API.","example":3},"result":{"properties":{"status":{"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","example":1,"enum":[0,1],"type":"integer"},"data":{"properties":{"disabled":{"properties":{"additionalProperties":{"type":"integer","enum":[1,0],"description":"Whether the system disabled NSEC3 on the domain.\n\n* `1` — Disabled.\n* `0` — The system failed to disable NSEC3.\n\n**Note:**\n\nThis return's name is the `domain` parameter's value."}},"type":"object","description":"A list of the domains for which the system disabled NSEC3."}},"type":"object","example":{"disabled":{"example.com":1}}},"warnings":{"nullable":true,"type":"array","example":null,"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"}},"metadata":{"properties":{}},"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}}},"type":"object"},"module":{"type":"string","example":"DNSSEC","description":"The name of the module called."},"func":{"description":"The name of the method called.","example":"unset_nsec3","type":"string"}}}}}}},"tags":["DNSSEC","DNS Security"],"x-readonly":false,"operationId":"DNSSEC-unset_nsec3","summary":"Update domain to use NSEC","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  DNSSEC \\\n  unset_nsec3 \\\n  domain='example.com'\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/DNSSEC/unset_nsec3?domain=example.com","label":"URL","lang":"HTTP"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DNSSEC_unset_nsec3.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DNSSEC_unset_nsec3.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DNSSEC/,\n    q/unset_nsec3/,\n    {\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DNSSEC_unset_nsec3.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DNSSEC_unset_nsec3.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DNSSEC',\n    'unset_nsec3',\n    array (\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 60","x-cpanel-api-version":"UAPI","parameters":[{"in":"query","name":"domain","description":"The domain on which to disable NSEC3 semantics and use NSEC semantics.","required":true,"schema":{"example":"example.com","type":"string"}}],"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.","x-rollback":"none"}}},"security":[{"BasicAuth":[]}],"openapi":"3.0.2","servers":[{"url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}},"description":"A server running cPanel."}],"tags":[{"name":"DNSSEC","description":"The DNSSEC module for UAPI."},{"name":"DNS Security","description":"DNS / DNS Security"}],"x-tagGroups":[{"tags":["DNS Security"],"name":"DNS"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999"}},"add_zone_key":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/"},"security":[{"BasicAuth":[]}],"x-tagGroups":[{"tags":["DNS Security"],"name":"DNS"}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"openapi":"3.0.2","servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"description":"A server running cPanel."}],"tags":[{"description":"The DNSSEC module for UAPI.","name":"DNSSEC"},{"description":"DNS / DNS Security","name":"DNS Security"}],"paths":{"/DNSSEC/add_zone_key":{"get":{"parameters":[{"description":"The domain on which to enable DNSSEC.","required":true,"schema":{"example":"example.com","format":"domain","type":"string"},"name":"domain","in":"query"},{"name":"algo_num","in":"query","schema":{"enum":[5,6,7,8,10,13,14],"example":8,"type":"integer"},"required":true,"description":"The algorithm that the system uses to generate the security key.\n\n* `5` — RSA/SHA-1\n* `6` — DSA-NSEC3-SHA1\n* `7` — RSASHA1-NSEC3-SHA1\n* `8` — RSA/SHA-256\n* `10` — RSA/SHA-512\n* `13` — ECDSA Curve P-256 with SHA-256\n* `14` — ECDSA Curve P-384 with SHA-384\n\n**Note:**\n\nWe recommend that you use 'ECDSA Curve P-256 with SHA-256' if your registrar supports it."},{"name":"key_type","in":"query","schema":{"example":"ksk","enum":["ksk","zsk"],"type":"string"},"required":true,"description":"The type of key to add.\n\n* `ksk`\n* `zsk`"},{"in":"query","name":"key_size","schema":{"type":"integer","maximum":2048,"minimum":256,"example":2048},"required":false,"description":"The key's size, in bits.\n\n**Note:**\n\nFor the following `algo_num` and `key_type` parameters, the `key_size` defaults to the following values:\n* `5` — ksk `2048` zsk `1024`\n* `6` — ksk `2048` zsk `1024`\n* `7` — ksk `2048` zsk `1024`\n* `8` — ksk `2048` zsk `1024`\n* `10` — ksk `2048` zsk `1024`\n* `13` — ksk `256` zsk `256`\n* `14` — ksk `384` zsk `384` "},{"required":false,"description":"Whether to activate the newly-created key.\n\n* `1` — Activate the key.\n* `0` — Do **not** activate the key.","schema":{"default":1,"example":1,"enum":[0,1],"type":"integer"},"in":"query","name":"active"}],"x-rollback":"none","description":"This function generates a DNSSEC zone key for a domain.\n\n**Note:**\n\n* After you enable DNSSEC on the domain, you **must** add the DS records to your registrar.\n* You **cannot** modify the DNSSEC security key. To make any changes, you **must** disable (and delete) and re-create the DNSSEC security key.\n\n**Important:**\n\nWhen you disable the [DNS role](https://go.cpanel.net/serverroles), the system **disables** this function.","operationId":"DNSSEC-add_zone_key","x-readonly":false,"tags":["DNSSEC","DNS Security"],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"module":{"type":"string","description":"The name of the module called.","example":"DNSSEC"},"result":{"type":"object","properties":{"status":{"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","example":1,"enum":[0,1],"type":"integer"},"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null},"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null},"metadata":{"properties":{}},"data":{"type":"object","properties":{"error":{"description":"An error message that describes why the system could not add the security key.\n\n**Note:**\n\nThe function **only** displays this return when the `success` return is a `0` value.","example":"Error: Invalid key_id or domain specified: No such key present for domain.","type":"string"},"domain":{"description":"The domain for which the system added a security key.","example":"example.com","type":"string","format":"domain"},"success":{"description":"Whether the system added the security key.\n\n* `1` — The system added the security key.\n* `0` — The system failed to add the security key.","example":1,"enum":[1,0],"type":"integer"},"new_key_id":{"description":"The security key's ID.","example":"1","type":"string"}}},"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"},"example":null,"type":"array","nullable":true}}},"func":{"example":"add_zone_key","description":"The name of the method called.","type":"string"},"apiversion":{"type":"integer","description":"The version of the API.","example":3}},"type":"object"}}},"description":"HTTP Request was successful."}},"x-cpanel-api-version":"UAPI","summary":"Create DNSSEC security key","x-cpanel-available-version":"cPanel 84","x-codeSamples":[{"lang":"Shell","label":"CLI","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"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/DNSSEC/add_zone_key?domain=example.com&algo_num=8&key_type=ksk","lang":"HTTP","label":"URL"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DNSSEC_add_zone_key.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DNSSEC_add_zone_key.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DNSSEC/,\n    q/add_zone_key/,\n    {\n        'domain' => 'example.com',\n        'algo_num' => '8',\n        'key_type' => 'ksk',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DNSSEC_add_zone_key.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DNSSEC_add_zone_key.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DNSSEC',\n    'add_zone_key',\n    array (\n        'domain' => 'example.com',\n        'algo_num' => '8',\n        'key_type' => 'ksk',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}]}}}},"deactivate_zone_key":{"paths":{"/DNSSEC/deactivate_zone_key":{"get":{"x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  DNSSEC \\\n  deactivate_zone_key \\\n  domain='example.com' \\\n  key_id='1'\n","lang":"Shell","label":"CLI"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/DNSSEC/deactivate_zone_key?domain=example.com&key_id=1"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DNSSEC_deactivate_zone_key.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DNSSEC_deactivate_zone_key.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DNSSEC/,\n    q/deactivate_zone_key/,\n    {\n        'domain' => 'example.com',\n        'key_id' => '1',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DNSSEC_deactivate_zone_key.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DNSSEC_deactivate_zone_key.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DNSSEC',\n    'deactivate_zone_key',\n    array (\n        'domain' => 'example.com',\n        'key_id' => '1',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"summary":"Disable DNSSEC security key","x-cpanel-available-version":"cPanel 84","x-cpanel-api-version":"UAPI","tags":["DNSSEC","DNS Security"],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"func":{"example":"deactivate_zone_key","description":"The name of the method called.","type":"string"},"module":{"example":"DNSSEC","description":"The name of the module called.","type":"string"},"result":{"properties":{"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"},"data":{"type":"object","properties":{"key_id":{"example":"1","description":"The security key's ID.","type":"string"},"success":{"description":"Whether the system deactivated the security key.\n\n* `1` - Deactivated.\n* `0` - The system failed to deactivate the security key.","enum":[1,0],"example":1,"type":"integer"},"error":{"type":"string","description":"An error message that describes why the system could not\ndeactivate the security key.\n\n**Note**\n\nThe function **only** displays this return when the `success` return is a `0` value.","example":"Error:  Invalid key_id or domain specified: No such key present for domain."},"domain":{"type":"string","format":"domain","example":"example.com","description":"The domain for which the system deactivated a security key."}}},"warnings":{"nullable":true,"type":"array","example":null,"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"}},"metadata":{"properties":{}},"status":{"example":1,"enum":[0,1],"description":"* `1` - Success\n* `0` - Failed. Check the errors field for more details.","type":"integer"}},"type":"object"}},"type":"object"}}},"description":"HTTP Request was successful."}},"operationId":"DNSSEC-deactivate_zone_key","x-readonly":false,"description":"This function deactivates a DNSSEC security key.\n\n**Important:**\n\nWhen you disable the [*DNS* role](https://go.cpanel.net/serverroles/), the system **disables** this function.","x-rollback":"none","parameters":[{"description":"The security key's domain.","required":true,"schema":{"example":"example.com","type":"string","format":"domain"},"name":"domain","in":"query"},{"in":"query","name":"key_id","schema":{"minimum":1,"example":1,"type":"integer"},"required":true,"description":"The security key's ID."}]}}},"security":[{"BasicAuth":[]}],"servers":[{"url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}},"description":"A server running cPanel."}],"tags":[{"description":"The DNSSEC module for UAPI.","name":"DNSSEC"},{"description":"DNS / DNS Security","name":"DNS Security"}],"openapi":"3.0.2","components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"tags":["DNS Security"],"name":"DNS"}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"}}},"export_zone_dnskey":{"paths":{"/DNSSEC/export_zone_dnskey":{"get":{"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"func":{"type":"string","example":"export_zone_dnskey","description":"The name of the method called."},"module":{"example":"DNSSEC","description":"The name of the module called.","type":"string"},"result":{"properties":{"status":{"example":1,"enum":[0,1],"description":"* `1` - Success\n* `0` - Failed: Check the errors field for more details.","type":"integer"},"errors":{"example":null,"items":{"type":"string"},"description":"List of errors if the API failed.","nullable":true,"type":"array"},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}},"data":{"properties":{"dnskey":{"example":"AwEAAch8SGW4vE6PjFWA9rbUm0AfTq+gJ0HC/nLu+2axdWHBIStt9lsOzKDorAr4vlmhlJzEzA62s96xp6mZ7XHUyWnkFwLs8obo6upL2in4h1ToOxzVl3lTs8O+kWtDq5/h1nwFlPDs9zpLJhlkTCtx2OTGbvimEYeqwPolUuSQR/Yb","description":"The DNSKEY record value.","type":"string"},"key_id":{"minimum":1,"description":"The DNSSEC record's ID.","example":12345,"type":"integer"},"success":{"type":"integer","description":"Whether the DNSKEY record exported successfully.\n\n* `1` - The system exported the record successfully.\n* `0` - The system failed to export the record.","example":1,"enum":[0,1]}},"type":"object"},"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API."},"metadata":{"properties":{}}},"type":"object"}},"type":"object"}}}}},"parameters":[{"schema":{"example":"example.com","type":"string","format":"domain"},"description":"The domain from which to fetch the DNSKEY record value.","required":true,"in":"query","name":"domain"},{"name":"key_id","in":"query","description":"The DNSSEC record's ID.","required":true,"schema":{"type":"integer","minimum":1,"example":12345}}],"tags":["DNSSEC","DNS Security"],"x-readonly":true,"operationId":"DNSSEC-export_zone_dnskey","description":"This function exports a domain's DNSKEY record value.\n\n**Important:**\n\nWhen you disable the [_DNS_ role](https://go.cpanel.net/serverroles), the system **disables** this function.","x-codeSamples":[{"lang":"Shell","label":"CLI","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"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DNSSEC_export_zone_dnskey.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DNSSEC_export_zone_dnskey.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DNSSEC/,\n    q/export_zone_dnskey/,\n    {\n        'domain' => 'example.com',\n        'key_id' => '12345',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DNSSEC_export_zone_dnskey.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DNSSEC_export_zone_dnskey.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DNSSEC',\n    'export_zone_dnskey',\n    array (\n        'domain' => 'example.com',\n        'key_id' => '12345',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 88","summary":"Export DNSKEY record value","x-cpanel-api-version":"UAPI"}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"},"termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999"},"security":[{"BasicAuth":[]}],"servers":[{"variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"name":"DNSSEC","description":"The DNSSEC module for UAPI."},{"name":"DNS Security","description":"DNS / DNS Security"}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"x-tagGroups":[{"name":"DNS","tags":["DNS Security"]}]},"activate_zone_key":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"},"version":"11.89.0.9999","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/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/"},"security":[{"BasicAuth":[]}],"servers":[{"url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}},"description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"description":"The DNSSEC module for UAPI.","name":"DNSSEC"},{"description":"DNS / DNS Security","name":"DNS Security"}],"x-tagGroups":[{"name":"DNS","tags":["DNS Security"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"paths":{"/DNSSEC/activate_zone_key":{"get":{"x-readonly":false,"operationId":"DNSSEC-activate_zone_key","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"func":{"description":"The name of the method called.","example":"activate_zone_key","type":"string"},"result":{"properties":{"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"metadata":{"properties":{}},"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null},"data":{"properties":{"success":{"type":"integer","example":1,"enum":[1,0],"description":"Whether the system activated the security key.\n* `1` - Activated.\n* `0` - The system failed to activate the security key. "},"key_id":{"type":"string","example":"1","description":"The security key's ID."},"domain":{"type":"string","format":"domain","description":"The domain for which the system activated a security key.","example":"example.com"},"error":{"type":"string","description":"An error message that describes why the system could not activate the security key.\n\n**Note:**\n\nThe function **only** displays this return when the `success` return is a `0` value.","example":"Error: Invalid key_id or domain specified: No such key present for domain."}},"type":"object","example":{"domain":"example.com","key_id":"1","success":1}},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"status":{"type":"integer","example":1,"enum":[0,1],"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details."}},"type":"object"},"module":{"type":"string","description":"The name of the module called.","example":"DNSSEC"},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}},"type":"object"}}}}},"tags":["DNSSEC","DNS Security"],"summary":"Enable DNSSEC security key","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  DNSSEC \\\n  activate_zone_key \\\n  domain='example.com' \\\n  key_id='1'\n","lang":"Shell","label":"CLI"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/DNSSEC/activate_zone_key?domain=example.com&key_id=1"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DNSSEC_activate_zone_key.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DNSSEC_activate_zone_key.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DNSSEC/,\n    q/activate_zone_key/,\n    {\n        'domain' => 'example.com',\n        'key_id' => '1',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DNSSEC_activate_zone_key.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DNSSEC_activate_zone_key.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DNSSEC',\n    'activate_zone_key',\n    array (\n        'domain' => 'example.com',\n        'key_id' => '1',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"x-cpanel-available-version":"cPanel 84","x-cpanel-api-version":"UAPI","parameters":[{"description":"The security key's domain.","required":true,"schema":{"example":"example.com","type":"string","format":"domain"},"in":"query","name":"domain"},{"name":"key_id","in":"query","description":"The security key's ID.","required":true,"schema":{"type":"integer","minimum":1,"example":1}}],"x-rollback":"none","description":"This function activates a DNSSEC security key.\n\n**Important:**\n\nWhen you disable the [DNS role](https://go.cpanel.net/serverroles), the system **disables** this function."}}}}},"Personalization":{"set":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/","contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}},"security":[{"BasicAuth":[]}],"tags":[{"description":"The Personalization module for UAPI.","name":"Personalization"}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute"}],"x-tagGroups":[{"tags":["Personalization"],"name":"cPanel Account"}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"paths":{"/Personalization/set":{"post":{"x-rollback":"none","description":"This function saves its data to an NVData file on disk. cPanel\nNVData is a per-account configuration storage mechanism that you can use to\nmaintain persistent cPanel & WHM settings across multiple sessions. This includes\ncustom settings for your own themes and plugins.\n\n**Note:**\n\nNVData keys and values are limited to 128 and 2048 bytes, respectively.","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"personalization":{"description":"The NVData keys and values to update.","additionalProperties":{"type":"string"},"type":"object"}},"example":{"personalization":{"milk":"cold","coffee":"hot"}}}}},"required":true},"parameters":[],"x-cpanel-api-version":"UAPI","summary":"Save NVData data to file","x-cpanel-available-version":"cPanel 74","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"echo '{\"personalization\":{\"coffee\":\"hot\",\"milk\":\"cold\"}}' | \\\nuapi --input=json --output=jsonpretty \\\n  --user=username \\\n  Personalization \\\n  set"},{"lang":"HTTP","label":"HTTP Request (Wire Format)","source":"POST /cpsess##########/execute/Personalization/set HTTP/1.1\nHost: example.com:2083\nCookie: ###################################\nContent-Type: application/json\nContent-Length: 50\n\n{\"personalization\":{\"coffee\":\"hot\",\"milk\":\"cold\"}}"}],"operationId":"Personalization-set","x-readonly":false,"tags":["Personalization"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"func":{"type":"string","example":"set","description":"The name of the method called."},"module":{"type":"string","example":"Personalization","description":"The name of the module called."},"result":{"properties":{"errors":{"example":null,"description":"List of errors if the API failed.","items":{"type":"string"},"nullable":true,"type":"array"},"messages":{"items":{"type":"string"},"description":"List of messages generated by the API.","example":null,"type":"array","nullable":true},"warnings":{"example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","nullable":true,"type":"array"},"data":{"properties":{"personalization":{"additionalProperties":{"properties":{"success":{"type":"integer","enum":[0,1],"example":1,"description":"Whether the function successfully saved the value on the server.\n  - `1` — Successful.\n  - `0` — Unsuccessful."},"reason":{"description":"The message that describes the failure if `success` returns `0`, or `OK` if `success` returns `1`.","example":"OK","type":"string"},"value":{"nullable":true,"type":"string","description":"The value stored for the associated NVData key, or a null value if the key does not exist in the store."}},"type":"object"},"description":"The saved NVData information stored on the server.\n\n**Note:**\n\nYou set this return's name based on the keys that you provide in the `personalization` parameter."}},"type":"object","example":{"milk":{"value":"cold","reason":"OK","success":1},"coffee":{"success":1,"reason":"OK","value":"hot"}}},"metadata":{"properties":{}},"status":{"description":"- `1` — Success\n- `0` — Failed: Check the errors field for more details.","enum":[0,1],"example":1,"type":"integer"}},"type":"object"},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}},"type":"object"}}}}}}}}},"get":{"info":{"contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/"},"externalDocs":{"url":"https://cpanel.net/developers/"},"x-tagGroups":[{"name":"cPanel Account","tags":["Personalization"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"openapi":"3.0.2","tags":[{"name":"Personalization","description":"The Personalization module for UAPI."}],"servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"description":"A server running cPanel."}],"security":[{"BasicAuth":[]}],"paths":{"/Personalization/get":{"post":{"x-readonly":true,"operationId":"Personalization-get","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"module":{"type":"string","description":"The name of the module called.","example":"Personalization"},"result":{"properties":{"metadata":{"properties":{}},"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null},"status":{"enum":[0,1],"example":1,"description":"- `1` — Success\n- `0` — Failed: Check the errors field for more details.","type":"integer"},"warnings":{"type":"array","nullable":true,"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"},"example":null},"data":{"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":{"type":"integer","example":1,"enum":[0,1],"description":"Whether the function successfully retrieved the value from the server.\n  - `1` — Successful.\n  - `0` — Unsuccessful."},"value":{"description":"The value stored for the associated NVData key, or a null value if the key does not exist in the store.","type":"string","nullable":true}},"type":"object"},"description":"The retrieved NVData information stored on the server.\n\n**Note:**\n\n* You set this return's name based on the keys that you provide in the `personalization` parameter with the UAPI `Personalization::set` function.\n* This return's name is the NVData key's name."}},"type":"object","example":{"coffee":{"success":1,"reason":"OK","value":"hot"},"milk":{"value":"cold","success":1,"reason":"OK"}}},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}}},"type":"object"},"func":{"type":"string","description":"The name of the method called.","example":"get"},"apiversion":{"type":"integer","example":3,"description":"The version of the API."}},"type":"object"}}}}},"tags":["Personalization"],"x-cpanel-api-version":"UAPI","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"echo '{\"names\":[\"coffee\",\"milk\"]}' | \\\nuapi --input=json --output=jsonpretty \\\n  --user=username \\\n  Personalization \\\n  get"},{"lang":"HTTP","label":"HTTP Request (Wire Format)","source":"POST /cpsess##########/execute/Personalization/get HTTP/1.1\nHost: example.com:2083\nCookie: ###################################\nContent-Type: application/json\nContent-Length: 27\n\n{\"names\":[\"coffee\",\"milk\"]}"}],"summary":"Retrieve NVData data from file","x-cpanel-available-version":"cPanel 74","requestBody":{"required":true,"content":{"application/json":{"schema":{"example":{"names":["coffee","milk"]},"properties":{"names":{"type":"array","description":"List of NVData keys to query the server about.","items":{"type":"string"}}},"type":"object"}}}},"parameters":[],"description":"This function retrieves the data from an NVData file on disk. cPanel\nNVData is a per-account configuration storage mechanism that you can use to\nmaintain persistent cPanel & WHM settings across multiple sessions. This includes\ncustom settings for your own themes and plugins.\n\n**Note:**\n\nNVData keys and values are limited to 128 and 2048 bytes, respectively."}}}}},"GPG":{"list_public_keys":{"security":[{"BasicAuth":[]}],"tags":[{"description":"The GPG module for UAPI.","name":"GPG"},{"name":"Signing and Encryption (GnuPG Keys)","description":"Email / Signing and Encryption (GnuPG Keys)"}],"openapi":"3.0.2","servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"description":"A server running cPanel."}],"x-tagGroups":[{"tags":["Signing and Encryption (GnuPG Keys)"],"name":"Email"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"paths":{"/GPG/list_public_keys":{"get":{"description":"This function lists the GnuPG (GPG) public keys for the\ncurrently-authenticated account.","x-cpanel-available-version":"cPanel 82","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  GPG \\\n  list_public_keys\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/GPG/list_public_keys","label":"URL","lang":"HTTP"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file GPG_list_public_keys.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/GPG_list_public_keys.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/GPG/,\n    q/list_public_keys/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file GPG_list_public_keys.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/GPG_list_public_keys.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'GPG',\n    'list_public_keys'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Return current user's GnuPG public keys","x-cpanel-api-version":"UAPI","operationId":"GPG-list_public_keys","x-readonly":true,"tags":["GPG","Signing and Encryption (GnuPG Keys)"],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"module":{"description":"The name of the module called.","example":"GPG","type":"string"},"result":{"type":"object","properties":{"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"messages":{"description":"List of messages generated by the API.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API."},"data":{"items":{"type":"object","properties":{"id":{"type":"string","description":"The key's ID.","example":"C801294347601B8F"},"expires":{"type":"string","example":"1590774435","description":"When the key will expire,\nin [Unix time format](http://en.wikipedia.org/wiki/Unix_time).\n\n**Note:**\n\nIf the key does not expire,\nthis will be an empty string."},"user_id":{"type":"string","description":"The user ID of the key which consists of the following space-separated values:\n* The username.\n* The key's comment in parentheses.\n* The key's email address in angle brackets (<>).","example":"bender (is great) <bender@example.com>"},"bits":{"enum":[1024,2048,3072,4096],"example":2048,"description":"The length of the key, in bits.","minimum":1024,"maximum":4096,"type":"integer"},"created":{"example":"1559238435","description":"The creation time for the key,\nin [Unix time format](http://en.wikipedia.org/wiki/Unix_time).","type":"string"},"type":{"description":"The type of key.\n\n**Note:**\n\nThis will always be \"pub\" because we are listing public keys.","enum":["pub"],"example":"pub","type":"string"},"algorithm":{"example":"DSA","enum":["RSA","DSA"],"description":"The key's algorithm.\n* RSA\n* DSA","type":"string"}}},"type":"array"},"metadata":{"properties":{}},"status":{"type":"integer","example":1,"enum":[0,1],"description":"- `1` - Success\n- `0` - Failed. Check the `errors` field for more details."}}},"func":{"description":"The name of the method called.","example":"list_public_keys","type":"string"}},"type":"object"}}},"description":"HTTP Request was successful."}},"parameters":[]}}}},"generate_key":{"paths":{"/GPG/generate_key":{"get":{"x-cpanel-api-version":"UAPI","summary":"Create GnuPG key","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  GPG \\\n  generate_key \\\n  name='username' \\\n  email='user@example.com'\n  passphrase='123456luggage'\n","lang":"Shell","label":"CLI"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/GPG/generate_key?name=username&email=user%40example.com"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file GPG_generate_key.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/GPG_generate_key.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/GPG/,\n    q/generate_key/,\n    {\n        'name' => 'username',\n        'email' => 'user@example.com',\n        'passphrase' => '123456luggage',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file GPG_generate_key.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/GPG_generate_key.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'GPG',\n    'generate_key',\n    array (\n        'name' => 'username',\n        'email' => 'user@example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-available-version":"cPanel 82","description":"This function generates a GnuPG (GPG) key. The system saves the key in the user's `.gnupg` directory.\n\n**Note:**\n\nThis function uses [the system's entropy](https://en.wikipedia.org/wiki/Entropy_(computing)) to generate the key. Systems with low entropy levels may cause long generation times or timeouts.","x-rollback":"none","parameters":[{"in":"query","name":"name","required":true,"description":"The name of the user for whom to generate the key.","schema":{"format":"username","type":"string","example":"username"}},{"name":"comment","in":"query","schema":{"type":"string","example":"Username's Key"},"description":"A comment about the key.","required":false},{"schema":{"type":"string","format":"email","example":"user@example.com"},"description":"The user's email address.","required":true,"in":"query","name":"email"},{"in":"query","name":"expire","required":false,"description":"The desired expiration date of the key\nas a timestamp in [Unix time format](http://en.wikipedia.org/wiki/Unix_time).\n\n**Note:**\n\nThis will default to one year from the current date.","schema":{"type":"string","example":"1560363242"}},{"description":"Whether to generate the key without an expiration date.\n\n* `0` - The key will expire.\n* `1` - The key will **not** expire.","required":false,"schema":{"default":0,"enum":[0,1],"example":0,"type":"integer"},"in":"query","name":"no_expire"},{"description":"The new key's size, in bytes.\n\n**Note:**\n\nLarge keys require more time to generate.","required":false,"schema":{"default":2048,"enum":[1024,2048,3072,4096],"example":2048,"minimum":1024,"maximum":4096,"type":"integer"},"in":"query","name":"keysize"},{"name":"passphrase","in":"query","schema":{"type":"string","example":"123456luggage"},"description":"The key's password.","required":true}],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"module":{"example":"GPG","description":"The name of the module called.","type":"string"},"result":{"properties":{"status":{"type":"integer","example":1,"enum":[0,1],"description":"- `1` - Success.\n- `0` - Failed. Check the `errors` field for more details."},"data":{"default":null,"nullable":true,"type":"object"},"warnings":{"example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","nullable":true,"type":"array"},"metadata":{"properties":{}},"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"messages":{"description":"List of messages generated by the API.","items":{"type":"string"},"example":null,"type":"array","nullable":true}}},"func":{"description":"The name of the method called.","example":"generate_key","type":"string"},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}},"type":"object"}}}}},"tags":["GPG","Signing and Encryption (GnuPG Keys)"],"operationId":"GPG-generate_key","x-readonly":false}}},"openapi":"3.0.2","tags":[{"name":"GPG","description":"The GPG module for UAPI."},{"description":"Email / Signing and Encryption (GnuPG Keys)","name":"Signing and Encryption (GnuPG Keys)"}],"servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}}}],"x-tagGroups":[{"name":"Email","tags":["Signing and Encryption (GnuPG Keys)"]}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"security":[{"BasicAuth":[]}],"info":{"title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"}},"export_public_key":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"},"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"}},"security":[{"BasicAuth":[]}],"openapi":"3.0.2","servers":[{"variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"tags":[{"name":"GPG","description":"The GPG module for UAPI."},{"name":"Signing and Encryption (GnuPG Keys)","description":"Email / Signing and Encryption (GnuPG Keys)"}],"x-tagGroups":[{"name":"Email","tags":["Signing and Encryption (GnuPG Keys)"]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"paths":{"/GPG/export_public_key":{"get":{"x-cpanel-api-version":"UAPI","description":"This function exports a GnuPG (GPG) public key.","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  GPG \\\n  export_public_key \\\n  key_id='48BEA5A16FCA746E'\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/GPG/export_public_key?key_id=48BEA5A16FCA746E","lang":"HTTP","label":"URL"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file GPG_export_public_key.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/GPG_export_public_key.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/GPG/,\n    q/export_public_key/,\n    {\n        'key_id' => '48BEA5A16FCA746E',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file GPG_export_public_key.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/GPG_export_public_key.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'GPG',\n    'export_public_key',\n    array (\n        'key_id' => '48BEA5A16FCA746E',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"summary":"Export GnuPG public key","x-cpanel-available-version":"cPanel 82","x-readonly":true,"operationId":"GPG-export_public_key","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"result":{"type":"object","properties":{"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"data":{"properties":{"key_data":{"example":"-----BEGIN PGP PUBLIC KEY BLOCK-----\nVersion: GnuPG v2.0.22 (GNU/Linux)\n\nmQMuBFzwFyMRCADgNf7GHvCgb2/HWBYVAzu408eXEO4ucWGfbD5c5BOHg7WBVOkh\nj+J0HYaeh9FwOXLJAzesiGtTU/HQ5wNkBbKRYR2oNEUbiefBgQhjllIGJNnFCQbD\nTcyxXjKUF4aQBw6InqzM9akVChLvGoCfom/y1fcwrQ5OQ46EEjhe9lSnj1E2DIi+\n0PvOsWeehChtn28WkmXPcl+XovfsCl5vh2RnJQeJwkSwBogA1GObj9fnPBbrIUt2\nF5JDaJ7/R8aDwV1Pg2mBmRqTBIKvx6gxEQgCL52OWCKVJfqy5oVGDl/2u0BGCaRt\n3Tnh9B14Lk8frBaOjYMtMq1Rl3rPDc3KCRnLAQC6dMNJCxIoyfeEFqj0HgwHETYn\nQNGwUaRrOGKLJbMnewf/Yq0S2R6YvMl8pDQeSExYJaqv/u2Hch6GM0f3CSvMnPSg\noB2c/h4MmhmiAbymSO5GBaM4Nx3NTNYU0JpghkTTJpucFZ8hK/aJ8PDQzBnS0zTY\nF8ZqSMFL84QB1NTd1nlJnilpKCkBC6NHUh76IyLQEsH7jgOG9L28qnLxm8bGHwaJ\nmhEH2Y859WzN9hUTZEMxdklI8uwdI+msI7md0uNYiWr5svtM+rrpU+LCZMG+nTCy\n6q0CNLXM0T0Fa642mYSqV307Ouv5rjGvfohIOo5X8ikBoEIOAQk6LX800OzzYGG4\nX75Q4irMuehEK3tId5VIRToy9MRLP6fyOVHwfhzD6Af/R2TJjIdEkEGdspuw9875\nN4z9xV2QNVNgURIOutrfeKSbb7gRLgV7TWpKWItMoEO1njzb4YqoHwcAASj4TDaT\niCYun6u12Mb97L0S3QDaD3sLk7P5sZvnO//k/YxbGISv+HGl5rSF87kVectLYpAL\nehL2EBmyxP4nxhSDOqhc0rbaqOZ+b4F1ns4NsUJjxIqQJZ+ovTqkmKnh3YbBeMAb\nsPcjyfQNmYE9qFXw17vJMm6ypNsuDIvxKCDq4QpO3/MujYX0Hg7aGOq4aWtndcL0\nPfpukTLvTA+AedMj+0QHWiP15bSxCJKqa0O62mKWnrzL0Tju8FKTwVHgRoW57GY/\nZbQmYmVuZGVyIChpcyBncmVhdCkgPGJlbmRlckBleGFtcGxlLmNvbT6IgQQTEQgA\nKQUCXPAXIwIbIwUJAeEzgAcLCQgHAwIBBhUIAgkKCwQWAgMBAh4BAheAAAoJEEi+\npaFvynRuACUA/1/usChuLicDwCbBlJpcYWaAkt4bC4z+wFAONKnwwlHoAQCq3GRM\nto4CkoB6pK1Zh+s5SitojUFrKEj8CJNkAQOGaLkCDQRc8BcjEAgA4CY3AKnkIvSz\nfcsFCf1NmZipQGLChs3iIhqa3NPiopYpYMNTdCZkkDMSDM40+d/LthpYnbzYVgPB\nN9OFMdL/ndf/yu0jPEZE1uEpxvH1X/x2IecMy7wm51usxpBWwSw7BTLfA9ASzDtH\n8fnkid2qY2J6fNWZDA5wrNR4auVKDkqKsatMC75GkHcT2NevLdh8SuYH60kQsmvD\nOkuE4ufIwzlnQ4HFKsYTxn6QIQY18entu563f+RCoUCNv2J0zxXFzvy+eo568+Uh\nx4Irz9OQRNUh/82a2HF10oUvkPEtCDlMy8gISEqnU1i2Ry8IsbUrvhz+my5yb5Gm\nZz+xOKWTiwADBQf/YOYKvHIWw4/vsbLUPMmjDdMfsnT0haDlLerCSHhY+ZLzYQdz\n/7hC4Qt/5EvaGeXkwAPzr0T4PvVOQUUAiskvDNScYQxS5KxyrHAqoKkF4EDJ9MyK\nDqEN6dF9IDOxuA1g0cOX7THPm3GjRh3BjOaHnN5jXKwT85Cs7hj7u1q9Cm59RUzJ\nwRKyxo9eR3pJMR+8E0VW8oRe/7O/Qvh54ShD7NkfgUhIWcriR9MjoGp0gnpCOH52\nLrfdczCIzAoUC4Q3Jm80sCeZAqf4CNHZ0TxqxuwG+ZkfbCBViM4TVXDEufA4IENM\nmEu2bNWDLkRrrNme+S4HEeNRuSg8EOpFUuwPI4hnBBgRCAAPBQJc8BcjAhsMBQkB\n4TOAAAoJEEi+paFvynRu0YsA/0rluXh9ij3Np4O/KWuL2L8zcOrJJ7mNFuw0wkpY\nfZ3NAP9ayHG+70XellsQ/E3lR8fkRwqDDRh43w7ukhJEfkcY9A==\n=yyST\n-----END PGP PUBLIC KEY BLOCK-----\n","description":"The GPG public key's contents.","type":"string"}},"type":"object"},"metadata":{"properties":{}},"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"messages":{"items":{"type":"string"},"description":"List of messages generated by the API.","example":null,"type":"array","nullable":true},"status":{"type":"integer","description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","enum":[0,1],"example":1}}},"module":{"description":"The name of the module called.","example":"GPG","type":"string"},"func":{"description":"The name of the method called.","example":"export_public_key","type":"string"}},"type":"object"}}},"description":"HTTP Request was successful."}},"parameters":[{"schema":{"type":"string","example":"48BEA5A16FCA746E"},"description":"The ID of the GPG key.","required":true,"name":"key_id","in":"query"}],"tags":["GPG","Signing and Encryption (GnuPG Keys)"]}}}},"delete_keypair":{"paths":{"/GPG/delete_keypair":{"get":{"tags":["GPG","Signing and Encryption (GnuPG Keys)"],"parameters":[{"name":"key_id","in":"query","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.","required":true,"schema":{"example":"ACFFDB37176B680D","type":"string"}}],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"func":{"type":"string","example":"delete_keypair","description":"The name of the method called."},"module":{"type":"string","example":"GPG","description":"The name of the module called."},"result":{"properties":{"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"metadata":{"properties":{}},"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API."},"data":{"type":"object","nullable":true,"default":null},"status":{"description":"* 1 — Success.\n* 0 — Failed. Check the `errors` field for more details.","enum":[1,0],"example":1,"type":"integer"}}},"apiversion":{"example":3,"description":"The version of the API.","type":"integer"}}}}}}},"x-readonly":false,"operationId":"GPG-delete_keypair","x-cpanel-api-version":"UAPI","description":"This function deletes a GnuPG (GPG) key pair.","summary":"Delete GnuPG key pair","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  GPG \\\n  delete_keypair \\\n  key_id='ACFFDB37176B680D'\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/GPG/delete_keypair?key_id=ACFFDB37176B680D","label":"URL","lang":"HTTP"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file GPG_delete_keypair.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/GPG_delete_keypair.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/GPG/,\n    q/delete_keypair/,\n    {\n        'key_id' => 'ACFFDB37176B680D',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file GPG_delete_keypair.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/GPG_delete_keypair.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'GPG',\n    'delete_keypair',\n    array (\n        'key_id' => 'ACFFDB37176B680D',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 82","x-rollback":"none"}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"}},"security":[{"BasicAuth":[]}],"x-tagGroups":[{"tags":["Signing and Encryption (GnuPG Keys)"],"name":"Email"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"openapi":"3.0.2","servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"description":"A server running cPanel."}],"tags":[{"description":"The GPG module for UAPI.","name":"GPG"},{"description":"Email / Signing and Encryption (GnuPG Keys)","name":"Signing and Encryption (GnuPG Keys)"}]},"list_secret_keys":{"paths":{"/GPG/list_secret_keys":{"get":{"operationId":"GPG-list_secret_keys","x-readonly":true,"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"module":{"type":"string","description":"The name of the module called.","example":"GPG"},"result":{"type":"object","properties":{"status":{"type":"integer","example":1,"enum":[1,0],"description":"* `1` — `Success`.\n* `0` — `Failed`. Check the `errors` field for more details."},"metadata":{"properties":{}},"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"},"example":null,"type":"array","nullable":true},"data":{"items":{"type":"object","properties":{"id":{"type":"string","description":"The key's ID.","example":"738538C1"},"user_id":{"type":"string","example":"username (John Doe) <username@example.com>","description":"The user ID of the key. The system returns this value as a space-separated string with the following values:\n\n* The username.\n* A comment in parentheses.\n* The key's email address in angle brackets (`<>`)."},"created":{"example":1559238435,"description":"When the function created the key.","type":"integer","format":"unix_timestamp"},"algorithm":{"type":"string","description":"The key's algorithm.\n* `RSA`\n* `DSA`","example":"DSA","enum":["RSA","DSA"]},"type":{"enum":["sec"],"example":"sec","description":"The type of key.\n\n* `sec` is the only possible value.","type":"string"},"bits":{"description":"The key's length.","example":2048,"minimum":1024,"maximum":4096,"multipleOf":1024,"type":"integer"},"expires":{"type":"integer","format":"unix_timestamp","example":1590774435,"description":"When the key will expire."}}},"type":"array"},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}},"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."}}},"func":{"description":"The name of the method called.","example":"list_secret_keys","type":"string"},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}}}}}}},"parameters":[],"tags":["GPG","Signing and Encryption (GnuPG Keys)"],"description":"This function lists the GnuPG (GPG) secret keys for the currently-authenticated account.","summary":"Return current user's GnuPG secret keys","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  GPG \\\n  list_secret_keys\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/GPG/list_secret_keys","label":"URL","lang":"HTTP"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file GPG_list_secret_keys.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/GPG_list_secret_keys.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/GPG/,\n    q/list_secret_keys/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file GPG_list_secret_keys.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/GPG_list_secret_keys.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'GPG',\n    'list_secret_keys'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-available-version":"cPanel 82","x-cpanel-api-version":"UAPI"}}},"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"x-tagGroups":[{"tags":["Signing and Encryption (GnuPG Keys)"],"name":"Email"}],"openapi":"3.0.2","tags":[{"name":"GPG","description":"The GPG module for UAPI."},{"description":"Email / Signing and Encryption (GnuPG Keys)","name":"Signing and Encryption (GnuPG Keys)"}],"servers":[{"variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"security":[{"BasicAuth":[]}],"info":{"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"}},"import_key":{"paths":{"/GPG/import_key":{"get":{"operationId":"GPG-import_key","x-readonly":false,"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"func":{"description":"The name of the method called.","example":"import_key","type":"string"},"module":{"type":"string","example":"GPG","description":"The name of the module called."},"result":{"properties":{"metadata":{"properties":{}},"warnings":{"example":null,"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"},"data":{"type":"object","properties":{"key_id":{"description":"The key's ID.","example":"59E79B6904616529","type":"string"}}},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}},"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null},"status":{"type":"integer","example":1,"enum":[0,1],"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details."}},"type":"object"},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}}}}},"description":"HTTP Request was successful."}},"tags":["GPG","Signing and Encryption (GnuPG Keys)"],"x-cpanel-available-version":"cPanel 82","summary":"Import GnuPG key","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  GPG \\\n  import_key \\\n  key_data='%0A-----BEGIN%20PGP%20PUBLIC%20KEY%20BLOCK-----%0AVersion%3A%20GnuPG%20v2.0.14%20(GNU%2FLinux)%0A%0AmQENBFN0%2BOsBCADoFvyf8gHIKZ%2F%2B5KwbWb3Ht%2Fz1ukyQqFNGpBVIqHossmjmyF9e%0APn6iiZ0fHnt7r6XGGXaP%2BKKjIxAcqOTiFiP%2BHIx6GQubzVih6Ol0YNjzmK%2Ft4f%2B4%0AfSElEVnyzeyJa4LmC%2Fui%2FvvtptJ8JX6su7f11BwUTSyuqnk204AfN5uVpAcZNPT0%0A0qNNky1bxYvPUxU6Imvi1q3NtpFzqsQ4u%2FyZuLpUe7uwmgMPeO0lAms1kCa3Guot%0A3mfSt0vrUAMdcV4drY1FGtYZdYSa4rSTzpFuB7o9Ze%2BE3fUbCWs1%2B0FiN3JQNGO1%0AS2lnqjEqbpz2nHtA50elJRGqxZLEi8zkFqlTABEBAAG0Z2NQYW5lbCBTZWN1cml0%0AeSBUZWFtIC0gVEVTVCAoVEhJUyBJUyBBIFRFU1QgS0VZOyBETyBOT1QgVVNFIEZP%0AUiBBTllUSElORyBSRUFMISkgPHNlY3RlYW1zaXhAY3BhbmVsLm5ldD6JAT4EEwEC%0AACgFAlN0%2BOsCGwMFCQHhM4AGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEOhU%0A60c9RtoRkhMIAIe2yDKj55mGD3zbuGqxx6NNNIyiuEujw31N8yOS9BKTqGtIiK9i%0AGu4lzrzmHISKi0rjKmJdbckap7OouUoo9WR3ewjN6S5EHyjKfrrMwMzTWMPZOkTj%0A7A698X0vGc9yZ6KyBj8mM8J9duvNtRS285hfXfQxYO%2FuiyrJGBedI%2FWVZ3a7mcfq%0A7FhC8t6jU6sz9uIvYHAzywcVdmhEK5rS%2FuE%2F9e37h46jn2%2BkzlIWEe%2FYgpa%2BuWdT%0AO%2BOyqteW51LEjXLWMyP8AJEq8EoqbqKnm4Q1g0etOQ9trrkLUnPxaSwD5R6i4KLH%0AMR%2Fh7m%2FOoz8yOhUlrCGJwX7v9qDEdaYYFLQ%3D%0A%3DMEFZ%0A-----END%20PGP%20PUBLIC%20KEY%20BLOCK-----%0A'\n"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/GPG/import_key?key_data=%250A-----BEGIN%2520PGP%2520PUBLIC%2520KEY%2520BLOCK-----%250AVersion%253A%2520GnuPG%2520v2.0.14%2520%28GNU%252FLinux%29%250A%250AmQENBFN0%252BOsBCADoFvyf8gHIKZ%252F%252B5KwbWb3Ht%252Fz1ukyQqFNGpBVIqHossmjmyF9e%250APn6iiZ0fHnt7r6XGGXaP%252BKKjIxAcqOTiFiP%252BHIx6GQubzVih6Ol0YNjzmK%252Ft4f%252B4%250AfSElEVnyzeyJa4LmC%252Fui%252FvvtptJ8JX6su7f11BwUTSyuqnk204AfN5uVpAcZNPT0%250A0qNNky1bxYvPUxU6Imvi1q3NtpFzqsQ4u%252FyZuLpUe7uwmgMPeO0lAms1kCa3Guot%250A3mfSt0vrUAMdcV4drY1FGtYZdYSa4rSTzpFuB7o9Ze%252BE3fUbCWs1%252B0FiN3JQNGO1%250AS2lnqjEqbpz2nHtA50elJRGqxZLEi8zkFqlTABEBAAG0Z2NQYW5lbCBTZWN1cml0%250AeSBUZWFtIC0gVEVTVCAoVEhJUyBJUyBBIFRFU1QgS0VZOyBETyBOT1QgVVNFIEZP%250AUiBBTllUSElORyBSRUFMISkgPHNlY3RlYW1zaXhAY3BhbmVsLm5ldD6JAT4EEwEC%250AACgFAlN0%252BOsCGwMFCQHhM4AGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEOhU%250A60c9RtoRkhMIAIe2yDKj55mGD3zbuGqxx6NNNIyiuEujw31N8yOS9BKTqGtIiK9i%250AGu4lzrzmHISKi0rjKmJdbckap7OouUoo9WR3ewjN6S5EHyjKfrrMwMzTWMPZOkTj%250A7A698X0vGc9yZ6KyBj8mM8J9duvNtRS285hfXfQxYO%252FuiyrJGBedI%252FWVZ3a7mcfq%250A7FhC8t6jU6sz9uIvYHAzywcVdmhEK5rS%252FuE%252F9e37h46jn2%252BkzlIWEe%252FYgpa%252BuWdT%250AO%252BOyqteW51LEjXLWMyP8AJEq8EoqbqKnm4Q1g0etOQ9trrkLUnPxaSwD5R6i4KLH%250AMR%252Fh7m%252FOoz8yOhUlrCGJwX7v9qDEdaYYFLQ%253D%250A%253DMEFZ%250A-----END%2520PGP%2520PUBLIC%2520KEY%2520BLOCK-----%250A"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file GPG_import_key.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/GPG_import_key.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/GPG/,\n    q/import_key/,\n    {\n        'key_data' => '%0A-----BEGIN%20PGP%20PUBLIC%20KEY%20BLOCK-----%0AVersion%3A%20GnuPG%20v2.0.14%20(GNU%2FLinux)%0A%0AmQENBFN0%2BOsBCADoFvyf8gHIKZ%2F%2B5KwbWb3Ht%2Fz1ukyQqFNGpBVIqHossmjmyF9e%0APn6iiZ0fHnt7r6XGGXaP%2BKKjIxAcqOTiFiP%2BHIx6GQubzVih6Ol0YNjzmK%2Ft4f%2B4%0AfSElEVnyzeyJa4LmC%2Fui%2FvvtptJ8JX6su7f11BwUTSyuqnk204AfN5uVpAcZNPT0%0A0qNNky1bxYvPUxU6Imvi1q3NtpFzqsQ4u%2FyZuLpUe7uwmgMPeO0lAms1kCa3Guot%0A3mfSt0vrUAMdcV4drY1FGtYZdYSa4rSTzpFuB7o9Ze%2BE3fUbCWs1%2B0FiN3JQNGO1%0AS2lnqjEqbpz2nHtA50elJRGqxZLEi8zkFqlTABEBAAG0Z2NQYW5lbCBTZWN1cml0%0AeSBUZWFtIC0gVEVTVCAoVEhJUyBJUyBBIFRFU1QgS0VZOyBETyBOT1QgVVNFIEZP%0AUiBBTllUSElORyBSRUFMISkgPHNlY3RlYW1zaXhAY3BhbmVsLm5ldD6JAT4EEwEC%0AACgFAlN0%2BOsCGwMFCQHhM4AGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEOhU%0A60c9RtoRkhMIAIe2yDKj55mGD3zbuGqxx6NNNIyiuEujw31N8yOS9BKTqGtIiK9i%0AGu4lzrzmHISKi0rjKmJdbckap7OouUoo9WR3ewjN6S5EHyjKfrrMwMzTWMPZOkTj%0A7A698X0vGc9yZ6KyBj8mM8J9duvNtRS285hfXfQxYO%2FuiyrJGBedI%2FWVZ3a7mcfq%0A7FhC8t6jU6sz9uIvYHAzywcVdmhEK5rS%2FuE%2F9e37h46jn2%2BkzlIWEe%2FYgpa%2BuWdT%0AO%2BOyqteW51LEjXLWMyP8AJEq8EoqbqKnm4Q1g0etOQ9trrkLUnPxaSwD5R6i4KLH%0AMR%2Fh7m%2FOoz8yOhUlrCGJwX7v9qDEdaYYFLQ%3D%0A%3DMEFZ%0A-----END%20PGP%20PUBLIC%20KEY%20BLOCK-----%0A',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file GPG_import_key.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/GPG_import_key.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'GPG',\n    'import_key',\n    array (\n        'key_data' => '%0A-----BEGIN%20PGP%20PUBLIC%20KEY%20BLOCK-----%0AVersion%3A%20GnuPG%20v2.0.14%20(GNU%2FLinux)%0A%0AmQENBFN0%2BOsBCADoFvyf8gHIKZ%2F%2B5KwbWb3Ht%2Fz1ukyQqFNGpBVIqHossmjmyF9e%0APn6iiZ0fHnt7r6XGGXaP%2BKKjIxAcqOTiFiP%2BHIx6GQubzVih6Ol0YNjzmK%2Ft4f%2B4%0AfSElEVnyzeyJa4LmC%2Fui%2FvvtptJ8JX6su7f11BwUTSyuqnk204AfN5uVpAcZNPT0%0A0qNNky1bxYvPUxU6Imvi1q3NtpFzqsQ4u%2FyZuLpUe7uwmgMPeO0lAms1kCa3Guot%0A3mfSt0vrUAMdcV4drY1FGtYZdYSa4rSTzpFuB7o9Ze%2BE3fUbCWs1%2B0FiN3JQNGO1%0AS2lnqjEqbpz2nHtA50elJRGqxZLEi8zkFqlTABEBAAG0Z2NQYW5lbCBTZWN1cml0%0AeSBUZWFtIC0gVEVTVCAoVEhJUyBJUyBBIFRFU1QgS0VZOyBETyBOT1QgVVNFIEZP%0AUiBBTllUSElORyBSRUFMISkgPHNlY3RlYW1zaXhAY3BhbmVsLm5ldD6JAT4EEwEC%0AACgFAlN0%2BOsCGwMFCQHhM4AGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEOhU%0A60c9RtoRkhMIAIe2yDKj55mGD3zbuGqxx6NNNIyiuEujw31N8yOS9BKTqGtIiK9i%0AGu4lzrzmHISKi0rjKmJdbckap7OouUoo9WR3ewjN6S5EHyjKfrrMwMzTWMPZOkTj%0A7A698X0vGc9yZ6KyBj8mM8J9duvNtRS285hfXfQxYO%2FuiyrJGBedI%2FWVZ3a7mcfq%0A7FhC8t6jU6sz9uIvYHAzywcVdmhEK5rS%2FuE%2F9e37h46jn2%2BkzlIWEe%2FYgpa%2BuWdT%0AO%2BOyqteW51LEjXLWMyP8AJEq8EoqbqKnm4Q1g0etOQ9trrkLUnPxaSwD5R6i4KLH%0AMR%2Fh7m%2FOoz8yOhUlrCGJwX7v9qDEdaYYFLQ%3D%0A%3DMEFZ%0A-----END%20PGP%20PUBLIC%20KEY%20BLOCK-----%0A',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-api-version":"UAPI","parameters":[{"in":"query","name":"key_data","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"},"description":"The key to import.\n\n**Note:**\n\nYou must URI-encode this value.","required":true}],"x-rollback":"none","description":"This function imports a GnuPG (GPG) key."}}},"security":[{"BasicAuth":[]}],"tags":[{"name":"GPG","description":"The GPG module for UAPI."},{"description":"Email / Signing and Encryption (GnuPG Keys)","name":"Signing and Encryption (GnuPG Keys)"}],"openapi":"3.0.2","servers":[{"variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"x-tagGroups":[{"tags":["Signing and Encryption (GnuPG Keys)"],"name":"Email"}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"version":"11.89.0.9999","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/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}}},"export_secret_key":{"paths":{"/GPG/export_secret_key":{"get":{"parameters":[{"required":true,"description":"The ID of the GPG secret key that you wish to retrieve.","schema":{"type":"string","example":"48BEA5A16FCA746E"},"name":"key_id","in":"query"},{"in":"query","name":"passphrase","schema":{"type":"string","example":"whatever"},"required":false,"description":"The passphrase of the GPG secret key that you wish to retrieve."}],"description":"This function exports a GnuPG (GPG) secret key.","x-rollback":"none","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"description":"The version of the API.","example":3,"type":"integer"},"module":{"description":"The name of the module called.","example":"GPG","type":"string"},"result":{"type":"object","properties":{"status":{"description":"- 1 - Success.\n- 0 - Failed. Check the `errors` field for more details.","enum":[0,1],"example":1,"type":"integer"},"data":{"properties":{"key_data":{"example":"-----BEGIN PGP PRIVATE KEY BLOCK-----\nVersion: GnuPG v2.0.22 (GNU/Linux)\n\nlQNTBFzwFyMRCADgNf7GHvCgb2/HWBYVAzu408eXEO4ucWGfbD5c5BOHg7WBVOkh\nj+J0HYaeh9FwOXLJAzesiGtTU/HQ5wNkBbKRYR2oNEUbiefBgQhjllIGJNnFCQbD\nTcyxXjKUF4aQBw6InqzM9akVChLvGoCfom/y1fcwrQ5OQ46EEjhe9lSnj1E2DIi+\n0PvOsWeehChtn28WkmXPcl+XovfsCl5vh2RnJQeJwkSwBogA1GObj9fnPBbrIUt2\nF5JDaJ7/R8aDwV1Pg2mBmRqTBIKvx6gxEQgCL52OWCKVJfqy5oVGDl/2u0BGCaRt\n3Tnh9B14Lk8frBaOjYMtMq1Rl3rPDc3KCRnLAQC6dMNJCxIoyfeEFqj0HgwHETYn\nQNGwUaRrOGKLJbMnewf/Yq0S2R6YvMl8pDQeSExYJaqv/u2Hch6GM0f3CSvMnPSg\noB2c/h4MmhmiAbymSO5GBaM4Nx3NTNYU0JpghkTTJpucFZ8hK/aJ8PDQzBnS0zTY\nF8ZqSMFL84QB1NTd1nlJnilpKCkBC6NHUh76IyLQEsH7jgOG9L28qnLxm8bGHwaJ\nmhEH2Y859WzN9hUTZEMxdklI8uwdI+msI7md0uNYiWr5svtM+rrpU+LCZMG+nTCy\n6q0CNLXM0T0Fa642mYSqV307Ouv5rjGvfohIOo5X8ikBoEIOAQk6LX800OzzYGG4\nX75Q4irMuehEK3tId5VIRToy9MRLP6fyOVHwfhzD6Af/R2TJjIdEkEGdspuw9875\nN4z9xV2QNVNgURIOutrfeKSbb7gRLgV7TWpKWItMoEO1njzb4YqoHwcAASj4TDaT\niCYun6u12Mb97L0S3QDaD3sLk7P5sZvnO//k/YxbGISv+HGl5rSF87kVectLYpAL\nehL2EBmyxP4nxhSDOqhc0rbaqOZ+b4F1ns4NsUJjxIqQJZ+ovTqkmKnh3YbBeMAb\nsPcjyfQNmYE9qFXw17vJMm6ypNsuDIvxKCDq4QpO3/MujYX0Hg7aGOq4aWtndcL0\nPfpukTLvTA+AedMj+0QHWiP15bSxCJKqa0O62mKWnrzL0Tju8FKTwVHgRoW57GY/\nZQABALMunDJSN+b/VyFzqifGvopLxJFqA4un4WjGEY9jvJooD7e0JmJlbmRlciAo\naXMgZ3JlYXQpIDxiZW5kZXJAZXhhbXBsZS5jb20+iIEEExEIACkFAlzwFyMCGyMF\nCQHhM4AHCwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRBIvqWhb8p0bgAlAP9f\n7rAobi4nA8AmwZSaXGFmgJLeGwuM/sBQDjSp8MJR6AEAqtxkTLaOApKAeqStWYfr\nOUoraI1BayhI/AiTZAEDhmidAj0EXPAXIxAIAOAmNwCp5CL0s33LBQn9TZmYqUBi\nwobN4iIamtzT4qKWKWDDU3QmZJAzEgzONPnfy7YaWJ282FYDwTfThTHS/53X/8rt\nIzxGRNbhKcbx9V/8diHnDMu8JudbrMaQVsEsOwUy3wPQEsw7R/H55IndqmNienzV\nmQwOcKzUeGrlSg5KirGrTAu+RpB3E9jXry3YfErmB+tJELJrwzpLhOLnyMM5Z0OB\nxSrGE8Z+kCEGNfHp7buet3/kQqFAjb9idM8Vxc78vnqOevPlIceCK8/TkETVIf/N\nmthxddKFL5DxLQg5TMvICEhKp1NYtkcvCLG1K74c/psucm+Rpmc/sTilk4sAAwUH\n/2DmCrxyFsOP77Gy1DzJow3TH7J09IWg5S3qwkh4WPmS82EHc/+4QuELf+RL2hnl\n5MAD869E+D71TkFFAIrJLwzUnGEMUuSscqxwKqCpBeBAyfTMig6hDenRfSAzsbgN\nYNHDl+0xz5txo0YdwYzmh5zeY1ysE/OQrO4Y+7tavQpufUVMycESssaPXkd6STEf\nvBNFVvKEXv+zv0L4eeEoQ+zZH4FISFnK4kfTI6BqdIJ6Qjh+di633XMwiMwKFAuE\nNyZvNLAnmQKn+AjR2dE8asbsBvmZH2wgVYjOE1VwxLnwOCBDTJhLtmzVgy5Ea6zZ\nnvkuBxHjUbkoPBDqRVLsDyMAAVIC+56gmf2bW2mDuoFFUW6KT6jorvvbmXSZHi1L\nAGhQj/Q83gRejq2g+DYiFlCIZwQYEQgADwUCXPAXIwIbDAUJAeEzgAAKCRBIvqWh\nb8p0btGLAPsFHEqEg/qrEpjFu/9B8KvBWBgqIJm9XtDgaVaaHjzR4AD/XcrEvMuc\nPVYssXICwKbDwxWEYqhpI6ms0IOob0PH8hE=\n=W2NA\n-----END PGP PRIVATE KEY BLOCK-----","description":"The GPG key's contents.","type":"string"}},"type":"object"},"warnings":{"example":null,"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.","items":{"type":"string"},"nullable":true,"type":"array"},"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null},"metadata":{"properties":{}},"errors":{"nullable":true,"type":"array","example":null,"description":"List of errors if the API failed.","items":{"type":"string"}}}},"func":{"example":"export_secret_key","description":"The name of the method called.","type":"string"}}}}}}},"tags":["GPG","Signing and Encryption (GnuPG Keys)"],"operationId":"GPG-export_secret_key","x-readonly":false,"x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  GPG \\\n  export_secret_key \\\n  key_id='48BEA5A16FCA746E'\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/GPG/export_secret_key?key_id=48BEA5A16FCA746E","label":"URL","lang":"HTTP"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file GPG_export_secret_key.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/GPG_export_secret_key.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/GPG/,\n    q/export_secret_key/,\n    {\n        'key_id' => '48BEA5A16FCA746E',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file GPG_export_secret_key.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/GPG_export_secret_key.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'GPG',\n    'export_secret_key',\n    array (\n        'key_id' => '48BEA5A16FCA746E',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 82","summary":"Export GnuPG secret key","x-cpanel-api-version":"UAPI"}}},"tags":[{"description":"The GPG module for UAPI.","name":"GPG"},{"description":"Email / Signing and Encryption (GnuPG Keys)","name":"Signing and Encryption (GnuPG Keys)"}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute"}],"x-tagGroups":[{"name":"Email","tags":["Signing and Encryption (GnuPG Keys)"]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"security":[{"BasicAuth":[]}],"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.","version":"11.89.0.9999","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/"},"externalDocs":{"url":"https://cpanel.net/developers/"}}},"Backup":{"restore_databases":{"paths":{"/Backup/restore_databases":{"post":{"parameters":[{"examples":{"multiple":{"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","summary":"Restore multiple database backup files."},"single":{"value":"home/user/user_db1.sql.gz","summary":"Restore a single database backup file."}},"description":"The database backup file to restore.\n\n**Important:**\n\n**Only** pass this parameter to restore files already on the server.\n\n**Note:**\n\nTo restore multiple database backup files, increment the parameter name. For example: `backup-1`, `backup-2`, and `backup-3`.","required":false,"schema":{"type":"string"},"in":"query","name":"backup"},{"in":"query","name":"verbose","schema":{"type":"integer","default":0,"enum":[0,1],"example":1},"description":"Whether to return additional information from the `/usr/local/cpanel/logs/cpbackup` log file.\n* `1` - Return additional information.\n* `0` - Do **not** return additional information.","required":false},{"name":"timeout","in":"query","description":"The maximum number of seconds to try to restore the file.\n* `0` - The system will not time out the file restoration.","required":false,"schema":{"type":"integer","example":3600,"default":7200,"minimum":0}}],"requestBody":{"description":"The database backup file to upload and restore.\n\n**Important:**\n\n* **Only** pass this parameter to upload files that don't already exist on the server.\n* You can **not** pass this parameter on the command line.\n\n**Note:**\n\n* To upload multiple database backup files, increment the parameter name. For example: `file-1`, `file-2`, and `file-3`.\n* Pass this file in a multipart/form-data structure.\n* For more information about this structure, read Mozilla's [POST Method](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/POST) documentation.","content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"format":"binary","type":"string"}}}}}},"description":"This function restores a database's backup files.\n\n**Important:**\n\nWhen the [MySQL Client role](https://go.cpanel.net/howtouseserverprofiles#roles) is disabled, the system also **disables** this function.\n\n**Note:**\n\nYou **must** pass either the `file` **or** `backup` parameter.","x-rollback":"none","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"description":"The version of the API.","example":3,"type":"integer"},"module":{"type":"string","description":"The name of the module called.","example":"Backup"},"result":{"properties":{"warnings":{"nullable":true,"type":"array","example":null,"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"}},"data":{"properties":{"log_path":{"format":"path","type":"string","description":"The filepath to the backup restoration's log file.","example":"/home/cptest/logs/restoredb/2019-08-13T15:10:07Z.1.log"},"messages":{"type":"array","items":{"example":"The system successfully restored the database 'user_db1' from the backup file 'user_db1.sql.gz'","type":"string"},"description":"An array of statements about the database's restoration."},"log_id":{"example":"2019-08-13T15:10:07Z.1","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.","type":"string"}},"type":"object"},"metadata":{"properties":{}},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}},"status":{"type":"integer","enum":[0,1],"example":1,"description":"* `1` - Success\n* `0` - Failed: Check the errors field for more details."}},"type":"object"},"func":{"example":"restore_databases","description":"The name of the method called.","type":"string"}},"type":"object"}}}}},"tags":["File Restoration"],"operationId":"Backup-restore_databases","x-readonly":false,"x-cpanel-api-version":"UAPI","summary":"Restore databases","x-cpanel-available-version":"cPanel 84","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --input=json --output=jsonpretty \\\n  --user=username \\\n  Backup \\\n  restore_databases\n"},{"source":"POST /cpsess##########/execute/Backup/restore_databases HTTP/1.1\nHost: example.com:2083\nCookie: ###################################\nContent-Type: application/json\nContent-Length: 0\n\n","label":"HTTP Request (Wire Format)","lang":"HTTP"}]}}},"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"tags":["File Restoration"],"name":"cPanel Account Backups"}],"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."}}}],"openapi":"3.0.2","tags":[{"name":"File Restoration","description":"cPanel Account Backups / File Restoration"}],"security":[{"BasicAuth":[]}],"info":{"title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"}},"fullbackup_to_homedir":{"servers":[{"variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"description":"The Backup module for UAPI.","name":"Backup"}],"x-tagGroups":[{"name":"cPanel Account Backups","tags":["Backup"]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"security":[{"BasicAuth":[]}],"info":{"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/","contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/Backup/fullbackup_to_homedir":{"get":{"parameters":[{"name":"email","in":"query","schema":{"example":"username@example.com","type":"string","format":"email"},"required":false,"description":"The email address to receive a confirmation email when the backup process completes.\n\n**Note:**\n\nThe system does **not** provide confirmation if you do not pass this parameter."},{"name":"homedir","in":"query","required":false,"description":"How to manage the home directory in the backup.\n\n* `include` — Include the home directory in the backup.\n* `skip` — Omit the home directory from the backup.","schema":{"type":"string","enum":["include","skip"],"example":"include","default":"include"}}],"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.","x-rollback":"none","tags":["Backup"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"result":{"properties":{"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"},"errors":{"example":null,"description":"List of errors if the API failed.","items":{"type":"string"},"nullable":true,"type":"array"},"metadata":{"properties":{}},"data":{"type":"object","properties":{"pid":{"type":"string","description":"The backup's process identifier.","example":"2857"}}},"warnings":{"type":"array","nullable":true,"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"},"example":null},"status":{"example":1,"enum":[0,1],"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","type":"integer"}},"type":"object"},"module":{"description":"The name of the module called.","example":"Backup","type":"string"},"func":{"type":"string","description":"The name of the method called.","example":"fullbackup_to_homedir"}}}}}}},"operationId":"Backup-fullbackup_to_homedir","x-readonly":false,"x-cpanel-api-version":"UAPI","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Backup \\\n  fullbackup_to_homedir\n","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Backup/fullbackup_to_homedir","lang":"HTTP","label":"URL"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Backup_fullbackup_to_homedir.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Backup_fullbackup_to_homedir.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Backup/,\n    q/fullbackup_to_homedir/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Backup_fullbackup_to_homedir.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Backup_fullbackup_to_homedir.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Backup',\n    'fullbackup_to_homedir'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 78","summary":"Back up cPanel account to home directory"}}}},"restore_email_forwarders":{"paths":{"/Backup/restore_email_forwarders":{"post":{"parameters":[{"schema":{"type":"string"},"examples":{"multiple":{"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","summary":"Restore multiple email forwarder files."},"single":{"value":"/home/user/aliases-example.com.gz","summary":"Restore a single email forwarder file."}},"description":"The email forwarder file to restore.\n\n**Important:**\n\n**Only** pass this parameter to restore email forwarder files that already exist on the server.\n\n**Note:**\n\nTo restore multiple email filter files, increment the parameter name. For example: `backup-1`, `backup-2`, and `backup-3`.","required":false,"in":"query","name":"backup"},{"schema":{"default":0,"enum":[0,1],"example":1,"type":"integer"},"description":"Whether to return additional information from the `/home/cpuser/.cpanel/logs/restore-email-forwarders` log files.\n* `1` - Return additional information.\n* `0` - Do not return additional information.","required":false,"name":"verbose","in":"query"},{"name":"timeout","in":"query","required":false,"description":"The maximum number of seconds to try to restore the file.\n* `0` - The system will not time out the file restoration.","schema":{"type":"integer","minimum":0,"example":3600,"default":7200}}],"requestBody":{"description":"The email forwarder file to upload and restore.\n\n**Important:**\n\n* **Only** pass this parameter to upload files that don't already exist on the server.\n* You can't pass this parameter on the command line.\n\n**Note:**\n\nTo upload multiple email filter files, increment the parameter name. For example: `backup-1`, `backup-2`, and `backup-3`.","content":{"multipart/form-data":{"schema":{"properties":{"backup":{"format":"binary","type":"string"}},"type":"object"}}}},"description":"This function restores an account's email forwarders.\n\n**Important:**\n\nWhen the [Receive Mail role](https://go.cpanel.net/howtouseserverprofiles#roles) is disabled, the system also **disables** this function.\n\n**Note:**\n\nYou **must** use the `backup` parameter when you call this function in one of the following formats:\n* As part of a `multipart/form-data` request body to upload and restore a backup file to the server. For more information about this structure, read Mozilla's [POST Method](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/POST) documentation.\n* As a query parameter to restore an existing file on the server.","x-rollback":"none","tags":["File Restoration"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"func":{"description":"The name of the method called.","example":"restore_email_forwarders","type":"string"},"result":{"type":"object","properties":{"status":{"description":"* `1` - Success\n* `0` - Failed: Check the errors field for more details.","example":1,"enum":[0,1],"type":"integer"},"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"metadata":{"properties":{}},"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null,"type":"array","nullable":true},"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"},"messages":{"type":"array","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"}},"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","type":"string","format":"path"}},"type":"object"}}},"module":{"type":"string","example":"Backup","description":"The name of the module called."},"apiversion":{"type":"integer","example":3,"description":"The version of the API."}},"type":"object"}}}}},"operationId":"Backup-restore_email_forwarders","x-readonly":false,"x-codeSamples":[{"source":"uapi --input=json --output=jsonpretty \\\n  --user=username \\\n  Backup \\\n  restore_email_forwarders\n","label":"CLI","lang":"Shell"},{"label":"HTTP Request (Wire Format)","lang":"HTTP","source":"POST /cpsess##########/execute/Backup/restore_email_forwarders HTTP/1.1\nHost: example.com:2083\nCookie: ###################################\nContent-Type: application/json\nContent-Length: 0\n\n"}],"summary":"Restore email forwarders","x-cpanel-available-version":"cPanel 86","x-cpanel-api-version":"UAPI"}}},"servers":[{"variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"tags":[{"name":"File Restoration","description":"cPanel Account Backups / File Restoration"}],"openapi":"3.0.2","x-tagGroups":[{"tags":["File Restoration"],"name":"cPanel Account Backups"}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"security":[{"BasicAuth":[]}],"info":{"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"}},"fullbackup_to_scp_with_password":{"paths":{"/Backup/fullbackup_to_scp_with_password":{"get":{"operationId":"Backup-fullbackup_to_scp_with_password","x-readonly":false,"tags":["Backup"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"result":{"type":"object","properties":{"status":{"type":"integer","example":1,"enum":[0,1],"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details."},"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null},"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"metadata":{"properties":{}},"data":{"type":"object","properties":{"pid":{"example":"2857","description":"The backup's process identifier.","type":"string"}}},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null}}},"module":{"example":"Backup","description":"The name of the module called.","type":"string"},"func":{"type":"string","description":"The name of the method called.","example":"fullbackup_to_scp_with_password"},"apiversion":{"type":"integer","example":3,"description":"The version of the API."}}}}}}},"summary":"Back up cPanel account via SCP with password","x-codeSamples":[{"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":"CLI","lang":"Shell"},{"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"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Backup_fullbackup_to_scp_with_password.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Backup_fullbackup_to_scp_with_password.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Backup/,\n    q/fullbackup_to_scp_with_password/,\n    {\n        'host' => 'example.com',\n        'username' => 'username',\n        'password' => 'luggage123456',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Backup_fullbackup_to_scp_with_password.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Backup_fullbackup_to_scp_with_password.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Backup',\n    'fullbackup_to_scp_with_password',\n    array (\n        'host' => 'example.com',\n        'username' => 'username',\n        'password' => 'luggage123456',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-available-version":"cPanel 78","x-cpanel-api-version":"UAPI","parameters":[{"name":"host","in":"query","schema":{"type":"string","oneOf":[{"description":"A valid ipv4 address.","format":"ipv4","type":"string"},{"type":"string","format":"hostname","description":"A valid hostname."}],"example":"example.com"},"required":true,"description":"The remote server's hostname or IP address."},{"description":"The port to use during the transfer.","required":false,"schema":{"type":"integer","maximum":65335,"minimum":1,"default":22,"example":22},"name":"port","in":"query"},{"description":"How to manage the home directory in the backup.\n\n* `include` — Include the home directory in the backup.\n* `skip` — Omit the home directory from the backup.","required":false,"schema":{"default":"include","enum":["include","skip"],"example":"include","type":"string"},"in":"query","name":"homedir"},{"schema":{"example":"username","type":"string"},"required":true,"description":"The remote server account's username.","name":"username","in":"query"},{"in":"query","name":"password","description":"The remote server account's password.","required":true,"schema":{"example":"luggage123456","type":"string"}},{"schema":{"example":"/user","type":"string"},"description":"The directory on the remote server that will store the backup.\n\n**Note:**\n\nThis parameter defaults to the remote server account's default login directory.","required":false,"in":"query","name":"directory"},{"in":"query","name":"email","schema":{"example":"username@example.com","type":"string","format":"email"},"required":false,"description":"The email address to receive a confirmation email when the backup completes.\n\n**Note:**\n\nThe system does **not** provide confirmation if you do **not** pass this parameter."}],"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."}}},"info":{"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI"},"externalDocs":{"url":"https://cpanel.net/developers/"},"x-tagGroups":[{"name":"cPanel Account Backups","tags":["Backup"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"openapi":"3.0.2","servers":[{"url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}},"description":"A server running cPanel."}],"tags":[{"description":"The Backup module for UAPI.","name":"Backup"}],"security":[{"BasicAuth":[]}]},"fullbackup_to_ftp":{"info":{"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI"},"externalDocs":{"url":"https://cpanel.net/developers/"},"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"url":"https://{host}:{port}/execute"}],"tags":[{"description":"The Backup module for UAPI.","name":"Backup"}],"x-tagGroups":[{"name":"cPanel Account Backups","tags":["Backup"]}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"security":[{"BasicAuth":[]}],"paths":{"/Backup/fullbackup_to_ftp":{"get":{"parameters":[{"name":"variant","in":"query","schema":{"example":"active","default":"active","enum":["active","passive"],"type":"string"},"description":"Whether to use the `active` or `passive` FTP variant to connect to\nthe remote server. For more information about FTP variants, read our How\nto [Enable FTP Passive Mode](https://go.cpanel.net/HowtoEnableFTPPassiveMode) documentation.\n* `active` — The FTP server responds to the connection attempt and returns a connection request from a different port to the FTP client.\n* `passive` — The FTP client initiates connection attempts.","required":false},{"name":"username","in":"query","required":true,"description":"The remote server account's username.","schema":{"example":"username","type":"string"}},{"description":"The remote server account's password.","required":true,"schema":{"example":"luggage123456","type":"string"},"name":"password","in":"query"},{"required":true,"description":"The remote server's hostname or IP address.","schema":{"type":"string","oneOf":[{"format":"hostname","type":"string","description":"A valid hostname."},{"type":"string","format":"ipv4","description":"A valid IP address."}],"example":"example.com"},"name":"host","in":"query"},{"in":"query","name":"directory","schema":{"type":"string","example":"/public_ftp"},"required":false,"description":"The directory on the remote server that will store the backup.\n\n**Note:**\n\n* This value defaults to the remote server account's default login directory.\n* Enter the directory relative to the FTP user's login directory. For example, enter `/public_ftp` not `/home/username/public_ftp`."},{"in":"query","name":"port","description":"The port number to use during the transfer.","required":false,"schema":{"example":21,"default":21,"minimum":1,"maximum":65535,"type":"integer"}},{"schema":{"default":"include","enum":["include","skip"],"example":"include","type":"string"},"description":"How to manage the home directory in the backup.\n\n* `include` — Include the home directory in the backup.\n* `skip` — Omit the home directory from the backup.","required":false,"in":"query","name":"homedir"},{"in":"query","name":"email","schema":{"example":"username@example.com","format":"email","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.","required":false}],"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.","x-rollback":"none","tags":["Backup"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"module":{"type":"string","example":"Backup","description":"The name of the module called."},"result":{"properties":{"status":{"type":"integer","enum":[0,1],"example":1,"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details."},"errors":{"nullable":true,"type":"array","example":null,"description":"List of errors if the API failed.","items":{"type":"string"}},"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null},"data":{"type":"object","properties":{"pid":{"type":"string","description":"The backup's process identifier.","example":"2857"}}},"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API."},"metadata":{"properties":{}}},"type":"object"},"func":{"type":"string","example":"fullbackup_to_ftp","description":"The name of the method called."},"apiversion":{"type":"integer","description":"The version of the API.","example":3}}}}}}},"x-readonly":false,"operationId":"Backup-fullbackup_to_ftp","x-cpanel-available-version":"cPanel 78","summary":"Back up cPanel account via FTP","x-codeSamples":[{"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":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Backup/fullbackup_to_ftp?username=username&password=luggage123456&host=example.com","label":"URL","lang":"HTTP"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Backup_fullbackup_to_ftp.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Backup_fullbackup_to_ftp.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Backup/,\n    q/fullbackup_to_ftp/,\n    {\n        'username' => 'username',\n        'password' => 'luggage123456',\n        'host' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Backup_fullbackup_to_ftp.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Backup_fullbackup_to_ftp.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Backup',\n    'fullbackup_to_ftp',\n    array (\n        'username' => 'username',\n        'password' => 'luggage123456',\n        'host' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-api-version":"UAPI"}}}},"fullbackup_to_scp_with_key":{"security":[{"BasicAuth":[]}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}}}],"tags":[{"description":"The Backup module for UAPI.","name":"Backup"}],"x-tagGroups":[{"name":"cPanel Account Backups","tags":["Backup"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"}},"paths":{"/Backup/fullbackup_to_scp_with_key":{"get":{"operationId":"Backup-fullbackup_to_scp_with_key","x-readonly":false,"parameters":[{"schema":{"example":"example.com","oneOf":[{"format":"hostname","type":"string","description":"A valid hostname."},{"type":"string","format":"ipv4","description":"A valid IP address."}],"type":"string"},"description":"The remote server's hostname or IP address.","required":true,"name":"host","in":"query"},{"required":false,"description":"The port to use during the transfer.","schema":{"maximum":65335,"type":"integer","example":22,"default":22,"minimum":1},"in":"query","name":"port"},{"name":"homedir","in":"query","description":"How to manage the home directory in the backup.\n\n* `include` — Include the home directory in the backup.\n* `skip` — Omit the home directory from the backup.","required":false,"schema":{"default":"include","enum":["include","skip"],"example":"include","type":"string"}},{"schema":{"example":"examplesshkey","type":"string"},"description":"The SSH key's name.\n\n**Notes:**\n\n* To generate a private SSH key, use the UAPI `SSL::generate_key`\nfunction.\n* To import an existing SSH key, use the cPanel API 2\n`SSH::importkey` function.","required":true,"name":"key_name","in":"query"},{"name":"key_passphrase","in":"query","schema":{"example":"123456luggage","type":"string","minLength":4},"description":"The SSH key's password.","required":true},{"name":"directory","in":"query","schema":{"example":"/user","type":"string"},"description":"The directory on the remote server that will store the backup.\n\n**Note:**\n\nThis parameter defaults to the remote server account's default login directory.","required":false},{"schema":{"format":"email","type":"string","example":"username@example.com"},"description":"The email address to receive a confirmation email when the backup completes.\n\n**Note:**\n\nThe system does **not** provide confirmation if you do not pass this parameter.","required":false,"in":"query","name":"email"}],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"result":{"type":"object","properties":{"status":{"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","example":1,"enum":[0,1],"type":"integer"},"warnings":{"nullable":true,"type":"array","example":null,"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"}},"data":{"properties":{"pid":{"description":"The backup's process identifier.","example":"2857","type":"string"}},"type":"object"},"metadata":{"properties":{}},"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."}}},"module":{"description":"The name of the module called.","example":"Backup","type":"string"},"func":{"type":"string","description":"The name of the method called.","example":"fullbackup_to_scp_with_key"},"apiversion":{"example":3,"description":"The version of the API.","type":"integer"}},"type":"object"}}}}},"tags":["Backup"],"x-rollback":"none","summary":"Back up cPanel account via SCP with SSH key","x-codeSamples":[{"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","lang":"Shell","label":"CLI"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Backup/fullbackup_to_scp_with_key?host=example.com&key_name=examplesshkey&key_passphrase=123456luggage","label":"URL","lang":"HTTP"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Backup_fullbackup_to_scp_with_key.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Backup_fullbackup_to_scp_with_key.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Backup/,\n    q/fullbackup_to_scp_with_key/,\n    {\n        'host' => 'example.com',\n        'key_name' => 'examplesshkey',\n        'key_passphrase' => '123456luggage',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Backup_fullbackup_to_scp_with_key.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Backup_fullbackup_to_scp_with_key.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Backup',\n    'fullbackup_to_scp_with_key',\n    array (\n        'host' => 'example.com',\n        'key_name' => 'examplesshkey',\n        'key_passphrase' => '123456luggage',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-available-version":"cPanel 78","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.","x-cpanel-api-version":"UAPI"}}}},"restore_email_filters":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"security":[{"BasicAuth":[]}],"openapi":"3.0.2","tags":[{"description":"cPanel Account Backups / File Restoration","name":"File Restoration"}],"servers":[{"variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"x-tagGroups":[{"tags":["File Restoration"],"name":"cPanel Account Backups"}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"paths":{"/Backup/restore_email_filters":{"post":{"parameters":[{"name":"backup","in":"query","description":"The email filter file to restore.\n\n**Important:**\n\n**Only** pass this parameter to restore email filter files that already exist on the server.\n\n**Note:**\n\nTo restore multiple email filter files, increment the parameter name. For example: `backup-1`, `backup-2`, and `backup-3`.","required":false,"examples":{"multiple":{"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","summary":"Restore multiple email filter files."},"single":{"value":"/home/user/filter_info.username.yaml.gz","summary":"Restore a single email filter file."}},"schema":{"type":"string"}},{"schema":{"type":"integer","enum":[0,1],"default":0,"example":1},"required":false,"description":"Whether to return additional information from the `/home/cpuser/.cpanel/logs/restore-email-filters` log files.\n* `1` - Return additional information.\n* `0` - Do not return additional information.","name":"verbose","in":"query"},{"in":"query","name":"timeout","schema":{"type":"integer","minimum":0,"default":7200,"example":3600},"required":false,"description":"The maximum number of seconds to try to restore the file.\n* `0` - The system will not time out the file restoration."}],"requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"backup":{"type":"string","format":"binary"}},"type":"object"}}},"description":"The email filter file to upload and restore.\n\n**Important:**\n\n* **Only** pass this parameter to upload files that don't already exist on the server.\n* You can't pass this parameter on the command line.\n\n**Note:**\n\n* To upload multiple email filter files, increment the parameter name. For example: `backup-1`, `backup-2`, and `backup-3`.\n* Pass this file in a multipart/form-data structure.\n* For more information about this structure, read Mozilla's [POST Method](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/POST) documentation."},"description":"This function restores an account's email filters.\n\n**Important:**\n\nWhen the [Receive Mail role](https://go.cpanel.net/howtouseserverprofiles#roles) is disabled, the system also **disables** this function.\n\n**Note:**\n\nYou **must** use the `backup` parameter when you call this function in one of the following formats:\n* As part of a `multipart/form-data` request body to upload and restore a backup file to the server.\n* As a query parameter to restore an existing file on the server.","x-rollback":"none","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"result":{"properties":{"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null},"errors":{"nullable":true,"type":"array","example":null,"description":"List of errors if the API failed.","items":{"type":"string"}},"metadata":{"properties":{}},"data":{"type":"object","properties":{"log_id":{"example":"2019-08-13T15:10:07Z.1","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.","type":"string"},"messages":{"description":"An array of statements about the database's restoration.","items":{"type":"string","example":"The system successfully restored the email filters from the 'filter-info.user.yaml.gz' backup."},"type":"array"},"log_path":{"type":"string","format":"path","example":"/home/cpuser/.cpanel/logs/restore-email-filters/2019-09-11T18:30:49Z.1.log","description":"The filepath to the backup restoration's log file."}}},"warnings":{"type":"array","nullable":true,"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"},"example":null},"status":{"example":1,"enum":[0,1],"description":"* `1` - Success\n* `0` - Failed: Check the errors field for more details.","type":"integer"}},"type":"object"},"module":{"description":"The name of the module called.","example":"Backup","type":"string"},"func":{"example":"restore_email_filters","description":"The name of the method called.","type":"string"}},"type":"object"}}}}},"tags":["File Restoration"],"x-readonly":false,"operationId":"Backup-restore_email_filters","x-cpanel-api-version":"UAPI","x-codeSamples":[{"source":"uapi --input=json --output=jsonpretty \\\n  --user=username \\\n  Backup \\\n  restore_email_filters\n","label":"CLI","lang":"Shell"},{"source":"POST /cpsess##########/execute/Backup/restore_email_filters HTTP/1.1\nHost: example.com:2083\nCookie: ###################################\nContent-Type: application/json\nContent-Length: 0\n\n","label":"HTTP Request (Wire Format)","lang":"HTTP"}],"x-cpanel-available-version":"cPanel 86","summary":"Restore email filters"}}}},"restore_files":{"paths":{"/Backup/restore_files":{"post":{"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"func":{"description":"The name of the method called.","example":"restore_files","type":"string"},"result":{"type":"object","properties":{"metadata":{"properties":{}},"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null},"status":{"type":"integer","description":"* `1` - Success\n* `0` - Failed: Check the errors field for more details.","example":1,"enum":[0,1]},"data":{"type":"object","properties":{"log_path":{"example":"/home/cptest/.cpanel/logs/restorefiles/2019-08-13T15:10:07Z.1.log","description":"The filepath to the backup restoration's log file.","type":"string","format":"path"},"log_id":{"example":"2019-08-13T15:10:07Z.1","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.","type":"string"},"messages":{"type":"array","description":"An array of statements about the database's restoration.","items":{"type":"string","example":"The system successfully restored the directory /home/cpuser/point2 from the backup file backup-cpuser.tld-9-10-2019_1.tar.gz"}}}},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."}}},"module":{"example":"Backup","description":"The name of the module called.","type":"string"},"apiversion":{"example":3,"description":"The version of the API.","type":"integer"}}}}},"description":"HTTP Request was successful."}},"tags":["File Restoration"],"x-readonly":false,"operationId":"Backup-restore_files","x-cpanel-api-version":"UAPI","summary":"Restore files","x-cpanel-available-version":"cPanel 86","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --input=json --output=jsonpretty \\\n  --user=username \\\n  Backup \\\n  restore_files\n"},{"lang":"HTTP","label":"HTTP Request (Wire Format)","source":"POST /cpsess##########/execute/Backup/restore_files HTTP/1.1\nHost: example.com:2083\nCookie: ###################################\nContent-Type: application/json\nContent-Length: 0\n\n"}],"parameters":[{"schema":{"type":"string"},"required":false,"description":"The backup file to restore.\n\n**Important:**\n\n**Only** pass this parameter to restore backup files that already exist on the server.\n\n**Note:**\n\nTo restore multiple backup files, increment the parameter name. For example: `backup-1`, `backup-2`, and `backup-3`.","examples":{"single":{"summary":"Restore a single backup file.","value":"/home/cpuser/backup-cpuser.tld-9-10-2019_1.tar.gz"},"multiple":{"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","summary":"Restore multiple backup files."}},"name":"backup","in":"query"},{"schema":{"enum":[0,1],"default":0,"example":1,"type":"integer"},"required":false,"description":"Whether to return additional information from the `/home/cptest/.cpanel/logs/restorefiles` log files.\n* `1` - Return additional information.\n* `0` - Do not return additional information.","name":"verbose","in":"query"},{"schema":{"format":"path","type":"string","example":"/home/user/example"},"required":false,"description":"The directory to which to restore the file. The default is the user's `home` directory.","in":"query","name":"directory"},{"required":false,"description":"The maximum number of seconds to try to restore the file.\n* `0` - The system will not time out the file restoration.","schema":{"type":"integer","minimum":0,"example":7200,"default":172800},"name":"timeout","in":"query"}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"backup":{"type":"string","format":"binary"}}}}},"description":"The backup file to upload and restore.\n\n**Important:**\n\n* **Only** pass this parameter to upload files that don't already exist on the server.\n* You can't pass this parameter on the command line.\n\n**Note:**\n\nTo upload and restore multiple backup files, increment the parameter name. For example: `backup-1`, `backup-2`, and `backup-3`."},"description":"This function restores an account's files.\n\n**Important:**\n\nWhen the [File Storage role](https://go.cpanel.net/howtouseserverprofiles#roles) is disabled, the system also **disables** this function.\n\n**Note:**\n\nYou **must** use the `backup` parameter when you call this function in one of the following formats:\n* As part of a `multipart/form-data` request body to upload and restore a backup file to the server. For more information about this structure, read Mozilla's [POST Method](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/POST) documentation.\n* As a query parameter to restore an existing file on the server.","x-rollback":"none"}}},"security":[{"BasicAuth":[]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"x-tagGroups":[{"tags":["File Restoration"],"name":"cPanel Account Backups"}],"tags":[{"description":"cPanel Account Backups / File Restoration","name":"File Restoration"}],"openapi":"3.0.2","servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"description":"A server running cPanel."}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"}}},"list_backups":{"security":[{"BasicAuth":[]}],"x-tagGroups":[{"tags":["Backup"],"name":"cPanel Account Backups"}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"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."}}}],"openapi":"3.0.2","tags":[{"name":"Backup","description":"The Backup module for UAPI."}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI"},"paths":{"/Backup/list_backups":{"get":{"x-readonly":true,"operationId":"Backup-list_backups","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"description":"The version of the API.","example":3,"type":"integer"},"module":{"type":"string","description":"The name of the module called.","example":"Backup"},"result":{"properties":{"status":{"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","enum":[0,1],"example":1,"type":"integer"},"metadata":{"properties":{"transformed":{"type":"integer","description":"Post-processing may have transformed the data.","example":1,"enum":[1]},"cnt":{"description":"The number of backup files.","example":1,"type":"integer"}}},"warnings":{"nullable":true,"type":"array","example":null,"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"}},"data":{"type":"array","items":{"example":"2014-12-02","type":"string","format":"ISO-8601 Date"},"description":"An array of the account's backup files."},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}},"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null}},"type":"object"},"func":{"example":"list_backups","description":"The name of the method called.","type":"string"}},"type":"object"}}}}},"parameters":[],"tags":["Backup"],"x-cpanel-api-version":"UAPI","x-cpanel-available-version":"cPanel 11.42","summary":"Return backup files","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Backup \\\n  list_backups\n"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/Backup/list_backups"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Backup_list_backups.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Backup_list_backups.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Backup/,\n    q/list_backups/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Backup_list_backups.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Backup_list_backups.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Backup',\n    'list_backups'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"description":"This function lists the account's backup files."}}}}},"DomainRecommendations":{"get_store_config":{"info":{"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"},"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.137.0.9999","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/"},"externalDocs":{"url":"https://cpanel.net/developers/"},"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute"}],"tags":[{"description":"The DomainRecommendations module for UAPI.","name":"DomainRecommendations"}],"x-tagGroups":[{"tags":["DomainRecommendations"],"name":"cPanel Account"}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"security":[{"BasicAuth":[]}],"paths":{"/DomainRecommendations/get_store_config":{"get":{"parameters":[],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"description":"The version of the API.","example":3,"type":"integer"},"func":{"type":"string","description":"The name of the method called.","example":"get_store_config"},"result":{"type":"object","properties":{"metadata":{"properties":{"transformed":{"description":"Post-processing may have transformed the data.","example":1,"enum":[1],"type":"integer"}}},"data":{"properties":{"store_type":{"example":"WHMCS","description":"The type of the configured domain store.\n\n* `WHMCS` — The store uses a WHMCS backend.","type":"string"}},"type":"object","additionalProperties":false,"description":"An object containing the allowlisted store configuration values.\nReturns an empty object (`{}`) if no store is configured."},"warnings":{"nullable":true,"type":"array","example":null,"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.","items":{"type":"string"}},"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null},"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"status":{"type":"integer","description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","example":1,"enum":[0,1]}}},"module":{"type":"string","example":"DomainRecommendations","description":"The name of the module called."}},"type":"object"}}}}},"tags":["DomainRecommendations"],"operationId":"DomainRecommendations-get_store_config","x-readonly":true,"x-cpanel-api-version":"UAPI","description":"This function returns the allowlisted store configuration for the Domain Recommendations feature.\n\n**Important:**\n\nThis function returns only explicitly allowlisted fields. Any key not on the allowlist — including credentials, URLs, and future additions — is excluded by default.\n\n**Note:**\n\nThis function requires the `domain_recommendation` feature.","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  DomainRecommendations \\\n  get_store_config\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/DomainRecommendations/get_store_config","label":"URL","lang":"HTTP"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DomainRecommendations_get_store_config.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DomainRecommendations_get_store_config.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DomainRecommendations/,\n    q/get_store_config/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    print to_json($data);\n}\nelse {\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n$cpanel->end();\n\nsub to_json {\n    require JSON;\n    return JSON->new->pretty->encode($_[0]);\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DomainRecommendations_get_store_config.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DomainRecommendations_get_store_config.live.php\n//--------------------------------------------------------------------------------------\n\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\nheader('Content-Type: text/plain');\n\n$cpanel = new CPANEL();\n\n$response = $cpanel->uapi(\n    'DomainRecommendations',\n    'get_store_config'\n);\n\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    echo json_encode($data, JSON_PRETTY_PRINT);\n}\nelse {\n    echo json_encode($response['cpanelresult']['result']['errors'], JSON_PRETTY_PRINT);\n}\n\n$cpanel->end();","label":"LiveAPI PHP","lang":"PHP"}],"summary":"Retrieve the sanitized domain store configuration","x-cpanel-available-version":"cPanel 134"}}}},"purchase_domain":{"paths":{"/DomainRecommendations/purchase_domain":{"get":{"parameters":[{"schema":{"example":"mybusiness.com","type":"string"},"required":true,"description":"The fully-qualified domain name (FQDN) to purchase.\n\n**Note:**\n\nThis value must include the TLD (for example, `mybusiness.com`).","in":"query","name":"domain"},{"in":"query","name":"period","schema":{"example":1,"minimum":1,"type":"integer"},"description":"The registration period in years.","required":true}],"description":"This function returns a URL for the configured domain store's checkout page. This URL allows the user to complete the purchase of a domain name.\n\n**Note:**\n\nThis function requires the `domain_recommendation` feature.","x-rollback":"none","tags":["DomainRecommendations"],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"func":{"example":"purchase_domain","description":"The name of the method called.","type":"string"},"module":{"example":"DomainRecommendations","description":"The name of the module called.","type":"string"},"result":{"properties":{"status":{"type":"integer","enum":[0,1],"example":1,"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details."},"metadata":{"properties":{"transformed":{"type":"integer","example":1,"enum":[1],"description":"Post-processing may have transformed the data."}}},"data":{"type":"object","properties":{"purchase_url":{"type":"string","example":"https://store.example.com/cart.php?a=add&domain=register&sld=mybusiness&tld=.com&regperiod=1","description":"The URL to redirect the user to in order to complete the domain purchase through the configured store."}},"description":"An object that contains the URL to complete the domain purchase."},"warnings":{"example":null,"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.","items":{"type":"string"},"nullable":true,"type":"array"},"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."},"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null}},"type":"object"}},"type":"object"}}},"description":"HTTP Request was successful."}},"operationId":"DomainRecommendations-purchase_domain","x-readonly":false,"x-cpanel-available-version":"cPanel 138","x-codeSamples":[{"lang":"Shell","label":"CLI","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"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DomainRecommendations_purchase_domain.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DomainRecommendations_purchase_domain.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DomainRecommendations/,\n    q/purchase_domain/,\n    {\n        domain => 'mybusiness.com',\n        period => 1,\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    print \"Purchase URL: $data->{purchase_url}\\n\";\n}\nelse {\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n$cpanel->end();\n\nsub to_json {\n    require JSON;\n    return JSON->new->pretty->encode($_[0]);\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DomainRecommendations_purchase_domain.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DomainRecommendations_purchase_domain.live.php\n//--------------------------------------------------------------------------------------\n\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\nheader('Content-Type: text/plain');\n\n$cpanel = new CPANEL();\n\n$response = $cpanel->uapi(\n    'DomainRecommendations',\n    'purchase_domain',\n    array(\n        'domain' => 'mybusiness.com',\n        'period' => 1,\n    )\n);\n\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    echo \"Purchase URL: \" . $data['purchase_url'] . \"\\n\";\n}\nelse {\n    echo json_encode($response['cpanelresult']['result']['errors'], JSON_PRETTY_PRINT);\n}\n\n$cpanel->end();","lang":"PHP","label":"LiveAPI PHP"}],"summary":"Get a URL to purchase a domain","x-cpanel-api-version":"UAPI"}}},"info":{"contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"},"termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.137.0.9999"},"externalDocs":{"url":"https://cpanel.net/developers/"},"tags":[{"name":"DomainRecommendations","description":"The DomainRecommendations module for UAPI."}],"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."}}}],"openapi":"3.0.2","x-tagGroups":[{"name":"cPanel Account","tags":["DomainRecommendations"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"security":[{"BasicAuth":[]}]},"domain_suggestions":{"openapi":"3.0.2","tags":[{"description":"The DomainRecommendations module for UAPI.","name":"DomainRecommendations"}],"servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"description":"A server running cPanel."}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{"PricingPeriod":{"description":"Pricing for a single registration period.","type":"object","properties":{"period":{"example":1,"description":"The registration period in years.","type":"integer"},"register":{"nullable":true,"type":"object","properties":{"value":{"description":"The numeric price as a decimal string.","example":"10.74","type":"string"},"code":{"type":"string","description":"The ISO 4217 currency code.","example":"USD"},"suffix":{"description":"The currency label that appears after the value.","example":" USD","type":"string"},"prefix":{"description":"The currency symbol that appears before the value.","example":"$","type":"string"},"display_value":{"type":"string","example":"$10.74 USD","description":"The formatted price string including prefix and suffix."}},"description":"The registration price for this period."},"transfer":{"description":"The transfer price for this period.","properties":{"code":{"type":"string","description":"The ISO 4217 currency code.","example":"USD"},"value":{"type":"string","description":"The numeric price as a decimal string.","example":"11.40"},"display_value":{"description":"The formatted price string including prefix and suffix.","example":"$11.40 USD","type":"string"},"prefix":{"example":"$","description":"The currency symbol that appears before the value.","type":"string"},"suffix":{"description":"The currency label that appears after the value.","example":" USD","type":"string"}},"type":"object","nullable":true},"renew":{"description":"The renewal price for this period.","nullable":true,"type":"object","properties":{"code":{"example":"USD","description":"The ISO 4217 currency code.","type":"string"},"value":{"type":"string","example":"10.74","description":"The numeric price as a decimal string."},"suffix":{"description":"The currency label that appears after the value.","example":" USD","type":"string"},"prefix":{"example":"$","description":"The currency symbol that appears before the value.","type":"string"},"display_value":{"example":"$10.74 USD","description":"The formatted price string including prefix and suffix.","type":"string"}}}}}}},"x-tagGroups":[{"name":"cPanel Account","tags":["DomainRecommendations"]}],"security":[{"BasicAuth":[]}],"info":{"termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"version":"11.137.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/DomainRecommendations/domain_suggestions":{"get":{"x-readonly":true,"operationId":"DomainRecommendations-domain_suggestions","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"func":{"type":"string","example":"domain_suggestions","description":"The name of the method called."},"module":{"type":"string","example":"DomainRecommendations","description":"The name of the module called."},"result":{"properties":{"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.","example":null,"type":"array","nullable":true},"data":{"properties":{"meta":{"additionalProperties":true,"properties":{"total_pages":{"example":3,"description":"The total number of available pages.","type":"integer"},"page":{"type":"integer","example":1,"description":"The current page number (1-indexed)."},"total_items":{"example":25,"description":"The total number of available matching domain suggestions.","type":"integer"},"page_size":{"description":"The number of results per page.","example":10,"type":"integer"}},"type":"object","description":"Pagination and result metadata that the store returns."},"suggestions":{"description":"A mapping of available domain names to pricing periods.\n\nEach key is a fully-qualified domain name (for example,\n`mybusiness.com`). Each value is an object containing a\n`pricing` array of `PricingPeriod` objects, an\n`is_premium` flag, and optional `premium_cost_pricing`\ndetails.\n\nThe function returns an empty object (`{}`) when no\nsuggestions are available.","example":{"mybusiness.com":{"is_premium":0,"pricing":[{"renew":{"prefix":"$","display_value":"$9.99 USD","suffix":" USD","code":"USD","value":"9.99"},"register":{"value":"9.99","code":"USD","suffix":" USD","display_value":"$9.99 USD","prefix":"$"},"period":1,"transfer":null}],"premium_cost_pricing":null}},"additionalProperties":{"properties":{"premium_cost_pricing":{"nullable":true,"type":"object","properties":{"register":{"type":"object","additionalProperties":{"description":"Premium registration price for this term.","type":"object","properties":{"code":{"type":"string"},"value":{"type":"string"},"prefix":{"type":"string"},"display_value":{"type":"string"},"suffix":{"type":"string"}}},"example":{"1":{"code":"USD","value":"50.00","prefix":"$","display_value":"$50.00 USD","suffix":" USD"}},"description":"Registration premium price details, keyed by registration term (in years)."}},"description":"Premium pricing details for premium domains."},"pricing":{"type":"array","items":{"$ref":"#/components/schemas/PricingPeriod"},"description":"An array of available pricing periods for the domain."},"is_premium":{"type":"integer","description":"Whether the domain suggestion is marked as premium.\n* `1` — Premium domain.\n* `0` — Non-premium domain.","enum":[0,1],"example":0}},"type":"object","required":["pricing","is_premium","premium_cost_pricing"],"description":"Suggestion details for the domain."},"type":"object"}},"type":"object","description":"An object containing pagination metadata and domain suggestions."},"metadata":{"properties":{"transformed":{"example":1,"enum":[1],"description":"Post-processing may have transformed the data.","type":"integer"}}},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"messages":{"items":{"type":"string"},"description":"List of messages generated by the API.","example":null,"type":"array","nullable":true},"status":{"enum":[0,1],"example":1,"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","type":"integer"}},"type":"object"}}}}},"description":"HTTP Request was successful."}},"tags":["DomainRecommendations"],"parameters":[{"name":"search_field","in":"query","schema":{"type":"string","example":"mybusiness"},"description":"The search term used to generate domain suggestions. This is a free-text query, not necessarily a fully-qualified domain name.\n\n**Note:**\n\nUse the base domain name without the TLD (for example, `mybusiness` instead of `mybusiness.com`).","required":true},{"name":"page","in":"query","schema":{"type":"integer","minimum":1,"example":1},"required":false,"description":"The page number to retrieve (1-indexed).\n\nIf you do not set this value, the function uses the store's default page."},{"schema":{"type":"integer","minimum":1,"example":10},"required":false,"description":"The number of suggestions to return per page.\n\nIf you do not set this value, the function uses the store's default page size.","name":"page_size","in":"query"},{"description":"Whether to use the local response cache.\n\n* `1` — Use the cache (default). The function caches the results for up to two minutes.\n* `0` — Bypass the cache and make a live request to the store.","required":false,"schema":{"type":"integer","enum":[1,0],"example":1,"default":1},"in":"query","name":"use_cache"}],"x-cpanel-api-version":"UAPI","description":"This function returns available domain name suggestions and their registration pricing for a given search term.\n\nThe system retrieves the results from the configured domain store and caches them for up to two minutes per unique combination of `search_field`, `page`, `page_size`, and the requested `tld` list. Use the `use_cache=0` option to bypass the cache and force a live request.\n\n**Note:**\n\nThis function requires the `domain_recommendation` feature.","x-cpanel-available-version":"cPanel 134","summary":"Search for available domain names and pricing","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  DomainRecommendations \\\n  domain_suggestions \\\n  search_field=mybusiness\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/DomainRecommendations/domain_suggestions?search_field=mybusiness","lang":"HTTP","label":"URL"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DomainRecommendations_domain_suggestions.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DomainRecommendations_domain_suggestions.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DomainRecommendations/,\n    q/domain_suggestions/,\n    { search_field => 'mybusiness' }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data        = $response->{cpanelresult}{result}{data};\n    my $suggestions = $data->{suggestions};\n    foreach my $domain ( sort keys %$suggestions ) {\n        # suggestions->{$domain} is a hashref with 'pricing', 'is_premium', 'premium_cost_pricing'\n        my $suggestion   = $suggestions->{$domain};\n        my ($period_1yr) = grep { $_->{period} == 1 } @{ $suggestion->{pricing} };\n        my $price = $period_1yr ? $period_1yr->{register}{display_value} : 'N/A';\n        print \"$domain: $price\\n\";\n    }\n}\nelse {\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n$cpanel->end();\n\nsub to_json {\n    require JSON;\n    return JSON->new->pretty->encode($_[0]);\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DomainRecommendations_domain_suggestions.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DomainRecommendations_domain_suggestions.live.php\n//--------------------------------------------------------------------------------------\n\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\nheader('Content-Type: text/plain');\n\n$cpanel = new CPANEL();\n\n$response = $cpanel->uapi(\n    'DomainRecommendations',\n    'domain_suggestions',\n    array('search_field' => 'mybusiness')\n);\n\nif ($response['cpanelresult']['result']['status']) {\n    $data        = $response['cpanelresult']['result']['data'];\n    $suggestions = $data['suggestions'];\n    foreach ($suggestions as $domain => $suggestion) {\n        // $suggestion has 'pricing', 'is_premium', 'premium_cost_pricing'\n        $price = 'N/A';\n        foreach ($suggestion['pricing'] as $period) {\n            if ($period['period'] === 1) {\n                $price = $period['register']['display_value'];\n                break;\n            }\n        }\n        echo \"$domain: $price\\n\";\n    }\n}\nelse {\n    echo json_encode($response['cpanelresult']['result']['errors'], JSON_PRETTY_PRINT);\n}\n\n$cpanel->end();"}]}}}},"domain_availability":{"paths":{"/DomainRecommendations/domain_availability":{"get":{"x-cpanel-api-version":"UAPI","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  DomainRecommendations \\\n  domain_availability \\\n  domain=mybusiness.com\n"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/DomainRecommendations/domain_availability?domain=mybusiness.com"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DomainRecommendations_domain_availability.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DomainRecommendations_domain_availability.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DomainRecommendations/,\n    q/domain_availability/,\n    { domain => 'mybusiness.com' }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    print \"Available: $data->{is_domain_available}\\n\";\n}\nelse {\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n$cpanel->end();\n\nsub to_json {\n    require JSON;\n    return JSON->new->pretty->encode($_[0]);\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DomainRecommendations_domain_availability.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DomainRecommendations_domain_availability.live.php\n//--------------------------------------------------------------------------------------\n\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\nheader('Content-Type: text/plain');\n\n$cpanel = new CPANEL();\n\n$response = $cpanel->uapi(\n    'DomainRecommendations',\n    'domain_availability',\n    array('domain' => 'mybusiness.com')\n);\n\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    echo \"Available: \" . $data['is_domain_available'] . \"\\n\";\n}\nelse {\n    echo json_encode($response['cpanelresult']['result']['errors'], JSON_PRETTY_PRINT);\n}\n\n$cpanel->end();"}],"summary":"Check whether a domain is available for registration","x-cpanel-available-version":"cPanel 134","description":"This function checks whether a specific domain name is available for registration through the configured domain store.\n\nThe system caches the results for up to two minutes per domain. Use the `use_cache=0` option to bypass the cache and force a live request.\n\n**Note:**\n\nThis function requires the `domain_recommendation` feature.","x-readonly":true,"operationId":"DomainRecommendations-domain_availability","parameters":[{"description":"The fully-qualified domain name (FQDN) to check for availability.\n\n**Note:**\n\nThis value must include the TLD (for example, `mybusiness.com`).","required":true,"schema":{"example":"mybusiness.com","type":"string"},"in":"query","name":"domain"},{"schema":{"type":"integer","default":1,"example":1,"enum":[1,0]},"description":"Whether to use the local response cache.\n\n* `1` — Use the cache (default). The system caches the results for up to two minutes.\n* `0` — Bypass the cache and make a live request to the store.","required":false,"name":"use_cache","in":"query"}],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"func":{"type":"string","description":"The name of the method called.","example":"domain_availability"},"result":{"type":"object","properties":{"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API."},"data":{"nullable":true,"properties":{"group":{"description":"The domain group, if applicable.","example":null,"type":"string","nullable":true},"tld":{"type":"string","example":"com","description":"The top-level domain (TLD) portion of the checked domain."},"pricing":{"type":"array","description":"An array of pricing options for each\nregistration period (in years).","items":{"$ref":"#/components/schemas/PricingPeriod"}},"premium_cost_pricing":{"description":"The pricing structure for the premium domain, if applicable.","nullable":true,"type":"object"},"status":{"type":"string","example":"available for registration","description":"A string describing the availability status of the domain."},"shortest_period":{"allOf":[{"$ref":"#/components/schemas/PricingPeriod"},{"description":"The pricing for the shortest available registration period."}]},"is_domain_available":{"example":true,"description":"Whether the domain is available for\nregistration.\n\n* `true` — Available.\n* `false` — Not available.","type":"boolean"},"is_premium":{"type":"boolean","description":"Whether the domain is a premium domain with\nspecial pricing.\n\n* `true` — The domain is a premium domain.\n* `false` — The domain is not a premium domain.","example":false},"is_tld_available":{"type":"boolean","example":true,"description":"Whether the TLD is available for registration\nthrough the configured store.\n\n* `true` — The TLD is available.\n* `false` — The TLD is not available."},"idn_domain_name":{"description":"The internationalized domain name (IDN) of the checked domain.","example":"mybusiness.com","type":"string"},"idn_sld":{"type":"string","example":"mybusiness","description":"The internationalized second-level domain (SLD) portion of the checked domain."},"domain_name":{"description":"The fully-qualified domain name (FQDN) that the function checked.","example":"mybusiness.com","type":"string"},"sld":{"type":"string","example":"mybusiness","description":"The second-level domain (SLD) portion of the checked domain."}},"type":"object","description":"An object containing the domain availability result\nfrom the configured domain store."},"metadata":{"properties":{"transformed":{"type":"integer","example":1,"enum":[1],"description":"Post-processing may have transformed the data."}}},"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"messages":{"example":null,"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"},"status":{"example":1,"enum":[0,1],"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","type":"integer"}}},"module":{"type":"string","example":"DomainRecommendations","description":"The name of the module called."}},"type":"object"}}}}},"tags":["DomainRecommendations"]}}},"security":[{"BasicAuth":[]}],"servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}}}],"openapi":"3.0.2","tags":[{"name":"DomainRecommendations","description":"The DomainRecommendations module for UAPI."}],"x-tagGroups":[{"tags":["DomainRecommendations"],"name":"cPanel Account"}],"components":{"schemas":{"PricingPeriod":{"type":"object","properties":{"period":{"type":"integer","example":1,"description":"The registration period in years."},"register":{"nullable":true,"properties":{"value":{"example":"10.74","description":"The numeric price as a decimal string.","type":"string"},"code":{"type":"string","description":"The ISO 4217 currency code.","example":"USD"},"suffix":{"type":"string","example":" USD","description":"The currency label that appears after the value."},"prefix":{"example":"$","description":"The currency symbol that appears before the value.","type":"string"},"display_value":{"description":"The formatted price string including prefix and suffix.","example":"$10.74 USD","type":"string"}},"type":"object","description":"The registration price for this period."},"transfer":{"description":"The transfer price for this period.","nullable":true,"properties":{"display_value":{"type":"string","description":"The formatted price string including prefix and suffix.","example":"$11.40 USD"},"prefix":{"type":"string","example":"$","description":"The currency symbol that appears before the value."},"suffix":{"description":"The currency label that appears after the value.","example":" USD","type":"string"},"code":{"type":"string","example":"USD","description":"The ISO 4217 currency code."},"value":{"description":"The numeric price as a decimal string.","example":"11.40","type":"string"}},"type":"object"},"renew":{"description":"The renewal price for this period.","properties":{"value":{"type":"string","description":"The numeric price as a decimal string.","example":"10.74"},"code":{"example":"USD","description":"The ISO 4217 currency code.","type":"string"},"display_value":{"type":"string","description":"The formatted price string including prefix and suffix.","example":"$10.74 USD"},"prefix":{"example":"$","description":"The currency symbol that appears before the value.","type":"string"},"suffix":{"example":" USD","description":"The currency label that appears after the value.","type":"string"}},"type":"object","nullable":true}},"description":"Pricing for a single registration period."}},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"version":"11.137.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}}},"is_enabled":{"paths":{"/DomainRecommendations/is_enabled":{"get":{"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"func":{"type":"string","description":"The name of the method called.","example":"is_enabled"},"result":{"type":"object","properties":{"status":{"type":"integer","description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","example":1,"enum":[0,1]},"data":{"description":"An object containing the enabled status of the Domain Recommendations feature.","properties":{"is_enabled":{"enum":[1,0],"example":1,"description":"Whether the server has the Domain Recommendations feature enabled.\n\n* `1` — Enabled.\n* `0` — Disabled.","type":"integer"}},"type":"object"},"warnings":{"type":"array","nullable":true,"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.","items":{"type":"string"},"example":null},"metadata":{"properties":{"transformed":{"description":"Post-processing may have transformed the data.","enum":[1],"example":1,"type":"integer"}}},"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null},"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."}}},"module":{"description":"The name of the module called.","example":"DomainRecommendations","type":"string"},"apiversion":{"type":"integer","description":"The version of the API.","example":3}}}}}}},"parameters":[],"tags":["DomainRecommendations"],"operationId":"DomainRecommendations-is_enabled","x-readonly":true,"description":"This function returns the enablement status of the Domain Recommendations feature on the server.\n\n**Note:**\n\nThis function requires the `domain_recommendation` feature. If the cPanel account does not have this feature, the function returns an error.","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  DomainRecommendations \\\n  is_enabled\n","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/DomainRecommendations/is_enabled","label":"URL","lang":"HTTP"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DomainRecommendations_is_enabled.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DomainRecommendations_is_enabled.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DomainRecommendations/,\n    q/is_enabled/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    print \"Domain Recommendations enabled: $data->{is_enabled}\\n\";\n}\nelse {\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n$cpanel->end();\n\nsub to_json {\n    require JSON;\n    return JSON->new->pretty->encode($_[0]);\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DomainRecommendations_is_enabled.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DomainRecommendations_is_enabled.live.php\n//--------------------------------------------------------------------------------------\n\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\nheader('Content-Type: text/plain');\n\n$cpanel = new CPANEL();\n\n$response = $cpanel->uapi(\n    'DomainRecommendations',\n    'is_enabled'\n);\n\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    echo \"Domain Recommendations enabled: \" . $data['is_enabled'] . \"\\n\";\n}\nelse {\n    echo json_encode($response['cpanelresult']['result']['errors'], JSON_PRETTY_PRINT);\n}\n\n$cpanel->end();","lang":"PHP","label":"LiveAPI PHP"}],"summary":"Check whether Domain Recommendations is enabled","x-cpanel-available-version":"cPanel 134","x-cpanel-api-version":"UAPI"}}},"security":[{"BasicAuth":[]}],"x-tagGroups":[{"tags":["DomainRecommendations"],"name":"cPanel Account"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"servers":[{"variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"name":"DomainRecommendations","description":"The DomainRecommendations module for UAPI."}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"version":"11.137.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}}},"supported_tlds":{"paths":{"/DomainRecommendations/supported_tlds":{"get":{"operationId":"DomainRecommendations-supported_tlds","x-readonly":true,"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"result":{"properties":{"status":{"type":"integer","description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","enum":[0,1],"example":1},"warnings":{"example":null,"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.","items":{"type":"string"},"nullable":true,"type":"array"},"data":{"properties":{"tlds":{"type":"array","example":["com","net","org","io"],"items":{"example":"com","type":"string"},"description":"An array of top-level domain (TLD) strings that the\nconfigured store supports for registration.\n\nEach entry is a TLD string without a leading dot\n(for example, `com`, `net`, `org`)."}},"type":"object","description":"An object containing the list of supported TLDs."},"metadata":{"properties":{"transformed":{"enum":[1],"example":1,"description":"Post-processing may have transformed the data.","type":"integer"}}},"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null},"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null}},"type":"object"},"module":{"type":"string","description":"The name of the module called.","example":"DomainRecommendations"},"func":{"type":"string","example":"supported_tlds","description":"The name of the method called."},"apiversion":{"example":3,"description":"The version of the API.","type":"integer"}}}}}}},"tags":["DomainRecommendations"],"parameters":[{"schema":{"default":1,"enum":[1,0],"example":1,"type":"integer"},"required":false,"description":"Whether to use the local response cache.\n\n* `1` — Use the cache (default). The system caches the results for up to two minutes.\n* `0` — Bypass the cache and make a live request to the store.","in":"query","name":"use_cache"}],"x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  DomainRecommendations \\\n  supported_tlds\n","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/DomainRecommendations/supported_tlds","label":"URL","lang":"HTTP"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DomainRecommendations_supported_tlds.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DomainRecommendations_supported_tlds.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DomainRecommendations/,\n    q/supported_tlds/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    print \"Supported TLDs: \" . join(', ', @{ $data->{tlds} }) . \"\\n\";\n}\nelse {\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n$cpanel->end();\n\nsub to_json {\n    require JSON;\n    return JSON->new->pretty->encode($_[0]);\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DomainRecommendations_supported_tlds.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DomainRecommendations_supported_tlds.live.php\n//--------------------------------------------------------------------------------------\n\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\nheader('Content-Type: text/plain');\n\n$cpanel = new CPANEL();\n\n$response = $cpanel->uapi(\n    'DomainRecommendations',\n    'supported_tlds'\n);\n\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    echo \"Supported TLDs: \" . implode(', ', $data['tlds']) . \"\\n\";\n}\nelse {\n    echo json_encode($response['cpanelresult']['result']['errors'], JSON_PRETTY_PRINT);\n}\n\n$cpanel->end();"}],"summary":"List the TLDs supported by the domain store","x-cpanel-available-version":"cPanel 138","description":"This function returns the list of top-level domains (TLDs) that the configured domain store supports for registration.\n\nThe system caches the results for up to two minutes. Use the `use_cache=0` option to bypass the cache and force a live request.\n\n**Note:**\n\nThis function requires the `domain_recommendation` feature.","x-cpanel-api-version":"UAPI"}}},"info":{"termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.137.0.9999","contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"x-tagGroups":[{"name":"cPanel Account","tags":["DomainRecommendations"]}],"openapi":"3.0.2","servers":[{"variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"tags":[{"name":"DomainRecommendations","description":"The DomainRecommendations module for UAPI."}],"security":[{"BasicAuth":[]}]}},"TeamRoles":{"list_feature_descriptions":{"paths":{"/TeamRoles/list_feature_descriptions":{"get":{"x-cpanel-api-version":"UAPI","description":"This function gives a list of all team roles and their included features.","x-cpanel-available-version":108,"summary":"List all role feature descriptions","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  TeamRoles \\\n  list_feature_descriptions\n","lang":"Shell","label":"CLI"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/TeamRoles/list_feature_descriptions","lang":"HTTP","label":"URL"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"tags":["Team Roles"],"parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"func":{"type":"string","description":"The name of the method called.","example":"list_feature_descriptions"},"module":{"example":"TeamRoles","description":"The name of the module called.","type":"string"},"result":{"properties":{"metadata":{"properties":{"transformed":{"type":"integer","description":"Post-processing may have transformed the data.","enum":[1],"example":1}}},"data":{"$ref":"#/components/schemas/FeatureDescriptions"},"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API."},"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"},"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"status":{"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","enum":[1,0],"example":1,"type":"integer"}},"type":"object"},"apiversion":{"type":"integer","description":"The version of the API.","example":3}},"type":"object"}}},"description":"HTTP Request was successful."}},"operationId":"TeamRoles-list_feature_descriptions","x-readonly":true}}},"security":[{"BasicAuth":[]}],"x-tagGroups":[{"tags":["Team Roles"],"name":"cPanel Account"}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{"FeatureDescriptions":{"properties":{"title":{"type":"string","example":"Database","description":"The role's title."},"id":{"description":"The role's ID.","example":"database","type":"string"},"features":{"example":["Backup","MySQL® Databases","PHP"],"description":"The list of features in a role.","items":{"type":"string"},"type":"array"}}}}},"servers":[{"description":"A server running cPanel.","variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute"}],"openapi":"3.0.2","tags":[{"description":"The Team Roles module for UAPI.","name":"Team Roles"}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"},"title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.107.0.9999"}}},"Ftp":{"set_quota":{"info":{"termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"x-tagGroups":[{"name":"Files","tags":["FTP Accounts"]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}}}],"openapi":"3.0.2","tags":[{"name":"Ftp","description":"The Ftp module for UAPI."},{"description":"Files / FTP Accounts","name":"FTP Accounts"}],"security":[{"BasicAuth":[]}],"paths":{"/Ftp/set_quota":{"get":{"x-rollback":"none","description":"This function changes an FTP account's quota.\n\n**Important:**\n\nWhen you disable the [FTP role](https://go.cpanel.net/serverroles), the system **disables** this function.","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Ftp \\\n  set_quota \\\n  user='ftpaccount'\n"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/Ftp/set_quota?user=ftpaccount"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Ftp_set_quota.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Ftp_set_quota.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Ftp/,\n    q/set_quota/,\n    {\n        'user' => 'ftpaccount',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Ftp_set_quota.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Ftp_set_quota.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Ftp',\n    'set_quota',\n    array (\n        'user' => 'ftpaccount',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 11.42","summary":"Update FTP account's quota","x-cpanel-api-version":"UAPI","operationId":"Ftp-set_quota","x-readonly":false,"parameters":[{"required":true,"description":"The FTP account username.","schema":{"type":"string","example":"ftpaccount"},"name":"user","in":"query"},{"in":"query","name":"quota","schema":{"type":"integer","example":500,"default":0,"minimum":0},"required":false,"description":"The new quota, in megabytes.\n\n**Note:**\n\nSetting this parameter to `0` grants the account unlimited disk space."},{"in":"query","name":"kill","schema":{"enum":[0,1],"default":0,"example":0,"type":"integer"},"required":false,"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":"domain","schema":{"example":"example.com","type":"string","format":"domain"},"required":false,"description":"The user's associated domain.\n\n**Note:**\n\nThe default value is the cPanel account's primary domain."}],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"type":"integer","description":"The version of the API.","example":3},"func":{"example":"set_quota","description":"The name of the method called.","type":"string"},"result":{"properties":{"metadata":{"properties":{}},"data":{"default":null,"nullable":true,"type":"object"},"warnings":{"example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","nullable":true,"type":"array"},"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null},"errors":{"nullable":true,"type":"array","example":null,"description":"List of errors if the API failed.","items":{"type":"string"}},"status":{"type":"integer","enum":[0,1],"example":1,"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details."}}},"module":{"example":"Ftp","description":"The name of the module called.","type":"string"}}}}}}},"tags":["Ftp","FTP Accounts"]}}}},"list_ftp_with_disk":{"paths":{"/Ftp/list_ftp_with_disk":{"get":{"tags":["Ftp","FTP Accounts"],"parameters":[{"schema":{"example":"main|anonymous","type":"string"},"required":false,"description":"A pipe-delimited list of the FTP account types to exclude from the function's\nresults. If you do not specify this parameter, the function does **not** exclude\nany account types.\n\nValid types for this list are:\n\n* `anonymous`\n* `logaccess`\n* `main`\n* `sub`","in":"query","name":"skip_acct_types"},{"schema":{"example":"main|anonymous","type":"string"},"required":false,"description":"A pipe-delimited list of the FTP account types to include in the function's results.\nIf you do not specify this parameter, the function returns all FTP account types.\n\nValid types for this list are:\n\n* `anonymous`\n* `logaccess`\n* `main`\n* `sub`","name":"include_acct_types","in":"query"}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"module":{"type":"string","description":"The name of the module called.","example":"Ftp"},"result":{"properties":{"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"metadata":{"properties":{"transformed":{"example":1,"enum":[1],"description":"Post-processing may have transformed the data.","type":"integer"}}},"data":{"type":"array","items":{"properties":{"diskusedpercent20":{"description":"The percentage of disk space that the account currently uses, rounded in 20 percent increments.","example":20,"minimum":0,"type":"integer","maximum":100,"multipleOf":20},"reldir":{"type":"string","description":"The path to the FTP account's document root,\nrelative to the cPanel account's home directory.","example":"public_ftp"},"_diskquota":{"type":"string","format":"^\\d+\\.\\d+$","description":"The FTP account's quota in megabytes, with two digits of fractional precision,\nencoded as a string. `0.00` means that the quota is unlimited.\n\n**Note:**\n\nThis value is different from the value for `diskquota`.","example":"476.84"},"serverlogin":{"type":"string","example":"ftpaccount@example.com","description":"The full FTP login username."},"dir":{"description":"The absolute path to the FTP account's document root.","example":"/home/user/public_ftp","type":"string"},"humandiskquota":{"example":"477 MB","description":"The FTP account's quota, in human-readable format.\n\n* `None` — The function returns this value if the account has an unlimited quota.\n* The quota in megabytes (MB), a space, and the characters `MB`.","type":"string"},"diskquota":{"description":"The FTP account's quota.\n\n* `unlimited`\n* The disk quota in megabytes, with two digits of fractional precision, encoded as a string.\n\n**Note:**\n\nThis value is different from the value for `_diskquota`.","oneOf":[{"enum":["unlimited"],"type":"string"},{"type":"string","format":"^\\d+\\.\\d+$"}],"example":"476.84"},"humandiskused":{"type":"string","example":"2 MB","description":"The amount of disk space that the account currently uses, in\nhuman-readable format. The function formats this value as the\nquota's size, a space, and the characters `MB`."},"_diskused":{"example":"2.34","description":"The amount of disk space in megabytes that the account currently uses,\nwith two digits of fractional precision, encoded as a string.\n\n**Note:**\n\nThis value is the same as the value for `diskused`.","format":"^\\d+\\.\\d+$","type":"string"},"accttype":{"type":"string","description":"The type of FTP account.\n\n* `anonymous`\n* `logaccess`\n* `main`\n* `sub`","enum":["anonymous","logaccess","main","sub"],"example":"sub"},"htmldir":{"description":"The path to the FTP account's HTML directory.","example":null,"type":"string","nullable":true},"deleteable":{"type":"integer","description":"Whether the function's caller can delete the account.\n\n* `1` – The caller can delete the account.\n* `0` – The caller **cannot** delete the account.","enum":[0,1],"example":1},"diskusedpercent":{"type":"integer","example":21,"description":"The percentage of the disk space quota that the account currently uses."},"login":{"example":"ftpaccount","description":"The FTP account username.","type":"string"},"diskused":{"format":"^\\d+\\.\\d+$","type":"string","example":"2.34","description":"The amount of disk space in megabytes that the account currently uses,\nwith two digits of fractional precision, encoded as a string.\n\n**Note:**\n\nThis value is the same as the value for `_diskused`."}},"type":"object"}},"warnings":{"example":null,"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"},"status":{"example":1,"enum":[0,1],"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","type":"integer"}},"type":"object"},"func":{"type":"string","example":"list_ftp_with_disk","description":"The name of the method called."}},"type":"object"}}},"description":"HTTP Request was successful."}},"x-readonly":true,"operationId":"Ftp-list_ftp_with_disk","description":"This function lists FTP account and disk usage information.\n\n**Important:**\n\nWhen you disable the [FTP role](https://go.cpanel.net/serverroles), the system **disables** this function.","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Ftp \\\n  list_ftp_with_disk\n","lang":"Shell","label":"CLI"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Ftp/list_ftp_with_disk","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Ftp_list_ftp_with_disk.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Ftp_list_ftp_with_disk.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Ftp/,\n    q/list_ftp_with_disk/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Ftp_list_ftp_with_disk.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Ftp_list_ftp_with_disk.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Ftp',\n    'list_ftp_with_disk'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Return FTP accounts and disk usage","x-cpanel-available-version":"cPanel 11.42","x-cpanel-api-version":"UAPI"}}},"security":[{"BasicAuth":[]}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"x-tagGroups":[{"tags":["FTP Accounts"],"name":"Files"}],"openapi":"3.0.2","tags":[{"description":"The Ftp module for UAPI.","name":"Ftp"},{"description":"Files / FTP Accounts","name":"FTP Accounts"}],"servers":[{"description":"A server running cPanel.","variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute"}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"}}},"allows_anonymous_ftp":{"openapi":"3.0.2","tags":[{"description":"The Ftp module for UAPI.","name":"Ftp"},{"description":"Files / FTP Server Settings","name":"FTP Server Settings"}],"servers":[{"variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"x-tagGroups":[{"name":"Files","tags":["FTP Server Settings"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"security":[{"BasicAuth":[]}],"info":{"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/Ftp/allows_anonymous_ftp":{"get":{"x-cpanel-api-version":"UAPI","summary":"Return if anonymous FTP connections allowed","x-cpanel-available-version":"cPanel 11.42","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Ftp \\\n  allows_anonymous_ftp\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Ftp/allows_anonymous_ftp","lang":"HTTP","label":"URL"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Ftp_allows_anonymous_ftp.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Ftp_allows_anonymous_ftp.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Ftp/,\n    q/allows_anonymous_ftp/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Ftp_allows_anonymous_ftp.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Ftp_allows_anonymous_ftp.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Ftp',\n    'allows_anonymous_ftp'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"description":"This function checks whether the account allows anonymous FTP connections.\n\n**Important:**\n\nWhen you disable the [*FTP* role](https://go.cpanel.net/serverroles), the system **disables** this function.","operationId":"Ftp-allows_anonymous_ftp","x-readonly":true,"parameters":[],"tags":["Ftp","FTP Server Settings"],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"result":{"type":"object","properties":{"messages":{"description":"List of messages generated by the API.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"errors":{"example":null,"items":{"type":"string"},"description":"List of errors if the API failed.","nullable":true,"type":"array"},"metadata":{"properties":{}},"warnings":{"nullable":true,"type":"array","example":null,"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"}},"data":{"properties":{"allows":{"type":"integer","example":1,"enum":[0,1],"description":"Whether the cPanel account allows anonymous FTP connections.\n* `1` - Allowed.\n* `0` - **Not** allowed."}},"type":"object"},"status":{"example":1,"enum":[0,1],"description":"* `1` - Success\n* `0` - Failed: Check the errors field for more details.","type":"integer"}}},"module":{"type":"string","example":"Ftp","description":"The name of the module called."},"func":{"type":"string","description":"The name of the method called.","example":"allows_anonymous_ftp"},"apiversion":{"type":"integer","example":3,"description":"The version of the API."}},"type":"object"}}},"description":"HTTP Request was successful."}}}}}},"set_anonymous_ftp_incoming":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"security":[{"BasicAuth":[]}],"x-tagGroups":[{"name":"Files","tags":["FTP Server Settings"]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"servers":[{"url":"https://{host}:{port}/execute","variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"description":"The cPanel port.","default":"2083"}},"description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"description":"The Ftp module for UAPI.","name":"Ftp"},{"name":"FTP Server Settings","description":"Files / FTP Server Settings"}],"paths":{"/Ftp/set_anonymous_ftp_incoming":{"get":{"description":"This function enables or disables inbound anonymous FTP transfers.\n\n**Important:**\n\nWhen you disable the [FTP role](https://go.cpanel.net/serverroles), the system **disables** this function.","x-rollback":"none","parameters":[{"schema":{"type":"integer","example":0,"default":0,"enum":[0,1]},"required":false,"description":"Whether to enable or disable inbound anonymous FTP transfers.\n\n* `1` - Enable.\n* `0` - Disable.","in":"query","name":"set"}],"x-cpanel-available-version":"cPanel 11.42","summary":"Enable or disable anonymous incoming FTP transfers","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Ftp \\\n  set_anonymous_ftp_incoming\n","lang":"Shell","label":"CLI"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Ftp/set_anonymous_ftp_incoming","lang":"HTTP","label":"URL"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Ftp_set_anonymous_ftp_incoming.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Ftp_set_anonymous_ftp_incoming.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Ftp/,\n    q/set_anonymous_ftp_incoming/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Ftp_set_anonymous_ftp_incoming.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Ftp_set_anonymous_ftp_incoming.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Ftp',\n    'set_anonymous_ftp_incoming'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-api-version":"UAPI","tags":["Ftp","FTP Server Settings"],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"func":{"example":"set_anonymous_ftp_incoming","description":"The name of the method called.","type":"string"},"result":{"properties":{"messages":{"items":{"type":"string"},"description":"List of messages generated by the API.","example":null,"type":"array","nullable":true},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"metadata":{"properties":{}},"warnings":{"nullable":true,"type":"array","example":null,"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"}},"data":{"type":"object","nullable":true,"default":null},"status":{"enum":[0,1],"example":1,"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","type":"integer"}}},"module":{"type":"string","description":"The name of the module called.","example":"Ftp"}}}}},"description":"HTTP Request was successful."}},"x-readonly":false,"operationId":"Ftp-set_anonymous_ftp_incoming"}}}},"set_anonymous_ftp":{"paths":{"/Ftp/set_anonymous_ftp":{"get":{"summary":"Enable or disable anonymous FTP logins","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Ftp \\\n  set_anonymous_ftp\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Ftp/set_anonymous_ftp","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Ftp_set_anonymous_ftp.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Ftp_set_anonymous_ftp.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Ftp/,\n    q/set_anonymous_ftp/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Ftp_set_anonymous_ftp.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Ftp_set_anonymous_ftp.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Ftp',\n    'set_anonymous_ftp'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-available-version":"cPanel 11.42","x-cpanel-api-version":"UAPI","tags":["Ftp","FTP Server Settings"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"func":{"type":"string","description":"The name of the method called.","example":"set_anonymous_ftp"},"module":{"description":"The name of the module called.","example":"Ftp","type":"string"},"result":{"properties":{"status":{"type":"integer","example":1,"enum":[0,1],"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details."},"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null},"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"metadata":{"properties":{}},"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API."},"data":{"type":"object","nullable":true,"default":null}}}},"type":"object"}}}}},"operationId":"Ftp-set_anonymous_ftp","x-readonly":false,"description":"This function enables or disables anonymous FTP logins.\n\n**Important:**\n\nWhen you disable the [FTP role](https://go.cpanel.net/serverroles), the system **disables** this function.","x-rollback":"none","parameters":[{"name":"set","in":"query","schema":{"default":0,"enum":[0,1],"example":0,"type":"integer"},"required":false,"description":"Whether to enable or disable anonymous FTP logins.\n\n* `1` - Enable.\n* `0` - Disable."}]}}},"x-tagGroups":[{"tags":["FTP Server Settings"],"name":"Files"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute"}],"tags":[{"name":"Ftp","description":"The Ftp module for UAPI."},{"description":"Files / FTP Server Settings","name":"FTP Server Settings"}],"security":[{"BasicAuth":[]}],"info":{"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"}},"get_ftp_daemon_info":{"servers":[{"variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"description":"The Ftp module for UAPI.","name":"Ftp"},{"name":"FTP Server Settings","description":"Files / FTP Server Settings"}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"x-tagGroups":[{"name":"Files","tags":["FTP Server Settings"]}],"security":[{"BasicAuth":[]}],"info":{"termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/Ftp/get_ftp_daemon_info":{"get":{"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"result":{"type":"object","properties":{"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"data":{"type":"object","properties":{"enabled":{"type":"integer","example":1,"enum":[0,1],"description":"Whether the server's FTP daemon is enabled.\n\n* `1` – Enabled.\n* `0` – Disabled."},"supports":{"description":"This object contains the features that the FTP daemon supports.","properties":{"login_without_domain":{"description":"Whether the FTP daemon supports username authentication without the user's domain.\n\n* `1` – Supported.\n* `0` – **Not** supported.","example":0,"enum":[0,1],"type":"integer"},"quota":{"type":"integer","description":"Whether the FTP daemon supports disk quotas.\n\n* `1` – Supported.\n* `0` – **Not** supported.","enum":[0,1],"example":1}},"type":"object"},"name":{"description":"The FTP server's name.\n\n* `pure-ftpd`\n* `proftpd`\n* An empty string.","enum":["pure-ftpd","proftpd",""],"example":"pure-ftpd","type":"string"}}},"status":{"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","example":1,"enum":[0,1],"type":"integer"},"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"metadata":{"properties":{}}}},"module":{"description":"The name of the module called.","example":"Ftp","type":"string"},"func":{"type":"string","example":"get_ftp_daemon_info","description":"The name of the method called."},"apiversion":{"example":3,"description":"The version of the API.","type":"integer"}}}}}}},"parameters":[],"tags":["Ftp","FTP Server Settings"],"x-readonly":true,"operationId":"Ftp-get_ftp_daemon_info","description":"This function retrieves the extended information about the server's FTP daemon.","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Ftp \\\n  get_ftp_daemon_info\n","lang":"Shell","label":"CLI"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/Ftp/get_ftp_daemon_info"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Ftp_get_ftp_daemon_info.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Ftp_get_ftp_daemon_info.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Ftp/,\n    q/get_ftp_daemon_info/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Ftp_get_ftp_daemon_info.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Ftp_get_ftp_daemon_info.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Ftp',\n    'get_ftp_daemon_info'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"x-cpanel-available-version":"cPanel 54","summary":"Return FTP server's information","x-cpanel-api-version":"UAPI"}}}},"list_ftp":{"paths":{"/Ftp/list_ftp":{"get":{"description":"This function lists FTP account information.\n\n**Important:**\n\nWhen you disable the [*FTP* role](https://go.cpanel.net/howtouseserverprofiles#roles), the system **disables** this function. For more information, read our How to Use Server Profiles documentation.","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Ftp \\\n  list_ftp\n"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/Ftp/list_ftp"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Ftp_list_ftp.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Ftp_list_ftp.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Ftp/,\n    q/list_ftp/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Ftp_list_ftp.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Ftp_list_ftp.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Ftp',\n    'list_ftp'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 11.42","summary":"Return FTP accounts","x-cpanel-api-version":"UAPI","parameters":[{"description":"A list of the FTP account types to exclude from the function's\nresults.\n\n* `anonymous`\n* `logaccess`\n* `main`\n* `sub`\n\nIf you do not specify this parameter, this function does **not** exclude\nany account types.\n\n**Note:**\n\n* Separate multiple types with the pipe character (`|`).\n* In browser-based calls, use `%7C`.","required":false,"schema":{"example":"main|anonymous","type":"string"},"in":"query","name":"skip_acct_types"},{"name":"include_acct_types","in":"query","schema":{"type":"string","example":"main|anonymous"},"required":false,"description":"A list of the FTP account types to include in the function's results.\n\n* `anonymous`\n* `logaccess`\n* `main`\n* `sub`\n\nIf you do not specify this parameter, this function returns all FTP account\ntypes.\n\n**Note:**\n\n* Separate multiple types with the pipe character (`|`).\n* In browser-based calls, use `%7C`."}],"tags":["Ftp","FTP Accounts"],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"module":{"type":"string","description":"The name of the module called.","example":"Ftp"},"result":{"properties":{"metadata":{"properties":{"transformed":{"type":"integer","description":"Post-processing may have transformed the data.","enum":[1],"example":1}}},"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null,"type":"array","nullable":true},"data":{"items":{"type":"object","properties":{"user":{"description":"The username for an FTP account on the cPanel account.","example":"ftpaccount","type":"string"},"homedir":{"type":"string","format":"path","description":"The absolute path to the FTP account's document root.","example":"/home/user/public_html/ftp/"},"type":{"description":"The type of FTP account.\n\n* `anonymous`\n* `logaccess`\n* `main`\n* `sub`","example":"main","enum":["anonymous","logaccess","main","sub"],"type":"string"}}},"type":"array"},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}},"errors":{"example":null,"items":{"type":"string"},"description":"List of errors if the API failed.","nullable":true,"type":"array"},"status":{"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","example":1,"enum":[0,1],"type":"integer"}},"type":"object"},"func":{"type":"string","description":"The name of the method called.","example":"list_ftp"}}}}},"description":"HTTP Request was successful."}},"x-readonly":true,"operationId":"Ftp-list_ftp"}}},"tags":[{"description":"The Ftp module for UAPI.","name":"Ftp"},{"name":"FTP Accounts","description":"Files / FTP Accounts"}],"openapi":"3.0.2","servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"description":"A server running cPanel."}],"x-tagGroups":[{"name":"Files","tags":["FTP Accounts"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"security":[{"BasicAuth":[]}],"info":{"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI"},"externalDocs":{"url":"https://cpanel.net/developers/"}},"passwd":{"paths":{"/Ftp/passwd":{"get":{"x-readonly":false,"operationId":"Ftp-passwd","parameters":[{"in":"query","name":"domain","required":false,"description":"The user's associated domain.\n\n**Note:**\n\nThis parameter defaults to the cPanel account's primary domain","schema":{"example":"example.com","type":"string"}},{"description":"The FTP account username.","required":true,"schema":{"type":"string","example":"ftpaccount"},"name":"user","in":"query"},{"schema":{"example":"12345luggage","type":"string"},"required":true,"description":"The FTP account's new password.","in":"query","name":"pass"}],"tags":["Ftp","FTP Accounts"],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"description":"The version of the API.","example":3,"type":"integer"},"module":{"example":"Ftp","description":"The name of the module called.","type":"string"},"result":{"properties":{"status":{"example":1,"enum":[0,1],"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","type":"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"},"example":null,"type":"array","nullable":true},"data":{"nullable":true,"type":"object","default":null},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}},"metadata":{"properties":{}},"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null}}},"func":{"example":"passwd","description":"The name of the method called.","type":"string"}}}}},"description":"HTTP Request was successful."}},"x-rollback":"none","x-cpanel-api-version":"UAPI","x-cpanel-available-version":"cPanel 11.42","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Ftp \\\n  passwd \\\n  user='ftpaccount' \\\n  pass='123456luggage'\n"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/Ftp/passwd?user=ftpaccount&pass=12345luggage"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Ftp_passwd.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Ftp_passwd.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Ftp/,\n    q/passwd/,\n    {\n        'user' => 'ftpaccount',\n        'pass' => '12345luggage',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Ftp_passwd.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Ftp_passwd.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Ftp',\n    'passwd',\n    array (\n        'user' => 'ftpaccount',\n        'pass' => '12345luggage',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"summary":"Update FTP account's password","description":"This function changes an FTP account's password.\n\n**Important:**\n\nWhen you disable the [FTP role](https://go.cpanel.net/serverroles), the system **disables** this function."}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/"},"security":[{"BasicAuth":[]}],"tags":[{"name":"Ftp","description":"The Ftp module for UAPI."},{"name":"FTP Accounts","description":"Files / FTP Accounts"}],"openapi":"3.0.2","servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"description":"A server running cPanel."}],"x-tagGroups":[{"tags":["FTP Accounts"],"name":"Files"}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}}},"delete_ftp":{"paths":{"/Ftp/delete_ftp":{"get":{"x-rollback":"none","summary":"Delete FTP account","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Ftp \\\n  delete_ftp \\\n  user='username2'\n","lang":"Shell","label":"CLI"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Ftp/delete_ftp?user=username","label":"URL","lang":"HTTP"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Ftp_delete_ftp.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Ftp_delete_ftp.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Ftp/,\n    q/delete_ftp/,\n    {\n        'user' => 'username',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Ftp_delete_ftp.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Ftp_delete_ftp.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Ftp',\n    'delete_ftp',\n    array (\n        'user' => 'username',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"x-cpanel-available-version":"cPanel 11.42","description":"This function deletes an FTP account.\n\n**Important:**\n\nWhen you disable the [*FTP* role](https://go.cpanel.net/serverroles), the system **disables** this function.","x-cpanel-api-version":"UAPI","operationId":"Ftp-delete_ftp","x-readonly":false,"parameters":[{"in":"query","name":"domain","required":false,"description":"The user's associated domain.\n\n**Note:**\n\nThis parameter defaults to the cPanel account's primary domain.","schema":{"example":"example.com","type":"string","format":"domain"}},{"schema":{"example":"username","type":"string"},"required":true,"description":"The FTP account's username.","name":"user","in":"query"},{"name":"destroy","in":"query","required":false,"description":"Whether to delete the FTP account's home directory.\n\n* `1` — Delete the home directory.\n* `0` — Do **not** delete the home directory.","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"},"result":{"properties":{"status":{"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","enum":[0,1],"example":1,"type":"integer"},"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}},"warnings":{"type":"array","nullable":true,"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"},"example":null},"data":{"default":null,"type":"object","nullable":true},"metadata":{"properties":{}}}},"module":{"type":"string","example":"Ftp","description":"The name of the module called."},"func":{"description":"The name of the method called.","example":"delete_ftp","type":"string"}},"type":"object"}}},"description":"HTTP Request was successful."}},"tags":["Ftp","FTP Accounts"]}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"}},"security":[{"BasicAuth":[]}],"x-tagGroups":[{"name":"Files","tags":["FTP Accounts"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"openapi":"3.0.2","tags":[{"name":"Ftp","description":"The Ftp module for UAPI."},{"description":"Files / FTP Accounts","name":"FTP Accounts"}],"servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"description":"A server running cPanel."}]},"ftp_exists":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"},"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI"},"security":[{"BasicAuth":[]}],"openapi":"3.0.2","tags":[{"description":"The Ftp module for UAPI.","name":"Ftp"},{"description":"Files / FTP Accounts","name":"FTP Accounts"}],"servers":[{"description":"A server running cPanel.","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute"}],"x-tagGroups":[{"name":"Files","tags":["FTP Accounts"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"paths":{"/Ftp/ftp_exists":{"get":{"x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Ftp \\\n  ftp_exists \\\n  user='us_chickens'\n","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Ftp/ftp_exists?user=us_chickens","lang":"HTTP","label":"URL"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Ftp_ftp_exists.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Ftp_ftp_exists.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Ftp/,\n    q/ftp_exists/,\n    {\n        'user' => 'us_chickens',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Ftp_ftp_exists.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Ftp_ftp_exists.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Ftp',\n    'ftp_exists',\n    array (\n        'user' => 'us_chickens',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 11.42","summary":"Return whether an FTP account exists","description":"This function checks whether an FTP account exists.\n\n**Note:**\n\nThis function returns only metadata if the FTP account exists, or an error if the FTP account does **not** exist.","x-cpanel-api-version":"UAPI","parameters":[{"name":"domain","in":"query","schema":{"format":"domain","type":"string","example":"example.com"},"description":"The user's associated domain.\n\n**Note:**\n\nThis parameter defaults to the cPanel account's primary domain.","required":false},{"schema":{"type":"string","example":"us_chickens"},"description":"The FTP account's username.","required":true,"name":"user","in":"query"}],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"module":{"example":"Ftp","description":"The name of the module called.","type":"string"},"result":{"properties":{"data":{"type":"object","nullable":true,"default":null},"warnings":{"type":"array","nullable":true,"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.","items":{"type":"string"},"example":null},"metadata":{"properties":{}},"errors":{"example":null,"description":"List of errors if the API failed.","items":{"type":"string"},"nullable":true,"type":"array"},"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null},"status":{"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","enum":[0,1],"example":1,"type":"integer"}}},"func":{"description":"The name of the method called.","example":"ftp_exists","type":"string"},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}}}}}}},"tags":["Ftp","FTP Accounts"],"operationId":"Ftp-ftp_exists","x-readonly":true}}}},"get_welcome_message":{"security":[{"BasicAuth":[]}],"openapi":"3.0.2","servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"description":"A server running cPanel."}],"tags":[{"description":"The Ftp module for UAPI.","name":"Ftp"},{"description":"Files / FTP Accounts","name":"FTP Accounts"}],"x-tagGroups":[{"name":"Files","tags":["FTP Accounts"]}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"paths":{"/Ftp/get_welcome_message":{"get":{"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"module":{"example":"Ftp","description":"The name of the module called.","type":"string"},"result":{"type":"object","properties":{"status":{"type":"integer","description":"- `1` — Success.\n- `0` — Failed. Check the errors field for more details.","example":1,"enum":[0,1]},"metadata":{"properties":{}},"warnings":{"nullable":true,"type":"array","example":null,"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"}},"data":{"description":"The cPanel account's FTP welcome message.","example":"Greetings, Professor Falken.","type":"string"},"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true}}},"func":{"example":"get_welcome_message","description":"The name of the method called.","type":"string"},"apiversion":{"example":3,"description":"The version of the API.","type":"integer"}},"type":"object"}}},"description":"HTTP Request was successful."}},"parameters":[],"tags":["Ftp","FTP Accounts"],"operationId":"Ftp-get_welcome_message","x-readonly":true,"x-cpanel-api-version":"UAPI","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.","x-cpanel-available-version":"cPanel 11.42","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Ftp \\\n  get_welcome_message\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Ftp/get_welcome_message","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Ftp_get_welcome_message.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Ftp_get_welcome_message.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Ftp/,\n    q/get_welcome_message/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Ftp_get_welcome_message.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Ftp_get_welcome_message.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Ftp',\n    'get_welcome_message'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"summary":"Return FTP account's welcome message"}}}},"list_sessions":{"paths":{"/Ftp/list_sessions":{"get":{"x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Ftp \\\n  list_sessions\n","lang":"Shell","label":"CLI"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/Ftp/list_sessions"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Ftp_list_sessions.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Ftp_list_sessions.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Ftp/,\n    q/list_sessions/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Ftp_list_sessions.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Ftp_list_sessions.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Ftp',\n    'list_sessions'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Return FTP server's active sessions","x-cpanel-available-version":"cPanel 11.42","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.","x-cpanel-api-version":"UAPI","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"func":{"example":"list_sessions","description":"The name of the method called.","type":"string"},"result":{"properties":{"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null},"metadata":{"properties":{"transformed":{"description":"Post-processing may have transformed the data.","enum":[1],"example":1,"type":"integer"}}},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}},"warnings":{"nullable":true,"type":"array","example":null,"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.","items":{"type":"string"}},"data":{"items":{"type":"object","properties":{"user":{"example":"ftpaccount","description":"The FTP account username.","type":"string"},"cmdline":{"type":"string","description":"Information about the FTP process, from the `ps` ([process status](http://www.linfo.org/ps.html)) command.","example":"pure-ftpd (IDLE)"},"pid":{"minimum":1,"description":"The session's PID.","example":6735,"type":"integer"},"host":{"example":"localhost","oneOf":[{"format":"ipv4","type":"string"},{"format":"domain","type":"string"}],"description":"The IP address or hostname that connected to the FTP server."},"login":{"type":"string","description":"The FTP session login time.","example":"Tue Apr 23 16:23:23 2020"},"status":{"type":"string","enum":["IDLE","DL","UL"],"example":"IDLE","description":"The session's status.\n- `IDLE` - The session is connected, but idle.\n- `DL` - A download is in progress.\n- `UL` - An upload is in progress."},"file":{"example":"","description":"The file that the session is processing.\n\n**Note:**\n\nThe function returns a blank value if the session is idle.","type":"string"}}},"type":"array"},"status":{"description":"- `1` - Success.\n- `0` - Failed. Check the `errors` field for more details.","example":1,"enum":[0,1],"type":"integer"}},"type":"object"},"module":{"type":"string","example":"Ftp","description":"The name of the module called."},"apiversion":{"type":"integer","example":3,"description":"The version of the API."}}}}},"description":"HTTP Request was successful."}},"tags":["Ftp","FTP Server Settings"],"x-readonly":true,"operationId":"Ftp-list_sessions"}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","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.","version":"11.89.0.9999","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"}},"security":[{"BasicAuth":[]}],"tags":[{"name":"Ftp","description":"The Ftp module for UAPI."},{"description":"Files / FTP Server Settings","name":"FTP Server Settings"}],"openapi":"3.0.2","servers":[{"url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}},"description":"A server running cPanel."}],"x-tagGroups":[{"tags":["FTP Server Settings"],"name":"Files"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}}},"server_name":{"paths":{"/Ftp/server_name":{"get":{"parameters":[],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"func":{"type":"string","example":"server_name","description":"The name of the method called."},"module":{"description":"The name of the module called.","example":"Ftp","type":"string"},"result":{"properties":{"messages":{"items":{"type":"string"},"description":"List of messages generated by the API.","example":null,"type":"array","nullable":true},"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"metadata":{"properties":{}},"data":{"type":"string","description":"The FTP server.\n* `pure-ftpd` - The Pure-FTPD server.\n* `proftpd` - The ProFTPD FTP server.\n* `disabled` - FTP has been disabled on this server.","example":"pure-ftpd","enum":["pure-ftpd","proftpd","disabled"]},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"status":{"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","enum":[0,1],"example":1,"type":"integer"}},"type":"object"}}}}}}},"tags":["Ftp","FTP Server Settings"],"operationId":"Ftp-server_name","x-readonly":true,"x-cpanel-api-version":"UAPI","description":"This function checks whether the server uses ProFTPD or Pure-FTPd.\n\n**Important:**\n\nWhen you disable the [FTP role](https://go.cpanel.net/serverroles), the system **disables** this function.","x-cpanel-available-version":"cPanel 11.42","summary":"Return whether server uses ProFTPD or Pure-FTPd","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Ftp \\\n  server_name\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Ftp/server_name","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Ftp_server_name.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Ftp_server_name.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Ftp/,\n    q/server_name/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Ftp_server_name.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Ftp_server_name.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Ftp',\n    'server_name'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}]}}},"info":{"title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"x-tagGroups":[{"name":"Files","tags":["FTP Server Settings"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"openapi":"3.0.2","tags":[{"description":"The Ftp module for UAPI.","name":"Ftp"},{"description":"Files / FTP Server Settings","name":"FTP Server Settings"}],"servers":[{"variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"security":[{"BasicAuth":[]}]},"set_welcome_message":{"security":[{"BasicAuth":[]}],"servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}}}],"openapi":"3.0.2","tags":[{"name":"Ftp","description":"The Ftp module for UAPI."},{"description":"Files / FTP Accounts","name":"FTP Accounts"}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"x-tagGroups":[{"name":"Files","tags":["FTP Accounts"]}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"paths":{"/Ftp/set_welcome_message":{"get":{"parameters":[{"name":"message","in":"query","schema":{"type":"string","example":"Greetings, Professor Falken."},"required":true,"description":"The cPanel account's new FTP welcome message."}],"description":"This function sets the FTP welcome message.\n\n**Important:**\n\nWhen you disable the [FTP role](https://go.cpanel.net/serverroles), the system **disables** this function.","x-rollback":"none","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"func":{"example":"set_welcome_message","description":"The name of the method called.","type":"string"},"module":{"type":"string","example":"Ftp","description":"The name of the module called."},"result":{"properties":{"warnings":{"nullable":true,"type":"array","example":null,"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"}},"data":{"nullable":true,"type":"object","default":null},"metadata":{"properties":{}},"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null},"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"},"status":{"type":"integer","description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","enum":[0,1],"example":1}}},"apiversion":{"example":3,"description":"The version of the API.","type":"integer"}},"type":"object"}}}}},"tags":["Ftp","FTP Accounts"],"x-readonly":false,"operationId":"Ftp-set_welcome_message","x-cpanel-api-version":"UAPI","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."},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Ftp_set_welcome_message.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Ftp_set_welcome_message.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Ftp/,\n    q/set_welcome_message/,\n    {\n        'message' => 'Greetings, Professor Falken.',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Ftp_set_welcome_message.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Ftp_set_welcome_message.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Ftp',\n    'set_welcome_message',\n    array (\n        'message' => 'Greetings, Professor Falken.',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 11.42","summary":"Update FTP welcome message"}}}},"add_ftp":{"paths":{"/Ftp/add_ftp":{"get":{"x-rollback":"none","description":"This function creates an FTP account.\n\n**Important:**\n\nWhen you disable the [FTP role](https://go.cpanel.net/serverroles), the system **disables** this function.","parameters":[{"name":"user","in":"query","schema":{"example":"username","type":"string"},"required":true,"description":"The new FTP account username."},{"schema":{"type":"string","example":"123456luggage"},"required":false,"description":"The new FTP account password.\n\n**Note:**\n\nYou can use the `pass_hash` parameter in place of this parameter. However, you **cannot** use both the `pass` and `pass_hash` parameters in the same request.","in":"query","name":"pass"},{"required":false,"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.","schema":{"type":"string","format":"path","example":"exampleftp"},"in":"query","name":"homedir"},{"name":"quota","in":"query","schema":{"type":"integer","example":42,"default":0,"minimum":0},"description":"The FTP account's maximum disk usage quota, in megabytes (MB).\n\n**Note:**\n\nA value of `0` grants the FTP account unlimited disk space.","required":false},{"in":"query","name":"disallowdot","required":false,"description":"Whether to strip dots (`.`) from the username.\n\n* `1` — Strip dots.\n* `0` — Do **not** strip dots.","schema":{"type":"integer","enum":[0,1],"default":1,"example":1}},{"schema":{"format":"domain","type":"string","example":"example.com"},"description":"The FTP user's associated domain. This must be a domain that the cPanel account owns.\n\n**Note:**\n\nThis parameter defaults to the cPanel account's primary domain.","required":false,"in":"query","name":"domain"},{"schema":{"type":"string","default":"","example":"$6$1sOyHP5ZDYp3pGUz$R0TSgfPRHfDjT5PP5RJGv39FhiGTNNPvM7IFpCBjXijMmlMZk9yI8T3LqGuntc9fdKb5eX.lGL7wBS9e4DAWn/"},"description":"The account's password hash.\n\n**Note:**\n\n* You can use this parameter in place of the `pass` parameter. However, you **cannot** use both the `pass` and `pass_hash` parameters in the same request.\n* You can find your server's password hash type in the `/etc/sysconfig/authconfig` file.","required":false,"name":"pass_hash","in":"query"}],"x-cpanel-available-version":"cPanel 11.42","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Ftp \\\n  add_ftp \\\n  user='username2' \\\n  pass='123456luggage'\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Ftp/add_ftp?user=username","label":"URL","lang":"HTTP"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Ftp_add_ftp.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Ftp_add_ftp.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Ftp/,\n    q/add_ftp/,\n    {\n        'user' => 'username',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Ftp_add_ftp.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Ftp_add_ftp.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Ftp',\n    'add_ftp',\n    array (\n        'user' => 'username',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Create FTP account","x-cpanel-api-version":"UAPI","operationId":"Ftp-add_ftp","x-readonly":false,"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"func":{"type":"string","example":"add_ftp","description":"The name of the method called."},"module":{"example":"Ftp","description":"The name of the module called.","type":"string"},"result":{"properties":{"status":{"enum":[0,1],"example":1,"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","type":"integer"},"metadata":{"properties":{}},"warnings":{"example":null,"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"},"data":{"example":null,"enum":[null],"nullable":true,"type":"object"},"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null},"errors":{"nullable":true,"type":"array","example":null,"description":"List of errors if the API failed.","items":{"type":"string"}}}}}}}}}},"tags":["Ftp","FTP Accounts"]}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"security":[{"BasicAuth":[]}],"tags":[{"description":"The Ftp module for UAPI.","name":"Ftp"},{"name":"FTP Accounts","description":"Files / FTP Accounts"}],"openapi":"3.0.2","servers":[{"url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}},"description":"A server running cPanel."}],"x-tagGroups":[{"name":"Files","tags":["FTP Accounts"]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}}},"set_homedir":{"paths":{"/Ftp/set_homedir":{"get":{"parameters":[{"name":"user","in":"query","schema":{"type":"string","example":"example1"},"required":true,"description":"The FTP account username."},{"schema":{"type":"string","format":"domain","example":"example.com"},"description":"The user's associated domain.\n\n**Note:**\n\nThe default value is the cPanel account's primary domain.","required":false,"name":"domain","in":"query"},{"name":"homedir","in":"query","description":"The FTP account's home directory\n\n**Note:**\n\nThis parameter defaults to the `user@domain` subdirectory in the cPanel account's home directory with the name, where user and domain represent the `user` and `domain` parameters.","required":false,"schema":{"format":"path","type":"string","default":"user@domain/","example":"example1/"}}],"tags":["Ftp","FTP Accounts"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"module":{"example":"Ftp","description":"The name of the module called.","type":"string"},"result":{"properties":{"metadata":{"properties":{}},"errors":{"nullable":true,"type":"array","example":null,"description":"List of errors if the API failed.","items":{"type":"string"}},"status":{"enum":[0,1],"example":1,"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","type":"integer"},"data":{"type":"object","nullable":true,"default":null},"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null,"type":"array","nullable":true},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}}}},"func":{"example":"set_homedir","description":"The name of the method called.","type":"string"}},"type":"object"}}}}},"x-readonly":false,"operationId":"Ftp-set_homedir","description":"This function changes the home directory for FTP accounts.\n\n**Important:**\n\nWhen you disable the [FTP role](https://go.cpanel.net/serverroles), the system **disables** this function.","summary":"Update FTP account's home directory","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Ftp \\\n  set_homedir \\\n  user='example1'\n","lang":"Shell","label":"CLI"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Ftp/set_homedir?user=example1","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Ftp_set_homedir.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Ftp_set_homedir.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Ftp/,\n    q/set_homedir/,\n    {\n        'user' => 'example1',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Ftp_set_homedir.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Ftp_set_homedir.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Ftp',\n    'set_homedir',\n    array (\n        'user' => 'example1',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 54","x-cpanel-api-version":"UAPI","x-rollback":"none"}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"security":[{"BasicAuth":[]}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"x-tagGroups":[{"name":"Files","tags":["FTP Accounts"]}],"tags":[{"description":"The Ftp module for UAPI.","name":"Ftp"},{"name":"FTP Accounts","description":"Files / FTP Accounts"}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}}}]},"get_port":{"paths":{"/Ftp/get_port":{"get":{"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.","summary":"Return FTP server's port","x-cpanel-available-version":"cPanel 11.42","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Ftp \\\n  get_port\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Ftp/get_port","label":"URL","lang":"HTTP"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Ftp_get_port.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Ftp_get_port.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Ftp/,\n    q/get_port/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Ftp_get_port.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Ftp_get_port.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Ftp',\n    'get_port'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-api-version":"UAPI","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"result":{"properties":{"status":{"enum":[0,1],"example":1,"description":"* `1` - Success\n* `0` - Failed. Check the errors field for more details.","type":"integer"},"warnings":{"nullable":true,"type":"array","example":null,"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"}},"data":{"type":"object","properties":{"port":{"description":"The FTP port.","example":21,"minimum":1,"maximum":65335,"type":"integer"}}},"metadata":{"properties":{}},"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"messages":{"example":null,"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"}},"type":"object"},"module":{"type":"string","example":"Ftp","description":"The name of the module called."},"func":{"example":"get_port","description":"The name of the method called.","type":"string"},"apiversion":{"type":"integer","description":"The version of the API.","example":3}},"type":"object"}}},"description":"HTTP Request was successful."}},"tags":["Ftp","FTP Server Settings"],"x-readonly":true,"operationId":"Ftp-get_port"}}},"info":{"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"},"license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999"},"externalDocs":{"url":"https://cpanel.net/developers/"},"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute"}],"tags":[{"name":"Ftp","description":"The Ftp module for UAPI."},{"description":"Files / FTP Server Settings","name":"FTP Server Settings"}],"x-tagGroups":[{"tags":["FTP Server Settings"],"name":"Files"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"security":[{"BasicAuth":[]}]},"get_quota":{"paths":{"/Ftp/get_quota":{"get":{"operationId":"Ftp-get_quota","x-readonly":true,"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"description":"The version of the API.","example":3,"type":"integer"},"result":{"type":"object","properties":{"metadata":{"properties":{}},"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"status":{"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","example":1,"enum":[0,1],"type":"integer"},"warnings":{"example":null,"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"},"data":{"type":"string","description":"The FTP account's quota.\n* `unlimited`\n* A positive integer that represents the maximum amount of disk space that the FTP account can use, in megabytes (MB).","example":"unlimited"},"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null}}},"module":{"type":"string","description":"The name of the module called.","example":"Ftp"},"func":{"type":"string","example":"get_quota","description":"The name of the method called."}},"type":"object"}}}}},"parameters":[{"name":"account","in":"query","description":"The FTP account's username.","required":true,"schema":{"example":"user1","type":"string"}},{"name":"domain","in":"query","required":false,"description":"The user's associated domain.\n\n**Note:**\n\nThis parameter defaults to the cPanel account's primary domain.","schema":{"format":"domain","type":"string","example":"example.com"}}],"tags":["Ftp","FTP Accounts"],"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.","summary":"Return FTP account's quota","x-cpanel-available-version":"cPanel 11.42","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Ftp \\\n  get_quota \\\n  account='user1'\n"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/Ftp/get_quota?account=user1"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Ftp_get_quota.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Ftp_get_quota.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Ftp/,\n    q/get_quota/,\n    {\n        'account' => 'user1',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Ftp_get_quota.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Ftp_get_quota.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Ftp',\n    'get_quota',\n    array (\n        'account' => 'user1',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-api-version":"UAPI"}}},"info":{"license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}}}],"openapi":"3.0.2","tags":[{"description":"The Ftp module for UAPI.","name":"Ftp"},{"name":"FTP Accounts","description":"Files / FTP Accounts"}],"x-tagGroups":[{"tags":["FTP Accounts"],"name":"Files"}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"security":[{"BasicAuth":[]}]},"kill_session":{"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.","version":"11.89.0.9999","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/"},"security":[{"BasicAuth":[]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"x-tagGroups":[{"name":"Files","tags":["FTP Server Settings"]}],"servers":[{"description":"A server running cPanel.","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute"}],"openapi":"3.0.2","tags":[{"name":"Ftp","description":"The FTP module for UAPI."},{"description":"Files / FTP Server Settings","name":"FTP Server Settings"}],"paths":{"/Ftp/kill_session":{"get":{"x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Ftp \\\n  kill_session\n"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/Ftp/kill_session"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Ftp_kill_session.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Ftp_kill_session.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Ftp/,\n    q/kill_session/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Ftp_kill_session.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Ftp_kill_session.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Ftp',\n    'kill_session'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Stop FTP session","x-cpanel-available-version":"cPanel 11.42","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.","x-cpanel-api-version":"UAPI","x-rollback":"none","tags":["Ftp","FTP Server Settings"],"parameters":[{"required":false,"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.","schema":{"example":"weeones","default":"all","type":"string"},"in":"query","name":"login"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"func":{"description":"The name of the method called.","example":"kill_session","type":"string"},"result":{"properties":{"status":{"description":"* `1` - Success.\n* `0` - Failed. Check the errors field for more details.","enum":[0,1],"example":1,"type":"integer"},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"messages":{"description":"List of messages generated by the API.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"warnings":{"example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","nullable":true,"type":"array"},"data":{"default":null,"nullable":true,"type":"object"},"metadata":{"properties":{}}}},"module":{"type":"string","example":"Ftp","description":"The name of the module called."},"apiversion":{"example":3,"description":"The version of the API.","type":"integer"}}}}},"description":"HTTP Request was successful."}},"operationId":"Ftp-kill_session","x-readonly":false}}}},"allows_anonymous_ftp_incoming":{"info":{"license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"x-tagGroups":[{"tags":["FTP Server Settings"],"name":"Files"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}}}],"openapi":"3.0.2","tags":[{"description":"The Ftp module for UAPI.","name":"Ftp"},{"name":"FTP Server Settings","description":"Files / FTP Server Settings"}],"security":[{"BasicAuth":[]}],"paths":{"/Ftp/allows_anonymous_ftp_incoming":{"get":{"parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"apiversion":{"description":"The version of the API.","example":3,"type":"integer"},"func":{"example":"allows_anonymous_ftp_incoming","description":"The name of the method called.","type":"string"},"module":{"type":"string","description":"The name of the module called.","example":"Ftp"},"result":{"properties":{"metadata":{"properties":{}},"warnings":{"type":"array","nullable":true,"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"},"example":null},"data":{"properties":{"allows":{"type":"integer","description":"Whether the cPanel account allows inbound anonymous FTP transfers.\n* `1` - Allowed.\n* `0` - Not allowed.","enum":[0,1],"example":1}},"type":"object"},"messages":{"description":"List of messages generated by the API.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"errors":{"example":null,"description":"List of errors if the API failed.","items":{"type":"string"},"nullable":true,"type":"array"},"status":{"description":"* `1` - Success\n* `0` - Failed: Check the errors field for more details.","example":1,"enum":[0,1],"type":"integer"}},"type":"object"}},"type":"object"}}},"description":"HTTP Request was successful."}},"tags":["Ftp","FTP Server Settings"],"x-readonly":true,"operationId":"Ftp-allows_anonymous_ftp_incoming","summary":"Return if anonymous FTP transfers allowed","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Ftp \\\n  allows_anonymous_ftp_incoming\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Ftp/allows_anonymous_ftp_incoming","label":"URL","lang":"HTTP"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Ftp_allows_anonymous_ftp_incoming.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Ftp_allows_anonymous_ftp_incoming.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Ftp/,\n    q/allows_anonymous_ftp_incoming/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Ftp_allows_anonymous_ftp_incoming.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Ftp_allows_anonymous_ftp_incoming.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Ftp',\n    'allows_anonymous_ftp_incoming'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 11.42","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.","x-cpanel-api-version":"UAPI"}}}}},"Tokens":{"create_full_access":{"info":{"license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"x-tagGroups":[{"name":"API Development Tools","tags":["API Token Management"]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"openapi":"3.0.2","servers":[{"variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"tags":[{"name":"Tokens","description":"The Tokens module for UAPI."},{"name":"API Token Management","description":"API Development Tools / API Token Management"}],"security":[{"BasicAuth":[]}],"paths":{"/Tokens/create_full_access":{"get":{"x-rollback":"none","x-cpanel-api-version":"UAPI","summary":"Create cPanel API token","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Tokens \\\n  create_full_access \\\n  name='example'\n","label":"CLI","lang":"Shell"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/Tokens/create_full_access?name=example"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-available-version":"cPanel 80","description":"This function creates a new API token with full access to all of a cPanel account's features.\n\n**Note:**\n\nThe token **only** grants access to the features that the account has access to. For example,\nif you disable the [*File Manager*](https://go.cpanel.net/cpaneldocsFileManager) feature, the\ntoken can't access it.","operationId":"Tokens-create_full_access","x-readonly":false,"parameters":[{"schema":{"example":"example","maxLength":50,"type":"string"},"required":true,"description":"The API token's name.\n\n**Note:**\n\nThe name may **only** contain alphanumeric characters, dashes (`-`), and underscores (`_`).","name":"name","in":"query"},{"schema":{"format":"unix_timestamp","type":"integer","example":1609372800},"description":"The API token's expiration time.\n\n**Important:**\n\n* When an API token expires the system does **not** delete it. You **must** manually delete expired API tokens.\n* If you do not use this parameter, the API token will **not** expire.","required":false,"name":"expires_at","in":"query"},{"name":"readonly","in":"query","required":false,"description":"Restrict the API token to read-only operations.\n\n**Note:**\n\nA read-only token retains full access to the account's features but\nmay only call operations that do not modify state. Write operations\nare rejected server-side.","schema":{"example":1,"enum":[1,0],"type":"integer"}}],"tags":["Tokens","API Token Management"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"result":{"type":"object","properties":{"errors":{"nullable":true,"type":"array","example":null,"description":"List of errors if the API failed.","items":{"type":"string"}},"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null},"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null,"type":"array","nullable":true},"data":{"type":"object","properties":{"create_time":{"format":"unix_timestamp","type":"integer","example":1549467298,"description":"The API token's creation date and time."},"token":{"type":"string","example":"JPQNSRU0DH448UJLGXH7KVJECC5QN9N9","description":"The generated API token."}}},"metadata":{"properties":{}},"status":{"example":1,"enum":[0,1],"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","type":"integer"}}},"module":{"description":"The name of the module called.","example":"Tokens","type":"string"},"func":{"example":"create_full_access","description":"The name of the method called.","type":"string"}},"type":"object"}}}}}}}}},"rename":{"paths":{"/Tokens/rename":{"get":{"parameters":[{"schema":{"type":"string","example":"example"},"description":"The API token's name.","required":true,"in":"query","name":"name"},{"description":"The new name for the API token.\n\n**Note:**\n\nThe name may only contain alphanumeric characters, dashes (`-`), and underscores (`_`).","required":true,"schema":{"type":"string","example":"newexample","maxLength":50},"name":"new_name","in":"query"}],"x-rollback":"clean","description":"This function renames a cPanel account's existing API token.","x-readonly":false,"operationId":"Tokens-rename","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"module":{"type":"string","example":"Tokens","description":"The name of the module called."},"result":{"properties":{"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null},"metadata":{"properties":{}},"status":{"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","enum":[0,1],"example":1,"type":"integer"},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"data":{"default":null,"type":"object","nullable":true}}},"func":{"type":"string","description":"The name of the method called.","example":"rename"}}}}}}},"tags":["Tokens","API Token Management"],"x-cpanel-api-version":"UAPI","summary":"Update cPanel API token's name","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Tokens \\\n  rename \\\n  name='example' \\\n  new_name='newexample'\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Tokens/rename?name=example&new_name=newexample","lang":"HTTP","label":"URL"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n//    to .../frontend/<theme-name>/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"x-cpanel-available-version":"cPanel 80"}}},"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"x-tagGroups":[{"name":"API Development Tools","tags":["API Token Management"]}],"tags":[{"name":"Tokens","description":"The Tokens module for UAPI."},{"name":"API Token Management","description":"API Development Tools / API Token Management"}],"servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}}}],"openapi":"3.0.2","security":[{"BasicAuth":[]}],"info":{"license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"}},"revoke":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."},"security":[{"BasicAuth":[]}],"x-tagGroups":[{"tags":["API Token Management"],"name":"API Development Tools"}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"tags":[{"name":"Tokens","description":"The Tokens module for UAPI."},{"description":"API Development Tools / API Token Management","name":"API Token Management"}],"openapi":"3.0.2","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":{"description":"The cPanel port.","default":"2083"}}}],"paths":{"/Tokens/revoke":{"get":{"x-cpanel-api-version":"UAPI","summary":"Remove cPanel API token","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Tokens \\\n  revoke \\\n  name='example'\n","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Tokens/revoke?name=example","lang":"HTTP","label":"URL"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 80","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"func":{"type":"string","example":"revoke","description":"The name of the method called."},"module":{"description":"The name of the module called.","example":"Tokens","type":"string"},"result":{"type":"object","properties":{"metadata":{"properties":{}},"data":{"description":"Whether the system removed the API token.\n\n* `1` - The system removed the API token or the API token doesn't exist.\n* `0` - The system did **not** remove the API token.\n\n**Note:**\n\nThe 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.","example":1,"enum":[0,1],"type":"integer"},"warnings":{"example":null,"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"},"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null},"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null},"status":{"type":"integer","description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","example":1,"enum":[0,1]}}},"apiversion":{"type":"integer","example":3,"description":"The version of the API."}},"type":"object"}}}}},"tags":["Tokens","API Token Management"],"x-readonly":false,"operationId":"Tokens-revoke","description":"This function removes an API token from a cPanel account.","x-rollback":"none","parameters":[{"name":"name","in":"query","schema":{"type":"string","example":"example"},"description":"The API token to remove.","required":true}]}}}},"list":{"paths":{"/Tokens/list":{"get":{"x-cpanel-api-version":"UAPI","summary":"Return cPanel API tokens","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Tokens \\\n  list\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Tokens/list","label":"URL","lang":"HTTP"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n//    to .../frontend/<theme-name>/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}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-available-version":"cPanel 80","description":"This function returns a list of a cPanel account's API tokens.","tags":["Tokens","API Token Management"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"func":{"type":"string","example":"list","description":"The name of the method called."},"module":{"description":"The name of the module called.","example":"Tokens","type":"string"},"result":{"type":"object","properties":{"metadata":{"properties":{"transformed":{"enum":[1],"example":1,"description":"Post-processing may have transformed the data.","type":"integer"}}},"data":{"type":"array","description":"An array of objects containing the account's API tokens.","items":{"type":"object","properties":{"has_full_access":{"type":"integer","enum":[1,0],"example":1,"description":"Whether the API token has full access to the account's features.\n\n* `1` — The API token has full access to the account's features.\n* `0` — The API token does **not** have full access to the\naccount's features."},"name":{"type":"string","example":"exampletoken","description":"The API token's name."},"features":{"example":[],"description":"The account features that the API token has access to.\n\n* An empty array — The API token has full access.","items":{"type":"string"},"type":"array"},"expires_at":{"format":"unix_timestamp","type":"integer","nullable":true,"description":"The API token's expiration time.\n\n* null — The API token does **not** expire.","example":1609372800},"create_time":{"description":"The API token's creation date and time.","example":1549471343,"format":"unix_timestamp","type":"integer"},"readonly":{"type":"integer","enum":[1,0],"example":0,"description":"Whether the API token is restricted to read-only operations.\n\n* `1` — The API token may only call operations classified\nread-only; write operations are rejected server-side.\n* `0` — The API token may perform write operations.\n\nThis property is present and `1` only for read-only tokens;\notherwise it is absent or `0`. It is orthogonal to\n`has_full_access`, which describes feature access rather than\nread/write ability."}}}},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"messages":{"example":null,"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"status":{"example":1,"enum":[1,0],"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","type":"integer"}}}},"type":"object"}}}}},"parameters":[],"x-readonly":true,"operationId":"Tokens-list"}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"}},"security":[{"BasicAuth":[]}],"x-tagGroups":[{"tags":["API Token Management"],"name":"API Development Tools"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"openapi":"3.0.2","tags":[{"name":"Tokens","description":"The Tokens module for UAPI."},{"name":"API Token Management","description":"API Development Tools / API Token Management"}],"servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}}}]}},"DomainLookup":{"getdocroot":{"paths":{"/DomainLookup/getdocroot":{"get":{"x-readonly":true,"operationId":"DomainLookup-getdocroot","tags":["DomainLookup"],"parameters":[{"in":"query","name":"domain","required":false,"description":"The domain to look up. The system converts this value to lowercase.\n\nOmit this parameter to retrieve the document root for the account's primary domain.","schema":{"example":"example.com","type":"string","format":"domain"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"warnings":{"items":{"type":"string"},"nullable":true,"type":"array"},"data":{"type":"array","items":{"properties":{"reldocroot":{"type":"string","description":"The domain's document root, relative to the account's home directory.","example":"public_html"},"docroot":{"example":"/home/username/public_html","description":"The absolute path to the domain's document root.","type":"string","format":"path"}},"type":"object"},"description":"A single entry for the requested domain."},"metadata":{"type":"object","properties":{"transformed":{"type":"integer"}}},"errors":{"items":{"type":"string"},"nullable":true,"type":"array"},"messages":{"items":{"type":"string"},"type":"array","nullable":true},"status":{"type":"integer","example":1,"enum":[0,1],"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details."}}}}},"description":"HTTP Request was successful."}},"x-cpanel-api-version":"UAPI","description":"This function retrieves the document root for a single domain on the\ncPanel account.\n\n**Note:**\n\nIf the domain does not exist on the account, the system returns the\naccount's `public_html` directory rather than an error.","summary":"Return a domain's document root","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"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DomainLookup_getdocroot.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DomainLookup_getdocroot.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DomainLookup/,\n    q/getdocroot/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DomainLookup_getdocroot.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DomainLookup_getdocroot.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DomainLookup',\n    'getdocroot'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}\n"}],"x-cpanel-available-version":"cPanel 138"}}},"info":{"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"},"version":"11.138.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel.","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}}}],"tags":[{"description":"The DomainLookup module for UAPI.","name":"DomainLookup"}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"x-tagGroups":[{"name":"Domain Management","tags":["DomainLookup"]}],"security":[{"BasicAuth":[]}]},"getbasedomains":{"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"x-tagGroups":[{"tags":["DomainLookup"],"name":"Domain Management"}],"tags":[{"description":"The DomainLookup module for UAPI.","name":"DomainLookup"}],"openapi":"3.0.2","servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel."}},"description":"A server running cPanel."}],"security":[{"BasicAuth":[]}],"info":{"version":"11.138.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/","contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/DomainLookup/getbasedomains":{"get":{"x-cpanel-api-version":"UAPI","description":"This function lists the cPanel account's base domains: the primary\ndomain, its addon domains and its parked domains.\n\n**Note:**\n\nSubdomains are **not** base domains and this function does not return\nthem. Use the `SubDomain::listsubdomains` function for those.","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  DomainLookup \\\n  getbasedomains\n","label":"CLI","lang":"Shell"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/DomainLookup/getbasedomains"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DomainLookup_getbasedomains.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DomainLookup_getbasedomains.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DomainLookup/,\n    q/getbasedomains/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DomainLookup_getbasedomains.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DomainLookup_getbasedomains.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DomainLookup',\n    'getbasedomains'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}\n","label":"LiveAPI PHP","lang":"PHP"}],"summary":"List the domains that have their own DNS zone","x-cpanel-available-version":"cPanel 138","parameters":[{"name":"return_temporary_domain","in":"query","description":"Whether to include the account's temporary domains in the result.\n* `1` - Include temporary domains.\n* `0` - Exclude temporary domains.","required":false,"schema":{"type":"integer","example":1,"default":0,"enum":[0,1]}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","nullable":true,"items":{"type":"string"}},"metadata":{"properties":{"transformed":{"type":"integer"}},"type":"object"},"status":{"type":"integer","enum":[0,1],"example":1,"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details."},"messages":{"items":{"type":"string"},"nullable":true,"type":"array"},"warnings":{"items":{"type":"string"},"nullable":true,"type":"array"},"data":{"type":"array","items":{"type":"object","properties":{"domain":{"type":"string","format":"domain","example":"example.com","description":"The base domain."}}},"description":"One entry for each base domain on the account, sorted by domain name."}}}}},"description":"HTTP Request was successful."}},"tags":["DomainLookup"],"operationId":"DomainLookup-getbasedomains","x-readonly":true}}}},"countbasedomains":{"paths":{"/DomainLookup/countbasedomains":{"get":{"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"status":{"type":"integer","example":1,"enum":[0,1],"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details."},"errors":{"items":{"type":"string"},"type":"array","nullable":true},"messages":{"type":"array","nullable":true,"items":{"type":"string"}},"data":{"type":"array","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"}},"warnings":{"items":{"type":"string"},"type":"array","nullable":true},"metadata":{"properties":{"transformed":{"type":"integer"}},"type":"object"}},"type":"object"}}}}},"parameters":[],"tags":["DomainLookup"],"operationId":"DomainLookup-countbasedomains","x-readonly":true,"x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  DomainLookup \\\n  countbasedomains\n"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/DomainLookup/countbasedomains"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DomainLookup_countbasedomains.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DomainLookup_countbasedomains.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DomainLookup/,\n    q/countbasedomains/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DomainLookup_countbasedomains.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DomainLookup_countbasedomains.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DomainLookup',\n    'countbasedomains'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}\n"}],"summary":"Count the domains that have their own DNS zone","x-cpanel-available-version":"cPanel 138","description":"This function counts the cPanel account's base domains: the primary\ndomain, its addon domains and its parked domains.\n\n**Note:**\n\nThe count excludes temporary domains, and matches the number of entries\nthat the `DomainLookup::getbasedomains` function returns by default.","x-cpanel-api-version":"UAPI"}}},"security":[{"BasicAuth":[]}],"x-tagGroups":[{"name":"Domain Management","tags":["DomainLookup"]}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel.","default":"cpanel-server.tld"}}}],"tags":[{"description":"The DomainLookup module for UAPI.","name":"DomainLookup"}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.138.0.9999"}},"getdocroots":{"paths":{"/DomainLookup/getdocroots":{"get":{"summary":"Return every domain's document root","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  DomainLookup \\\n  getdocroots\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/DomainLookup/getdocroots","lang":"HTTP","label":"URL"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DomainLookup_getdocroots.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DomainLookup_getdocroots.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DomainLookup/,\n    q/getdocroots/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DomainLookup_getdocroots.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DomainLookup_getdocroots.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DomainLookup',\n    'getdocroots'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}\n","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-available-version":"cPanel 138","description":"This function retrieves the document root for every domain on the cPanel account, including the primary domain, addon domains, parked domains and subdomains.","x-cpanel-api-version":"UAPI","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"integer","enum":[0,1],"example":1,"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details."},"errors":{"items":{"type":"string"},"nullable":true,"type":"array"},"messages":{"type":"array","nullable":true,"items":{"type":"string"}},"data":{"items":{"type":"object","properties":{"domain":{"type":"string","format":"domain","description":"The domain.","example":"example.com"},"docroot":{"type":"string","format":"path","example":"/home/username/public_html","description":"The absolute path to the domain's document root."}}},"description":"One entry for each domain on the account, sorted by domain name.","type":"array"},"warnings":{"nullable":true,"type":"array","items":{"type":"string"}},"metadata":{"type":"object","properties":{"transformed":{"type":"integer"}}}}}}},"description":"HTTP Request was successful."}},"tags":["DomainLookup"],"x-readonly":true,"operationId":"DomainLookup-getdocroots"}}},"tags":[{"description":"The DomainLookup module for UAPI.","name":"DomainLookup"}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"host":{"description":"The hostname of a server running cPanel.","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"x-tagGroups":[{"tags":["DomainLookup"],"name":"Domain Management"}],"security":[{"BasicAuth":[]}],"info":{"termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","version":"11.138.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"}}},"DirectoryProtection":{"list_directories":{"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI"},"externalDocs":{"url":"https://cpanel.net/developers/"},"x-tagGroups":[{"tags":["Directory Protection"],"name":"Directory Management"}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"openapi":"3.0.2","tags":[{"description":"The DirectoryProtection module for UAPI.","name":"DirectoryProtection"},{"description":"Directory Management / Directory Protection","name":"Directory Protection"}],"servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}}}],"security":[{"BasicAuth":[]}],"paths":{"/DirectoryProtection/list_directories":{"get":{"x-readonly":true,"operationId":"DirectoryProtection-list_directories","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"result":{"properties":{"warnings":{"type":"array","nullable":true,"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"},"example":null},"data":{"properties":{"parent":{"type":"object","properties":{"state":{"type":"object","properties":{"has_leech_protection":{"type":"integer","enum":[1,0],"example":1,"description":"The parent directory's leech protection status.\n\n* `1` — Leech protection is enabled.\n* `0` — Leech protection is disabled."}},"description":"An object containing the parent directory's leech protection information."},"path":{"example":"/home/example","description":"The parent directory's absolute directory path.","format":"path","type":"string"}},"description":"The parent directory of the current directory and its leech protection information."},"home":{"description":"The user's `home` directory and its leech protection information.","properties":{"path":{"example":"/home/example","description":"The `home` directory's absolute directory path.","type":"string","format":"path"},"state":{"description":"A object containing the `home` directory's leech protection information.","type":"object","properties":{"has_leech_protection":{"type":"integer","example":1,"enum":[1,0],"description":"The home directory's leech protection status.\n\n* `1` — Leech protection is enabled.\n* `0` — Leech protection is disabled."}}}},"type":"object"},"children":{"type":"array","description":"A list of subdirectories and their leech protection information.\n\n**Note:**\n\nThe function returns a list for each subdirectory in a directory.","items":{"properties":{"state":{"description":"A object containing the subdirectory's leech protection information.","type":"object","properties":{"has_leech_protection":{"type":"integer","description":"The directory's leech protection status.\n\n* `1` — Leech protection is enabled.\n* `0` — Leech protection is disabled.","example":1,"enum":[1,0]}}},"path":{"example":"/home/example/example.com/cgi-bin","description":"The subdirectory's absolute directory path.","type":"string","format":"path"}},"type":"object"}},"current":{"type":"object","properties":{"path":{"example":"/home/example/example.com","description":"The current directory's absolute file path.","format":"path","type":"string"},"state":{"type":"object","properties":{"has_leech_protection":{"type":"integer","description":"The current directory's leech protection status.\n\n* `1` — Leech protection is enabled.\n* `0` — Leech protection is disabled.","enum":[1,0],"example":1}},"description":"An object containing the current directory's leech protection information."}},"description":"The user's current directory and its leech protection information."}},"type":"object"},"metadata":{"properties":{}},"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"messages":{"items":{"type":"string"},"description":"List of messages generated by the API.","example":null,"type":"array","nullable":true},"status":{"type":"integer","description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","enum":[1,0],"example":1}},"type":"object"},"module":{"example":"DirectoryProtection","description":"The name of the module called.","type":"string"},"func":{"example":"list_directories","description":"The name of the method called.","type":"string"},"apiversion":{"type":"integer","example":3,"description":"The version of the API."}}}}},"description":"HTTP Request was successful."}},"tags":["DirectoryProtection","Directory Protection"],"parameters":[{"in":"query","name":"dir","description":"The absolute or relative file path in the user's `home` directory for which to return leech protection information.","required":true,"schema":{"type":"string","format":"path","example":"/home/example/example.com"}}],"x-rollback":"none","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  DirectoryProtection \\\n  list_directories \\\n  dir='/home/example/example.com'\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/DirectoryProtection/list_directories?dir=%2fhome%2fexample%2fexample.com","label":"URL","lang":"HTTP"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DirectoryProtection_list_directories.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DirectoryProtection_list_directories.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DirectoryProtection/,\n    q/list_directories/,\n    {\n        'dir' => '/home/example/example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DirectoryProtection_list_directories.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DirectoryProtection_list_directories.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DirectoryProtection',\n    'list_directories',\n    array (\n        'dir' => '/home/example/example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 88","summary":"Return Directory Protection settings","description":"This function returns the\n[leech protection](https://go.cpanel.net/cpaneldocsLeechProtection)\nsettings of the subdirectories in a directory.","x-cpanel-api-version":"UAPI"}}}}},"TwoFactorAuth":{"get_team_user_configuration":{"servers":[{"url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"description":"A server running cPanel."}],"tags":[{"name":"TwoFactorAuth","description":"The TwoFactorAuth module for UAPI."},{"name":"Two-Factor Settings","description":"Authentication / Two-Factor Settings"}],"openapi":"3.0.2","components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"name":"Authentication","tags":["Two-Factor Settings"]}],"security":[{"BasicAuth":[]}],"info":{"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"},"termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/TwoFactorAuth/get_team_user_configuration":{"get":{"operationId":"TwoFactorAuth-get_team_user_configuration","x-readonly":false,"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"type":"integer","description":"The version of the API.","example":3},"result":{"properties":{"status":{"type":"integer","description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","enum":[0,1],"example":1},"metadata":{"properties":{}},"data":{"properties":{"is_enabled":{"description":"Whether two-factor authentication is enabled for the team user.\n* `1` - Enabled.\n* `0` - Disabled.","example":1,"enum":[0,1],"type":"integer"},"issuer":{"example":"Example WebPros International, LLC","description":"The authentication code issuer's name.","type":"string"}},"type":"object"},"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"},"example":null,"type":"array","nullable":true},"messages":{"description":"List of messages generated by the API.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"errors":{"example":null,"description":"List of errors if the API failed.","items":{"type":"string"},"nullable":true,"type":"array"}},"type":"object"},"module":{"example":"TwoFactorAuth","description":"The name of the module called.","type":"string"},"func":{"example":"get_team_user_configuration","description":"The name of the method called.","type":"string"}},"type":"object"}}}}},"tags":["TwoFactorAuth","Two-Factor Settings"],"summary":"Return team user 2FA config","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  TwoFactorAuth \\\n  get_team_user_configuration \\\n  team_user=teamuser\n","lang":"Shell","label":"CLI"},{"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# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"x-cpanel-available-version":"cPanel 54","x-cpanel-api-version":"UAPI","parameters":[{"in":"query","name":"team_user","required":true,"description":"The team user's username.\n\n**Note:**\n\nThe username will always precede the cPanel account's primary domain.","schema":{"example":"user@example.com","type":"string"}}],"x-rollback":"none","description":"This function retrieves a [team user's](https://go.cpanel.net/manage-team) configuration settings for two-factor authentication."}}}},"remove_user_configuration":{"paths":{"/TwoFactorAuth/remove_user_configuration":{"get":{"x-cpanel-api-version":"UAPI","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  TwoFactorAuth \\\n  remove_user_configuration\n"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/TwoFactorAuth/remove_user_configuration"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"summary":"Remove 2FA config","x-cpanel-available-version":"cPanel 54","tags":["TwoFactorAuth","Two-Factor Settings"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"func":{"type":"string","description":"The name of the method called.","example":"remove_user_configuration"},"module":{"description":"The name of the module called.","example":"TwoFactorAuth","type":"string"},"result":{"type":"object","properties":{"errors":{"example":null,"items":{"type":"string"},"description":"List of errors if the API failed.","nullable":true,"type":"array"},"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null},"data":{"type":"object","properties":{"tfa_removed":{"type":"integer","description":"Whether the system removed the user from the two-factor authentication `userdata` file.\n* `1` - Removed.\n\n**Note:**\n\nIf a removal fails, the system sends a failure response with the reason in the metadata.","example":1,"enum":[1]}}},"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API."},"metadata":{"properties":{}},"status":{"type":"integer","example":1,"enum":[0,1],"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details."}}},"apiversion":{"type":"integer","example":3,"description":"The version of the API."}},"type":"object"}}}}},"operationId":"TwoFactorAuth-remove_user_configuration","x-readonly":false,"description":"This function removes the user from the two-factor authentication `userdata` file.","x-rollback":"none","parameters":[]}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"}},"security":[{"BasicAuth":[]}],"x-tagGroups":[{"tags":["Two-Factor Settings"],"name":"Authentication"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute"}],"tags":[{"description":"The TwoFactorAuth module for UAPI.","name":"TwoFactorAuth"},{"name":"Two-Factor Settings","description":"Authentication / Two-Factor Settings"}]},"set_user_configuration":{"security":[{"BasicAuth":[]}],"servers":[{"variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"name":"TwoFactorAuth","description":"The TwoFactorAuth module for UAPI."},{"description":"Authentication / Two-Factor Settings","name":"Two-Factor Settings"}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"x-tagGroups":[{"tags":["Two-Factor Settings"],"name":"Authentication"}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"paths":{"/TwoFactorAuth/set_user_configuration":{"get":{"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"module":{"example":"TwoFactorAuth","description":"The name of the module called.","type":"string"},"result":{"properties":{"status":{"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","enum":[0,1],"example":1,"type":"integer"},"data":{"type":"object","properties":{"tfa_configured":{"description":"Whether two-factor authentication is enabled.\n* `1` - Enabled.\n* `1` - Disabled.","example":1,"enum":[0,1],"type":"integer"}}},"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null,"type":"array","nullable":true},"metadata":{"properties":{}},"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null},"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null}},"type":"object"},"func":{"example":"set_user_configuration","description":"The name of the method called.","type":"string"}}}}}}},"parameters":[{"name":"secret","in":"query","required":true,"description":"The 16-character string that UAPI's `TwoFactorAuth::generate_user_configuration` function generates.","schema":{"maxLength":16,"example":"JBSWY3DPEHPK3PXP","type":"string"}},{"description":"The six-digit security code that the time-based one-time password (TOTP) authentication app generates.","required":true,"schema":{"type":"integer","maxLength":6,"example":528112},"in":"query","name":"tfa_token"}],"tags":["TwoFactorAuth","Two-Factor Settings"],"x-readonly":false,"operationId":"TwoFactorAuth-set_user_configuration","description":"This function configures the two-factor authentication settings for an account.","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"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/TwoFactorAuth/set_user_configuration?secret=JBSWY3DPEHPK3PXP&tfa_token=528112","lang":"HTTP","label":"URL"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"summary":"Save 2FA config","x-cpanel-available-version":"cPanel 54","x-cpanel-api-version":"UAPI","x-rollback":"none"}}}},"get_user_configuration":{"info":{"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"},"termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."},"externalDocs":{"url":"https://cpanel.net/developers/"},"tags":[{"name":"TwoFactorAuth","description":"The TwoFactorAuth module for UAPI."},{"name":"Two-Factor Settings","description":"Authentication / Two-Factor Settings"}],"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":{"description":"The cPanel port.","default":"2083"}}}],"openapi":"3.0.2","x-tagGroups":[{"tags":["Two-Factor Settings"],"name":"Authentication"}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"security":[{"BasicAuth":[]}],"paths":{"/TwoFactorAuth/get_user_configuration":{"get":{"x-readonly":true,"operationId":"TwoFactorAuth-get_user_configuration","tags":["TwoFactorAuth","Two-Factor Settings"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"module":{"type":"string","example":"TwoFactorAuth","description":"The name of the module called."},"result":{"type":"object","properties":{"status":{"type":"integer","description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","enum":[0,1],"example":1},"messages":{"items":{"type":"string"},"description":"List of messages generated by the API.","example":null,"type":"array","nullable":true},"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null},"metadata":{"properties":{}},"data":{"type":"object","properties":{"issuer":{"example":"Example WebPros International, LLC","description":"The authentication code issuer's name.","type":"string"},"is_enabled":{"enum":[0,1],"example":1,"description":"Whether two-factor authentication is enabled for the account.\n* `1` - Enabled.\n* `0` - Disabled.","type":"integer"}}},"warnings":{"example":null,"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"}}},"func":{"type":"string","example":"get_user_configuration","description":"The name of the method called."},"apiversion":{"example":3,"description":"The version of the API.","type":"integer"}},"type":"object"}}}}},"parameters":[],"x-cpanel-api-version":"UAPI","x-cpanel-available-version":"cPanel 54","summary":"Return cPanel account 2FA config","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  TwoFactorAuth \\\n  get_user_configuration\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/TwoFactorAuth/get_user_configuration","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"description":"This function retrieves the cPanel account user's configuration settings for two-factor authentication."}}}},"generate_user_configuration":{"paths":{"/TwoFactorAuth/generate_user_configuration":{"get":{"x-cpanel-api-version":"UAPI","summary":"Create 2FA authentication code","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  TwoFactorAuth \\\n  generate_user_configuration\n","lang":"Shell","label":"CLI"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/TwoFactorAuth/generate_user_configuration"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"x-cpanel-available-version":"cPanel 54","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"apiversion":{"description":"The version of the API.","example":3,"type":"integer"},"result":{"type":"object","properties":{"status":{"type":"integer","example":1,"enum":[0,1],"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details."},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}},"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"metadata":{"properties":{}},"warnings":{"type":"array","nullable":true,"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"},"example":null},"data":{"type":"object","properties":{"secret":{"type":"string","example":"S3I4WUY7MTHRMMWN","description":"A generated code for use with two-factor authentication."},"otpauth_str":{"type":"string","example":"otpauth://totp/Example%20cPanel%20L.L.C.:fakedomain?secret=S3I4WUY7MTHRMMWN&issuer=Example%20cPanel%20L.L.C.","description":"A one-time authentication URL to encode as the QR code."}}}}},"module":{"description":"The name of the module called.","example":"TwoFactorAuth","type":"string"},"func":{"type":"string","example":"generate_user_configuration","description":"The name of the method called."}},"type":"object"}}},"description":"HTTP Request was successful."}},"tags":["TwoFactorAuth","Two-Factor Settings"],"x-readonly":false,"operationId":"TwoFactorAuth-generate_user_configuration","description":"This function generates an authentication code to enable configuration of two-factor authentication.","x-rollback":"none","parameters":[]}}},"x-tagGroups":[{"name":"Authentication","tags":["Two-Factor Settings"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"openapi":"3.0.2","servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"description":"A server running cPanel."}],"tags":[{"description":"The TwoFactorAuth module for UAPI.","name":"TwoFactorAuth"},{"description":"Authentication / Two-Factor Settings","name":"Two-Factor Settings"}],"security":[{"BasicAuth":[]}],"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."},"externalDocs":{"url":"https://cpanel.net/developers/"}}},"Mailboxes":{"set_utf8_mailbox_names":{"security":[{"BasicAuth":[]}],"openapi":"3.0.2","tags":[{"name":"Mailboxes","description":"The Mailboxes module for UAPI."},{"name":"Mailbox Management","description":"Email / Mailbox Management"}],"servers":[{"variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"x-tagGroups":[{"name":"Email","tags":["Mailbox Management"]}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"},"termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."},"paths":{"/Mailboxes/set_utf8_mailbox_names":{"get":{"parameters":[{"description":"Whether to enable or disable UTF-8 character-encoded mailbox\nnames.\n\n* `1` - Enable UTF-8 encoded mailbox names.\n* `0` - Disable UTF-8 encoded mailbox names.","required":true,"schema":{"type":"integer","enum":[0,1],"example":1},"name":"enabled","in":"query"}],"x-rollback":"none","description":"This function enables or disables UTF-8-encoded mailbox names on Roundcube webmail for a cPanel user's email accounts.","x-readonly":false,"operationId":"Mailboxes-set_utf8_mailbox_names","tags":["Mailboxes","Mailbox Management"],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"module":{"type":"string","description":"The name of the module called.","example":"Mailboxes"},"result":{"properties":{"metadata":{"properties":{"transformed":{"enum":[1],"example":1,"description":"Post-processing may have transformed the data.","type":"integer"}}},"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"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"},"example":null,"type":"array","nullable":true},"data":{"properties":{"success":{"example":1,"enum":[0,1],"description":"Whether the system changed mailbox name setting's status.\n* `1` - Success.\n* `0` - Failure.","type":"integer"}},"type":"object"},"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null},"status":{"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","example":1,"enum":[0,1],"type":"integer"}},"type":"object"},"func":{"type":"string","example":"set_utf8_mailbox_names","description":"The name of the method called."},"apiversion":{"type":"integer","description":"The version of the API.","example":3}}}}},"description":"HTTP Request was successful."}},"summary":"Enable or disable Webmail mailbox UTF-8 encoding","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Mailboxes \\\n  set_utf8_mailbox_names \\\n  enabled='1'\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Mailboxes/set_utf8_mailbox_names?enabled=1","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mailboxes_set_utf8_mailbox_names.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mailboxes_set_utf8_mailbox_names.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mailboxes/,\n    q/set_utf8_mailbox_names/,\n    {\n        'enabled' => '1',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mailboxes_set_utf8_mailbox_names.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mailboxes_set_utf8_mailbox_names.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mailboxes',\n    'set_utf8_mailbox_names',\n    array (\n        'enabled' => '1',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 78","x-cpanel-api-version":"UAPI"}}}},"has_utf8_mailbox_names":{"paths":{"/Mailboxes/has_utf8_mailbox_names":{"get":{"tags":["Mailboxes","Mailbox Management"],"parameters":[{"description":"The user for whom to determine whether they currently use UTF-8\ncharacter-encoded mailbox names.\n\n**Note:**\n\nThis parameter defaults to the currently-logged in user.","required":false,"schema":{"type":"string","format":"username","example":"user"},"name":"user","in":"query"}],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"module":{"type":"string","description":"The name of the module called.","example":"Mailboxes"},"result":{"properties":{"status":{"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","enum":[0,1],"example":1,"type":"integer"},"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null},"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null},"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"},"example":null,"type":"array","nullable":true},"data":{"type":"object","properties":{"enabled":{"enum":[0,1],"example":1,"description":"Whether the user currently uses UTF-8 character-encoded mailbox names.\n* `1` - Uses UTF-8 character-encoded mailbox names.\n* `0` - Does **not** use UTF-8 character-encoded mailbox names.","type":"integer"}}},"metadata":{"properties":{"transformed":{"description":"Post-processing may have transformed the data.","enum":[1],"example":1,"type":"integer"}}}},"type":"object"},"func":{"type":"string","description":"The name of the method called.","example":"has_utf8_mailbox_names"},"apiversion":{"type":"integer","description":"The version of the API.","example":3}},"type":"object"}}}}},"x-readonly":true,"operationId":"Mailboxes-has_utf8_mailbox_names","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Mailboxes \\\n  has_utf8_mailbox_names\n"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/Mailboxes/has_utf8_mailbox_names"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mailboxes_has_utf8_mailbox_names.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mailboxes_has_utf8_mailbox_names.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mailboxes/,\n    q/has_utf8_mailbox_names/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mailboxes_has_utf8_mailbox_names.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mailboxes_has_utf8_mailbox_names.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mailboxes',\n    'has_utf8_mailbox_names'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Return if cPanel account's mailboxes use UTF-8","x-cpanel-available-version":"cPanel 78","description":"This function determines whether a cPanel user currently uses UTF-8 character-encoded mailbox names.","x-cpanel-api-version":"UAPI"}}},"security":[{"BasicAuth":[]}],"openapi":"3.0.2","tags":[{"description":"The Mailboxes module for UAPI.","name":"Mailboxes"},{"description":"Email / Mailbox Management","name":"Mailbox Management"}],"servers":[{"description":"A server running cPanel.","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute"}],"x-tagGroups":[{"tags":["Mailbox Management"],"name":"Email"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"},"termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."}},"expunge_messages_for_mailbox_guid":{"security":[{"BasicAuth":[]}],"x-tagGroups":[{"name":"Email","tags":["Mailbox Management"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"name":"Mailboxes","description":"The Mailboxes module for UAPI."},{"name":"Mailbox Management","description":"Email / Mailbox Management"}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"},"termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."},"paths":{"/Mailboxes/expunge_messages_for_mailbox_guid":{"get":{"x-rollback":"none","description":"This function marks the selected mailbox's messages as deleted.","x-cpanel-available-version":"cPanel 64","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"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mailboxes_expunge_messages_for_mailbox_guid.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mailboxes_expunge_messages_for_mailbox_guid.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mailboxes/,\n    q/expunge_messages_for_mailbox_guid/,\n    {\n        'account' => '_mainaccount@example.com',\n        'mailbox_guid' => '2550860f0c58d158c92a000044f0d230',\n        'query' => 'savedbefore 52w',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mailboxes_expunge_messages_for_mailbox_guid.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mailboxes_expunge_messages_for_mailbox_guid.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mailboxes',\n    'expunge_messages_for_mailbox_guid',\n    array (\n        'account' => '_mainaccount@example.com',\n        'mailbox_guid' => '2550860f0c58d158c92a000044f0d230',\n        'query' => 'savedbefore 52w',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"summary":"Delete selected messages in mailbox by GUID","x-cpanel-api-version":"UAPI","operationId":"Mailboxes-expunge_messages_for_mailbox_guid","x-readonly":false,"parameters":[{"examples":{"email":{"value":"user@example.com","summary":"A valid email account."},"cpanel-user":{"value":"example","summary":"The cPanel user's account name."},"_mainaccount":{"value":"_mainaccount@example.com","summary":"The `_mainaccount` alias, which represents the cPanel user's mailbox."}},"description":"The email account's name.","required":true,"schema":{"anyOf":[{"format":"email","type":"string"},{"format":"username","type":"string"}]},"in":"query","name":"account"},{"name":"mailbox_guid","in":"query","required":true,"description":"The mailbox's globally unique identifier (GUID).\n\nUse the `Mailboxes::get_mailbox_status_list` function to list possible values for the `mailbox_guid` parameter.","schema":{"example":"2550860f0c58d158c92a000044f0d230","type":"string"}},{"in":"query","name":"query","required":true,"description":"The query to select which messages you wish to remove from the mailbox.","schema":{"example":"savedbefore 52w","type":"string"}}],"tags":["Mailboxes","Mailbox Management"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"type":"integer","description":"The version of the API.","example":3},"module":{"type":"string","example":"Mailboxes","description":"The name of the module called."},"result":{"properties":{"metadata":{"properties":{}},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"status":{"type":"integer","description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","example":1,"enum":[0,1]},"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null,"type":"array","nullable":true},"data":{"type":"object","properties":{}},"messages":{"description":"List of messages generated by the API.","items":{"type":"string"},"example":null,"type":"array","nullable":true}},"type":"object"},"func":{"type":"string","example":"expunge_messages_for_mailbox_guid","description":"The name of the method called."}}}}}}}}}}},"get_mailbox_status_list":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/","contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}},"security":[{"BasicAuth":[]}],"x-tagGroups":[{"name":"Email","tags":["Mailbox Management"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"tags":[{"description":"The Mailboxes module for UAPI.","name":"Mailboxes"},{"name":"Mailbox Management","description":"Email / Mailbox Management"}],"openapi":"3.0.2","servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"description":"A server running cPanel."}],"paths":{"/Mailboxes/get_mailbox_status_list":{"get":{"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"result":{"properties":{"status":{"enum":[0,1],"example":1,"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","type":"integer"},"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"metadata":{"properties":{"transformed":{"type":"integer","enum":[1],"example":1,"description":"Post-processing may have transformed the data."}}},"data":{"type":"array","example":[{"mailbox":"INBOX.marla_singer@example_com","messages":0,"guid":"1234560f0c58d158c92a000044f0d230","vsize":0},{"mailbox":"INBOX.angel_face@example_com","vsize":0,"guid":"11234560f0c58d158c92a000044f0d23","messages":0},{"mailbox":"INBOX.tyler_durden@example_com","vsize":0,"guid":"111234560f0c58d158c92a000044f0d2","messages":0},{"mailbox":"INBOX.Trash","guid":"1111234560f0c58d158c92a000044f0d","vsize":0,"messages":0},{"vsize":0,"guid":"11111234560f0c58d158c92a000044f0","messages":0,"mailbox":"INBOX.narrator@example_com"},{"guid":"111111234560f0c58d158c92a000044f","vsize":0,"messages":0,"mailbox":"INBOX"},{"guid":"1111111234560f0c58d158c92a000004","vsize":0,"messages":0,"mailbox":"INBOX.Sent"},{"messages":0,"guid":"11111111234560f0c58d158c92a00000","vsize":0,"mailbox":"INBOX.Drafts"},{"mailbox":"INBOX.robert_paulsen@example_com","messages":0,"vsize":0,"guid":"111111111234560f0c58d158c92a0000"}],"items":{"properties":{"messages":{"example":410,"description":"The number of messages in the folder.","minimum":0,"type":"integer"},"vsize":{"format":"bytes","type":"integer","description":"The size of the folder, in bytes.","example":1052299,"minimum":0},"guid":{"type":"string","example":"1234560f0c58d158c92a000044f0d230","description":"The mailbox GUID."},"mailbox":{"type":"string","example":"INBOX.marla_singer@example_com","description":"The mailbox name."}},"type":"object"}},"warnings":{"nullable":true,"type":"array","example":null,"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"}}},"type":"object"},"module":{"description":"The name of the module called.","example":"Mailboxes","type":"string"},"func":{"type":"string","description":"The name of the method called.","example":"get_mailbox_status_list"},"apiversion":{"type":"integer","description":"The version of the API.","example":3}},"type":"object"}}},"description":"HTTP Request was successful."}},"parameters":[{"name":"account","in":"query","required":true,"description":"The email account for which you you wish to request the status.","schema":{"example":"user@example.com","type":"string"}}],"tags":["Mailboxes","Mailbox Management"],"x-readonly":true,"operationId":"Mailboxes-get_mailbox_status_list","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Mailboxes \\\n  get_mailbox_status_list \\\n  account='user@example.com'\n","lang":"Shell","label":"CLI"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Mailboxes/get_mailbox_status_list?account=user%40example.com","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mailboxes_get_mailbox_status_list.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mailboxes_get_mailbox_status_list.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mailboxes/,\n    q/get_mailbox_status_list/,\n    {\n        'account' => 'user@example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mailboxes_get_mailbox_status_list.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mailboxes_get_mailbox_status_list.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mailboxes',\n    'get_mailbox_status_list',\n    array (\n        'account' => 'user@example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 64","summary":"Return cPanel account's mailbox status","description":"This function lists the account's mailbox size and globally unique identifier (GUID) by folder.","x-cpanel-api-version":"UAPI"}}}},"expunge_mailbox_messages":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"}},"security":[{"BasicAuth":[]}],"x-tagGroups":[{"name":"Email","tags":["Mailbox Management"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"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":{"description":"The cPanel port.","default":"2083"}}}],"tags":[{"description":"The Mailboxes module for UAPI.","name":"Mailboxes"},{"name":"Mailbox Management","description":"Email / Mailbox Management"}],"openapi":"3.0.2","paths":{"/Mailboxes/expunge_mailbox_messages":{"get":{"description":"This function marks the selected mail messages as deleted.","x-rollback":"none","parameters":[{"schema":{"anyOf":[{"type":"string","format":"email"},{"format":"username","type":"string"}]},"examples":{"_mainaccount":{"value":"_mainaccount@example.com","summary":"The `_mainaccount` alias, which represents the cPanel user's mailbox."},"cpanel-user":{"summary":"The cPanel user's account name.","value":"example"},"email":{"value":"user@example.com","summary":"A valid email account."}},"required":true,"description":"The email account's name.","in":"query","name":"account"},{"required":true,"description":"The mailbox to operate on.\n\n**Note:**\n\n* Use the `Mailboxes::get_mailbox_status_list` function to list possible values for the mailbox parameter.\n* Because you cannot escape wildcard characters such as (`*`), we recommend that you use functions that use the `mailbox_guid` parameter instead. For example, the `Mailboxes::expunge_messages_for_mailbox_guid` function.","schema":{"example":"INBOX.user@example_com","type":"string"},"name":"mailbox","in":"query"},{"schema":{"type":"string","example":"savedbefore 52w"},"description":"The Dovecot query to execute.\n\n**Note:**\n\nThe query parameter prevents accidental removal of all messages in the mailbox. For more information, read Dovecot's [Search Query](http://wiki2.dovecot.org/Tools/Doveadm/SearchQuery) documentation.","required":true,"in":"query","name":"query"}],"summary":"Delete selected messages in mailbox","x-codeSamples":[{"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","lang":"Shell","label":"CLI"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/Mailboxes/expunge_mailbox_messages?account=_mainaccount%40example.com&mailbox=INBOX.user%40example_com&query=savedbefore%2052w"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mailboxes_expunge_mailbox_messages.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mailboxes_expunge_mailbox_messages.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mailboxes/,\n    q/expunge_mailbox_messages/,\n    {\n        'account' => '_mainaccount@example.com',\n        'mailbox' => 'INBOX.user@example_com',\n        'query' => 'savedbefore 52w',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mailboxes_expunge_mailbox_messages.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mailboxes_expunge_mailbox_messages.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mailboxes',\n    'expunge_mailbox_messages',\n    array (\n        'account' => '_mainaccount@example.com',\n        'mailbox' => 'INBOX.user@example_com',\n        'query' => 'savedbefore 52w',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-available-version":"cPanel 64","x-cpanel-api-version":"UAPI","tags":["Mailboxes","Mailbox Management"],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"func":{"example":"expunge_mailbox_messages","description":"The name of the method called.","type":"string"},"result":{"type":"object","properties":{"status":{"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","enum":[0,1],"example":1,"type":"integer"},"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"metadata":{"properties":{}},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"data":{}}},"module":{"type":"string","example":"Mailboxes","description":"The name of the module called."},"apiversion":{"example":3,"description":"The version of the API.","type":"integer"}}}}},"description":"HTTP Request was successful."}},"operationId":"Mailboxes-expunge_mailbox_messages","x-readonly":false}}}}},"SubDomain":{"getreservedsubdomains":{"security":[{"BasicAuth":[]}],"x-tagGroups":[{"name":"Domain Management","tags":["SubDomain"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"servers":[{"variables":{"host":{"description":"The hostname of a server running cPanel.","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"tags":[{"name":"SubDomain","description":"The SubDomain module for UAPI."}],"openapi":"3.0.2","externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.138.0.9999","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"paths":{"/SubDomain/getreservedsubdomains":{"get":{"parameters":[],"tags":["SubDomain"],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"warnings":{"type":"array","nullable":true,"items":{"type":"string"}},"data":{"type":"array","description":"One entry for each reserved subdomain label.","items":{"type":"string","description":"A reserved subdomain label.","example":"www"}},"metadata":{"properties":{"transformed":{"type":"integer"}},"type":"object"},"errors":{"items":{"type":"string"},"type":"array","nullable":true},"messages":{"items":{"type":"string"},"type":"array","nullable":true},"status":{"example":1,"enum":[0,1],"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","type":"integer"}}}}},"description":"HTTP Request was successful."}},"x-readonly":true,"operationId":"SubDomain-getreservedsubdomains","description":"This function lists the subdomain labels that the system reserves, and\nthat an account therefore cannot use to create a subdomain.\n\n**Note:**\n\nThe returned labels are **not** sorted.","summary":"List the reserved subdomain names","x-codeSamples":[{"lang":"Shell","label":"CLI","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# <theme-name> is the theme assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file 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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file 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/<theme-name>/\n//    to .../frontend/<theme-name>/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}\n","lang":"PHP","label":"LiveAPI PHP"}],"x-cpanel-available-version":"cPanel 138","x-cpanel-api-version":"UAPI"}}}},"changedocroot":{"paths":{"/SubDomain/changedocroot":{"get":{"x-cpanel-api-version":"UAPI","x-codeSamples":[{"lang":"Shell","label":"CLI","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"}],"summary":"Change a subdomain or addon domain document root","x-cpanel-available-version":"11","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),\nthe system **disables** this function.","x-rollback":"none","parameters":[{"in":"query","name":"domain","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.","required":true,"schema":{"format":"domain","type":"string","example":"sub.example.com"}},{"required":true,"description":"The new document root as a path relative to the user's home\ndirectory. The target directory **must** already exist, and the path **must** begin with `public_html/` if the\n*Restrict document roots to public_html* value is set to *On* in\nWHM's [*Tweak Settings*](https://go.cpanel.net/TweakSettings-Domains)\ninterface (*WHM >> Home >> Server Configuration >> Tweak Settings*).","schema":{"example":"public_html/myapp/public","type":"string","format":"path"},"in":"query","name":"docroot"}],"tags":["Subdomains"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"documentroot":{"example":"/home/username/public_html/myapp/public","description":"The absolute path of the new document root.","type":"string"}}},"warnings":{"items":{"type":"string"},"type":"array"},"metadata":{"type":"object","properties":{"transformed":{"type":"integer"}}},"errors":{"type":"array","items":{"type":"string"}},"messages":{"type":"array","items":{"type":"string"}},"status":{"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","example":1,"enum":[0,1],"type":"integer"}}}}}}},"x-readonly":false,"operationId":"SubDomain-changedocroot"}}},"info":{"termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.133.0.9999","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"servers":[{"variables":{"host":{"description":"The hostname of a server running cPanel.","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"name":"Subdomains","description":"The SubDomain module for cPanel UAPI."}],"x-tagGroups":[{"tags":["Subdomains"],"name":"Domains"}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"security":[{"BasicAuth":[]}]},"validregex":{"paths":{"/SubDomain/validregex":{"get":{"operationId":"SubDomain-validregex","x-readonly":true,"tags":["SubDomain"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"errors":{"items":{"type":"string"},"nullable":true,"type":"array"},"messages":{"type":"array","nullable":true,"items":{"type":"string"}},"data":{"description":"A single-element array holding the validation pattern.","items":{"type":"string","description":"The regular expression that a subdomain label must match.","example":"^[A-Za-z0-9][A-Za-z0-9-]*$"},"type":"array"},"warnings":{"items":{"type":"string"},"type":"array","nullable":true},"metadata":{"type":"object","properties":{"transformed":{"type":"integer"}}},"status":{"enum":[0,1],"example":1,"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","type":"integer"}},"type":"object"}}}}},"parameters":[],"x-cpanel-api-version":"UAPI","description":"This function retrieves the regular expression that the system uses to\nvalidate a subdomain label.\n\n**Note:**\n\nUse this value to validate a subdomain label in an interface before you\ncall the `SubDomain::addsubdomain` function. It does **not** replace the\nserver-side validation that `SubDomain::addsubdomain` performs.","summary":"Return the subdomain validation pattern","x-cpanel-available-version":"cPanel 138","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  SubDomain \\\n  validregex\n","lang":"Shell","label":"CLI"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/SubDomain/validregex","label":"URL","lang":"HTTP"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file 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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file 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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}\n"}]}}},"x-tagGroups":[{"tags":["SubDomain"],"name":"Domain Management"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"tags":[{"name":"SubDomain","description":"The SubDomain module for UAPI."}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel.","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}}}],"security":[{"BasicAuth":[]}],"info":{"termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.138.0.9999","contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"}},"addsubdomain":{"info":{"contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"},"title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."},"externalDocs":{"url":"https://cpanel.net/developers/"},"x-tagGroups":[{"name":"Domain Management","tags":["SubDomain"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"openapi":"3.0.2","servers":[{"variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"tags":[{"name":"SubDomain","description":"The SubDomain module for UAPI."}],"security":[{"BasicAuth":[]}],"paths":{"/SubDomain/addsubdomain":{"get":{"x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  SubDomain \\\n  addsubdomain \\\n  domain='subdomain' \\\n  rootdomain='example.com'\n","lang":"Shell","label":"CLI"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/SubDomain/addsubdomain?domain=subdomain&rootdomain=example.com"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\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/<theme_name>/\n#    to .../frontend/<theme_name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\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/<theme_name>/\n//    to .../frontend/<theme_name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 70","summary":"Create subdomain","x-cpanel-api-version":"UAPI","x-readonly":false,"operationId":"SubDomain-addsubdomain","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"apiversion":{"description":"The version of the API.","example":3,"type":"integer"},"result":{"properties":{"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"metadata":{"properties":{}},"status":{"type":"integer","description":"* `1` - Success\n* `0` - Failed: Check the errors field for more details.","enum":[0,1],"example":1},"messages":{"items":{"type":"string"},"description":"List of messages generated by the API.","example":null,"type":"array","nullable":true},"warnings":{"example":null,"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"},"data":{"type":"object","nullable":true,"default":null}}},"module":{"example":"SubDomain","description":"The name of the module called.","type":"string"},"func":{"type":"string","description":"The name of the method called.","example":"addsubdomain"}},"type":"object"}}},"description":"HTTP Request was successful."}},"tags":["SubDomain"],"x-rollback":"none","description":"This function creates a subdomain.\n\n**Important:**\n\nWhen you disable the [Web Server role](https://go.cpanel.net/serverroles#roles), the system **disables** this function.","parameters":[{"name":"domain","in":"query","schema":{"type":"string","example":"subdomain"},"required":true,"description":"The subdomain name to create."},{"schema":{"example":"example.com","type":"string","format":"domain"},"required":true,"description":"The domain on which to create the new subdomain.  The domain **must** already exist on the cPanel account.","in":"query","name":"rootdomain"},{"in":"query","name":"canoff","required":false,"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).\n* `1` - Use the CNAME.\n* `0` - Do **not** use the CNAME.","schema":{"default":1,"example":1,"enum":[0,1],"type":"integer"}},{"schema":{"example":"/public_html/directory_name","format":"path","type":"string"},"description":"The subdomain's document `root` within the home directory, given as a valid directory path relative to the user's home directory.\n\nThis value defaults to the user's home directory `/public_html/` path.\n\n**Note:**\n\nIf 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.","required":false,"in":"query","name":"dir"},{"name":"disallowdot","in":"query","schema":{"type":"integer","enum":[0,1],"example":1,"default":0},"required":false,"description":"Whether to remove the dot (`.`) characters from the `domain` value.\n* `1` - Remove dots from the domain.\n* `0` - Do **not** remove dots from the domain."}]}}}},"delsubdomain":{"info":{"title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.138.0.9999","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"x-tagGroups":[{"tags":["SubDomain"],"name":"Domain Management"}],"openapi":"3.0.2","tags":[{"name":"SubDomain","description":"The SubDomain module for UAPI."}],"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."}}}],"security":[{"BasicAuth":[]}],"paths":{"/SubDomain/delsubdomain":{"get":{"parameters":[{"in":"query","name":"domain","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.","required":true,"schema":{"type":"string","example":"subdomain_example.com"}},{"name":"disallowdot","in":"query","description":"Whether to remove the dot (`.`) characters from the subdomain label in the `domain` value.\n* `1` - Remove dots from the subdomain label.\n* `0` - Do **not** remove dots from the subdomain label.","required":false,"schema":{"type":"integer","enum":[0,1],"default":0,"example":1}}],"x-rollback":"none","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),\nthe system **disables** this function.","operationId":"SubDomain-delsubdomain","x-readonly":false,"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"messages":{"items":{"type":"string"},"nullable":true,"type":"array"},"errors":{"nullable":true,"type":"array","items":{"type":"string"}},"metadata":{"type":"object","properties":{"transformed":{"type":"integer"}}},"data":{"description":"This function does not return data. Check the `status` field for the outcome, and the `messages` and `errors` fields for detail."},"warnings":{"type":"array","nullable":true,"items":{"type":"string"}},"status":{"example":1,"enum":[0,1],"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","type":"integer"}}}}},"description":"HTTP Request was successful."}},"tags":["SubDomain"],"summary":"Remove a subdomain","x-cpanel-available-version":"cPanel 138","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  SubDomain \\\n  delsubdomain \\\n  domain='subdomain_example.com'\n","label":"CLI","lang":"Shell"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/SubDomain/delsubdomain?domain=subdomain_example.com"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file 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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file 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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}\n"}],"x-cpanel-api-version":"UAPI"}}}},"listsubdomains":{"security":[{"BasicAuth":[]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"x-tagGroups":[{"name":"Domain Management","tags":["SubDomain"]}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel."}},"url":"https://{host}:{port}/execute"}],"tags":[{"description":"The SubDomain module for UAPI.","name":"SubDomain"}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/","version":"11.138.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}},"paths":{"/SubDomain/listsubdomains":{"get":{"x-readonly":true,"operationId":"SubDomain-listsubdomains","parameters":[{"name":"regex","in":"query","description":"A Perl regular expression. The system returns only the subdomains whose fully qualified name matches this pattern, case-insensitively.\n\nIf this value is not a valid Perl regular expression, the function fails and reports the error in the `errors` field.","required":false,"schema":{"type":"string","example":"^shop"}},{"in":"query","name":"return_https_redirect_status","required":false,"description":"Whether to include the `can_https_redirect` and `is_https_redirecting` fields in each entry.\n* `1` - Include the HTTPS redirect status.\n* `0` - Omit the HTTPS redirect status.","schema":{"enum":[0,1],"example":1,"default":0,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"integer","description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","example":1,"enum":[0,1]},"data":{"type":"array","description":"One entry for each subdomain on the account, sorted by the `domainkey` value.","items":{"type":"object","properties":{"is_https_redirecting":{"type":"integer","example":0,"enum":[0,1],"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.\n* `1` - The system redirects the subdomain.\n* `0` - The system does **not** redirect the subdomain."},"basedir":{"description":"The subdomain's document root, relative to the account's home directory.","example":"public_html/shop","type":"string"},"can_https_redirect":{"type":"integer","enum":[0,1],"example":1,"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.\n* `1` - The system can redirect the subdomain.\n* `0` - The system cannot redirect the subdomain."},"status":{"example":"","description":"The subdomain's rewrite status, or the URL that it redirects to.","type":"string"},"dir":{"format":"path","type":"string","example":"/home/username/public_html/shop","description":"The absolute path to the subdomain's document root."},"rootdomain":{"type":"string","format":"domain","description":"The domain that the subdomain belongs to.","example":"example.com"},"domain":{"format":"domain","type":"string","example":"shop.example.com","description":"The subdomain's fully qualified domain name."},"domainkey":{"type":"string","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"},"subdomain":{"description":"The subdomain's label, without the root domain.","example":"shop","type":"string"},"web_subdomain_aliases":{"items":{"format":"domain","type":"string"},"description":"The built-in service subdomain aliases, for example `www`, that the system serves for the subdomain.","type":"array"},"reldir":{"type":"string","description":"The subdomain's document root, relative to the account's home directory and prefixed with `home:`.","example":"home:public_html/shop"}}}},"warnings":{"nullable":true,"type":"array","items":{"type":"string"}},"messages":{"type":"array","nullable":true,"items":{"type":"string"}},"metadata":{"properties":{"transformed":{"type":"integer"}},"type":"object"},"errors":{"items":{"type":"string"},"type":"array","nullable":true}}}}},"description":"HTTP Request was successful."}},"tags":["SubDomain"],"description":"This function lists the subdomains on the cPanel account, including the subdomains that the account's addon domains are parked on.","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  SubDomain \\\n  listsubdomains\n","lang":"Shell","label":"CLI"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/SubDomain/listsubdomains"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file 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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file 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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}\n"}],"summary":"List the subdomains","x-cpanel-available-version":"cPanel 138","x-cpanel-api-version":"UAPI"}}}}},"AccountEnhancements":{"list":{"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.97.0.9999","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/"},"externalDocs":{"url":"https://cpanel.net/developers/"},"x-tagGroups":[{"name":"cPanel Account","tags":["Account Enhancements"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"openapi":"3.0.2","tags":[{"name":"Account Enhancements","description":"The Account Enhancement module for UAPI."}],"servers":[{"variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"security":[{"BasicAuth":[]}],"paths":{"/AccountEnhancements/list":{"get":{"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"module":{"description":"The name of the module called.","example":"AccountEnhancements","type":"string"},"result":{"type":"object","properties":{"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"data":{"items":{"properties":{"name":{"type":"string","items":{"type":"string"},"description":"The Account Enhancement's name.","example":"Sample Enhancement"},"id":{"items":{"type":"string"},"description":"The Account Enhancement's id.","example":"sample-enhancement-id","type":"string"}}},"description":"An object that contains the Account Enhancements that the cPanel account can access"},"metadata":{"properties":{"transformed":{"type":"integer","example":1,"enum":[1],"description":"Post-processing may have transformed the data."}}},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"messages":{"example":null,"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"},"status":{"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","example":1,"enum":[1,0],"type":"integer"}}},"func":{"description":"The name of the method called.","example":"list","type":"string"}}}}}}},"tags":["Account Enhancements"],"parameters":[],"x-readonly":true,"operationId":"AccountEnhancements-list","description":"This function lists a cPanel account's [Account Enhancements](https://go.cpanel.net/account-enhancements).","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  AccountEnhancements \\\n  list\n"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/AccountEnhancements/list"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file AccountEnhancements_list.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/AccountEnhancements_list.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/AccountEnhancements/,\n    q/list/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file AccountEnhancements_list.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/AccountEnhancements_list.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'AccountEnhancements',\n    'list'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Return all cPanel account's Account Enhancements","x-cpanel-available-version":"cPanel 98","x-cpanel-api-version":"UAPI"}}}},"has_enhancement":{"security":[{"BasicAuth":[]}],"x-tagGroups":[{"tags":["Account Enhancements"],"name":"cPanel Account"}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"tags":[{"description":"The Account Enhancement module for UAPI.","name":"Account Enhancements"}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}}}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"version":"11.97.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"}},"paths":{"/AccountEnhancements/has_enhancement":{"get":{"x-cpanel-api-version":"UAPI","description":"This function returns whether a cPanel account has a specific [Account Enhancement](https://go.cpanel.net/account-enhancements).","summary":"Validate Account Enhancement assignment","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  AccountEnhancements \\\n  has_enhancement \\\n  id=account_enhancement\n","lang":"Shell","label":"CLI"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/AccountEnhancements/has_enhancement?id=account_enhancement","label":"URL","lang":"HTTP"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file AccountEnhancements_has_enhancement.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/AccountEnhancements_has_enhancement.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/AccountEnhancements/,\n    q/has_enhancement/,\n    q/id=account_enhancement/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file AccountEnhancements_has_enhancement.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/AccountEnhancements_has_enhancement.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'AccountEnhancements',\n    'has_enhancement',\n    array('id' => 'sample_enhancement')\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"x-cpanel-available-version":"cPanel 98","operationId":"AccountEnhancements-has_enhancement","x-readonly":true,"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"result":{"properties":{"metadata":{"properties":{"transformed":{"type":"integer","example":1,"enum":[1],"description":"Post-processing may have transformed the data."}}},"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"},"example":null,"type":"array","nullable":true},"data":{"type":"integer","example":1,"enum":[1,0],"description":"* `1` - The Account Enhancement is assigned to the cPanel account.\n* `0` - The Account Enhancement is not assigned to the cPanel account."},"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null},"errors":{"example":null,"items":{"type":"string"},"description":"List of errors if the API failed.","nullable":true,"type":"array"},"status":{"description":"* `1` — Success.\n* `0` — Failed. Check the `reason` field for more details.","enum":[1,0],"example":1,"type":"integer"}},"type":"object"},"module":{"example":"AccountEnhancements","description":"The name of the module called.","type":"string"},"func":{"type":"string","example":"list","description":"The name of the method called."}},"type":"object"}}}}},"parameters":[{"schema":{"example":"sample-enhancement-id","type":"string"},"description":"The identifier for a specific Account Enhancement.\n\n**Note:**\n\nTo retrieve a list of all Account Enhancements IDs on the server, run the WHM API 1 `list_account_enhancements` function.","required":true,"name":"id","in":"query"}],"tags":["Account Enhancements"]}}}}},"Chrome":{"get_dom":{"paths":{"/Chrome/get_dom":{"get":{"operationId":"Chrome-get_dom","x-readonly":true,"tags":["Chrome","Brand Management"],"parameters":[{"name":"page_title","in":"query","required":true,"description":"The title of the page to wrap in the theme's headers and footers.","schema":{"type":"string","example":"Test"}}],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"module":{"type":"string","description":"The name of the module called.","example":"Chrome"},"result":{"type":"object","properties":{"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"},"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"metadata":{"properties":{}},"warnings":{"nullable":true,"type":"array","example":null,"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"}},"data":{"type":"object","properties":{"header":{"type":"string","example":"\n\n<!DOCTYPE html>\n\n<html lang=\"en\" dir=\"ltr\">\n<!-- The Header HTML of the user's assigned theme -->","description":"The pages' header."},"footer":{"type":"string","example":"\n<!-- The Footer HTML of the user's assigned theme -->\n</html>\n\n","description":"The pages' footer."}}},"status":{"description":"* `1` - Success\n* `0` - Failed: Check the errors field for more details.","example":1,"enum":[0,1],"type":"integer"}}},"func":{"example":"get_dom","description":"The name of the method called.","type":"string"},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}},"type":"object"}}}}},"x-cpanel-api-version":"UAPI","x-cpanel-available-version":"cPanel 11.42","summary":"Return cPanel theme header and footer HTML","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Chrome \\\n  get_dom \\\n  page_title='Test'\n","label":"CLI","lang":"Shell"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/Chrome/get_dom?page_title=Test"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Chrome_get_dom.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Chrome_get_dom.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Chrome/,\n    q/get_dom/,\n    {\n        'page_title' => 'Test',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Chrome_get_dom.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Chrome_get_dom.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Chrome',\n    'get_dom',\n    array (\n        'page_title' => 'Test',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"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."}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"},"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/"},"security":[{"BasicAuth":[]}],"x-tagGroups":[{"name":"cPanel Theme Management","tags":["Brand Management"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"openapi":"3.0.2","tags":[{"name":"Chrome","description":"The Chrome module for UAPI."},{"name":"Brand Management","description":"cPanel Theme Management / Brand Management"}],"servers":[{"variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}]}},"LangPHP":{"php_ini_get_user_content":{"security":[{"BasicAuth":[]}],"openapi":"3.0.2","servers":[{"variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"tags":[{"description":"The LangPHP module for UAPI.","name":"LangPHP"},{"description":"Web Server Management / PHP Settings","name":"PHP Settings"}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"x-tagGroups":[{"tags":["PHP Settings"],"name":"Web Server Management"}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI"},"paths":{"/LangPHP/php_ini_get_user_content":{"get":{"tags":["LangPHP","PHP Settings"],"parameters":[{"schema":{"example":"vhost","type":"string"},"required":true,"description":"The type of `php.ini` file.\n\n* `home`\n* `vhost`\n\n**Important:**\n\nIf you set this parameter to `vhost`, you **must** also include the `vhost` parameter.","name":"type","in":"query"},{"in":"query","name":"vhost","schema":{"example":"clearly.com","format":"domain","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.","required":false}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"apiversion":{"type":"integer","description":"The version of the API.","example":3},"func":{"example":"php_ini_get_user_content","description":"The name of the method called.","type":"string"},"module":{"example":"LangPHP","description":"The name of the module called.","type":"string"},"result":{"type":"object","properties":{"metadata":{"properties":{}},"data":{"properties":{"content":{"example":"allow_url_fopen = On\\nallow_url_include = On\\nasp_tags = Off\\ndisplay_errors = On\\nenable_dl = Off\\nfile_uploads = On\\ninclude_path = &quot;.;/path/to/php/pear&quot;\\nmax_execution_time = 30\\nmax_input_time = 60\\nmax_input_vars = 1050\\nmemory_limit = 32M\\nupload_max_filesize = 2M","description":"The contents of the requested user's `php.ini` file.","type":"string"}},"type":"object"},"warnings":{"example":null,"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"},"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null},"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null},"status":{"type":"integer","enum":[0,1],"example":1,"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details."}}}},"type":"object"}}},"description":"HTTP Request was successful."}},"x-readonly":true,"operationId":"LangPHP-php_ini_get_user_content","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.","x-cpanel-available-version":"cPanel 11.52","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  LangPHP \\\n  php_ini_get_user_content \\\n  type='vhost'\n"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/LangPHP/php_ini_get_user_content?type=vhost"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file LangPHP_php_ini_get_user_content.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/LangPHP_php_ini_get_user_content.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/LangPHP/,\n    q/php_ini_get_user_content/,\n    {\n        'type' => 'vhost',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file LangPHP_php_ini_get_user_content.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/LangPHP_php_ini_get_user_content.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'LangPHP',\n    'php_ini_get_user_content',\n    array (\n        'type' => 'vhost',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Return virtual host's php.ini content","x-cpanel-api-version":"UAPI"}}}},"php_ini_get_user_paths":{"paths":{"/LangPHP/php_ini_get_user_paths":{"get":{"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"func":{"description":"The name of the method called.","example":"php_ini_get_user_paths","type":"string"},"result":{"properties":{"status":{"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","enum":[0,1],"example":1,"type":"integer"},"metadata":{"properties":{}},"data":{"type":"object","properties":{"paths":{"description":"An array of objects of `php.ini` file information.","items":{"type":"object","properties":{"type":{"enum":["home","vhost"],"example":"vhost","description":"The record's type.\n* `home`\n* `vhost`","type":"string"},"documentroot":{"description":"The virtual host's document root.","example":"/home/allthethings/public_html","type":"string"},"path":{"type":"string","description":"The name of the virtual host's `php.ini` file.","example":"php.ini"},"account":{"example":"allthethings","description":"The account's name.","type":"string"},"vhost":{"format":"domain","type":"string","example":"clearly.com","description":"The name of the virtual host."},"homedir":{"example":"/home/allthethings/","description":"The home directory.","type":"string"},"main_domain":{"type":"integer","example":1,"enum":[1,0],"description":"Whether the virtual host is the account's primary domain.\n* `1` - Primary domain.\n* `0` - **Not** the primary domain."},"version":{"description":"The default PHP version.\n- `ea-php##`, where `##` represents the major and minor versions of PHP (for example, `ea-php72` represents PHP 7.2).\n- Any custom PHP package name.","example":"ea-php72","type":"string"}}},"type":"array"}}},"warnings":{"type":"array","nullable":true,"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"},"example":null},"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null},"errors":{"example":null,"items":{"type":"string"},"description":"List of errors if the API failed.","nullable":true,"type":"array"}},"type":"object"},"module":{"type":"string","example":"LangPHP","description":"The name of the module called."},"apiversion":{"type":"integer","description":"The version of the API.","example":3}}}}},"description":"HTTP Request was successful."}},"parameters":[],"tags":["LangPHP","PHP Settings"],"x-readonly":true,"operationId":"LangPHP-php_ini_get_user_paths","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.","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  LangPHP \\\n  php_ini_get_user_paths\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/LangPHP/php_ini_get_user_paths","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file LangPHP_php_ini_get_user_paths.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/LangPHP_php_ini_get_user_paths.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/LangPHP/,\n    q/php_ini_get_user_paths/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file LangPHP_php_ini_get_user_paths.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/LangPHP_php_ini_get_user_paths.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'LangPHP',\n    'php_ini_get_user_paths'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"summary":"Return php.ini file paths","x-cpanel-available-version":"cPanel 11.52","x-cpanel-api-version":"UAPI"}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"security":[{"BasicAuth":[]}],"openapi":"3.0.2","servers":[{"variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"tags":[{"name":"LangPHP","description":"The LangPHP module for UAPI."},{"description":"Web Server Management / PHP Settings","name":"PHP Settings"}],"x-tagGroups":[{"name":"Web Server Management","tags":["PHP Settings"]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}}},"php_get_installed_versions":{"paths":{"/LangPHP/php_get_installed_versions":{"get":{"x-cpanel-api-version":"UAPI","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  LangPHP \\\n  php_get_installed_versions\n","lang":"Shell","label":"CLI"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/LangPHP/php_get_installed_versions"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file LangPHP_php_get_installed_versions.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/LangPHP_php_get_installed_versions.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/LangPHP/,\n    q/php_get_installed_versions/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file LangPHP_php_get_installed_versions.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/LangPHP_php_get_installed_versions.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'LangPHP',\n    'php_get_installed_versions'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Return installed PHP versions","x-cpanel-available-version":"cPanel 11.52","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.","x-readonly":true,"operationId":"LangPHP-php_get_installed_versions","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"description":"The version of the API.","example":3,"type":"integer"},"func":{"example":"php_get_installed_versions","description":"The name of the method called.","type":"string"},"module":{"type":"string","example":"LangPHP","description":"The name of the module called."},"result":{"properties":{"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"},"example":null,"type":"array","nullable":true},"data":{"properties":{"versions":{"type":"array","description":"The available PHP versions.\n\n- `ea-php72`\n- `ea-php73`\n- `ea-php74`\n-  Any custom PHP package name.","items":{"type":"string","example":"ea-php72"}}},"type":"object"},"metadata":{"properties":{}},"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null},"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null},"status":{"type":"integer","enum":[0,1],"example":1,"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details."}},"type":"object"}}}}},"description":"HTTP Request was successful."}},"tags":["LangPHP","PHP Settings"]}}},"x-tagGroups":[{"tags":["PHP Settings"],"name":"Web Server Management"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"openapi":"3.0.2","tags":[{"description":"The LangPHP module for UAPI.","name":"LangPHP"},{"description":"Web Server Management / PHP Settings","name":"PHP Settings"}],"servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}}}],"security":[{"BasicAuth":[]}],"info":{"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"externalDocs":{"url":"https://cpanel.net/developers/"}},"php_set_vhost_versions":{"info":{"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","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.","version":"11.89.0.9999","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/"},"externalDocs":{"url":"https://cpanel.net/developers/"},"x-tagGroups":[{"name":"Web Server Management","tags":["PHP Settings"]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"openapi":"3.0.2","servers":[{"variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"tags":[{"description":"The LangPHP module for UAPI.","name":"LangPHP"},{"description":"Web Server Management / PHP Settings","name":"PHP Settings"}],"security":[{"BasicAuth":[]}],"paths":{"/LangPHP/php_set_vhost_versions":{"get":{"x-readonly":false,"operationId":"LangPHP-php_set_vhost_versions","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"func":{"example":"php_set_vhost_versions","description":"The name of the method called.","type":"string"},"result":{"properties":{"status":{"enum":[0,1],"example":1,"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","type":"integer"},"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null},"errors":{"nullable":true,"type":"array","example":null,"description":"List of errors if the API failed.","items":{"type":"string"}},"metadata":{"properties":{}},"data":{"properties":{"vhosts":{"type":"array","description":"The names of the changed virtual hosts.","items":{"example":"example.com","type":"string","format":"domain"}}},"type":"object"},"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"},"example":null,"type":"array","nullable":true}},"type":"object"},"module":{"type":"string","example":"LangPHP","description":"The name of the module called."}},"type":"object"}}},"description":"HTTP Request was successful."}},"tags":["LangPHP","PHP Settings"],"x-cpanel-api-version":"UAPI","summary":"Update virtual host's PHP version","x-cpanel-available-version":"cPanel 11.52","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"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/LangPHP/php_set_vhost_versions?version=ea-php72&vhost=example.com","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file LangPHP_php_set_vhost_versions.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/LangPHP_php_set_vhost_versions.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/LangPHP/,\n    q/php_set_vhost_versions/,\n    {\n        'version' => 'ea-php72',\n        'vhost' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file LangPHP_php_set_vhost_versions.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/LangPHP_php_set_vhost_versions.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'LangPHP',\n    'php_set_vhost_versions',\n    array (\n        'version' => 'ea-php72',\n        'vhost' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"parameters":[{"schema":{"example":"ea-php72","type":"string"},"required":true,"description":"The PHP version of a virtual host.","name":"version","in":"query"},{"name":"vhost","in":"query","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`.","required":true,"examples":{"multiple":{"summary":"Set a multiple vhosts.","value":"vhost-1=example.com&vhost-2=example2.com&vhost-3=example3.com"},"single":{"value":"example.com","summary":"Set a single vhost."}},"schema":{"type":"string","format":"domain"}}],"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."}}}},"php_ini_get_user_basic_directives":{"paths":{"/LangPHP/php_ini_get_user_basic_directives":{"get":{"x-cpanel-available-version":"cPanel 11.52","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"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/LangPHP/php_ini_get_user_basic_directives?type=vhost"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file LangPHP_php_ini_get_user_basic_directives.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/LangPHP_php_ini_get_user_basic_directives.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/LangPHP/,\n    q/php_ini_get_user_basic_directives/,\n    {\n        'type' => 'vhost',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file LangPHP_php_ini_get_user_basic_directives.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/LangPHP_php_ini_get_user_basic_directives.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'LangPHP',\n    'php_ini_get_user_basic_directives',\n    array (\n        'type' => 'vhost',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Return basic PHP directives","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.","x-cpanel-api-version":"UAPI","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"description":"The version of the API.","example":3,"type":"integer"},"result":{"type":"object","properties":{"metadata":{"properties":{}},"errors":{"example":null,"description":"List of errors if the API failed.","items":{"type":"string"},"nullable":true,"type":"array"},"data":{"type":"object","properties":{"directives":{"type":"array","items":{"properties":{"php_ini_mode":{"type":"string","description":"The directive's [PHP_INI mode](http://php.net/manual/en/configuration.changes.modes.php).\n\n* `PHP_INI_SYSTEM`\n* `PHP_INI_PERDIR`\n* `PHP_INI_ALL`\n* `PHPINI_ONLY`","enum":["PHP_INI_SYSTEM","PHP_INI_PERDIR","PHP_INI_ALL","PHPINI_ONLY"],"example":"PHP_INI_SYSTEM"},"type":{"description":"The type of value that the directive uses.\n\n* `string`\n* `boolean`\n* `integer`\n* `float`","enum":["string","boolean","integer","float"],"example":"integer","type":"string"},"info":{"type":"string","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.","description":"The purpose of the directive."},"key":{"type":"string","example":"allow_url_fopen","description":"The directive's name."},"value":{"type":"string","description":"The directive's current value.","example":"On"},"default_value":{"example":1,"oneOf":[{"type":"string"},{"type":"boolean"},{"type":"integer"},{"type":"number"}],"description":"The directive's default value."}},"type":"object"},"description":"An array of the available directives in the `php.ini` file of the selected user's PHP version."}}},"warnings":{"example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","nullable":true,"type":"array"},"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."},"status":{"enum":[0,1],"example":1,"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","type":"integer"}}},"module":{"type":"string","description":"The name of the module called.","example":"LangPHP"},"func":{"example":"php_ini_get_user_basic_directives","description":"The name of the method called.","type":"string"}}}}},"description":"HTTP Request was successful."}},"tags":["LangPHP","PHP Settings"],"parameters":[{"in":"query","name":"type","schema":{"example":"vhost","enum":["home","vhost"],"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.","required":true},{"in":"query","name":"vhost","description":"The name of a virtual host.\n\n**Important:**\n\n If the type value is `vhost`, you **must** use this parameter.","required":false,"schema":{"type":"string","format":"domain","example":"clearly.com"}}],"operationId":"LangPHP-php_ini_get_user_basic_directives","x-readonly":true}}},"info":{"termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"tags":[{"description":"The LangPHP module for UAPI.","name":"LangPHP"},{"description":"Web Server Management / PHP Settings","name":"PHP Settings"}],"servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}}}],"openapi":"3.0.2","components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"name":"Web Server Management","tags":["PHP Settings"]}],"security":[{"BasicAuth":[]}]},"php_get_impacted_domains":{"openapi":"3.0.2","tags":[{"name":"LangPHP","description":"The LangPHP module for UAPI."},{"name":"PHP Settings","description":"Web Server Management / PHP Settings"}],"servers":[{"variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"x-tagGroups":[{"name":"Web Server Management","tags":["PHP Settings"]}],"security":[{"BasicAuth":[]}],"info":{"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/LangPHP/php_get_impacted_domains":{"get":{"x-cpanel-available-version":"cPanel 62","summary":"Return domains that shared PHP configuration","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  LangPHP \\\n  php_get_impacted_domains\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/LangPHP/php_get_impacted_domains","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file LangPHP_php_get_impacted_domains.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/LangPHP_php_get_impacted_domains.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/LangPHP/,\n    q/php_get_impacted_domains/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file LangPHP_php_get_impacted_domains.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/LangPHP_php_get_impacted_domains.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'LangPHP',\n    'php_get_impacted_domains'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"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.","x-cpanel-api-version":"UAPI","operationId":"LangPHP-php_get_impacted_domains","x-readonly":true,"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"result":{"type":"object","properties":{"status":{"enum":[0,1],"example":1,"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","type":"integer"},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"data":{"type":"object","properties":{"domains":{"description":"The domains that obtain their PHP version from the PHP configuration. Any valid domain or subdomain.\n\n**Note:**\n\nThis function does **not** return parked domains.","items":{"example":"example.com","type":"string"},"type":"array"}}},"metadata":{"properties":{}},"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"messages":{"example":null,"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"}}},"module":{"type":"string","example":"LangPHP","description":"The name of the module called."},"func":{"type":"string","description":"The name of the method called.","example":"php_get_impacted_domains"},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}},"type":"object"}}}}},"parameters":[{"schema":{"example":1,"enum":[1,0],"type":"integer"},"required":false,"description":"Whether to return domains that inherit the system's default PHP version.\n\n* `1` - Return domains that inherit the system's default PHP version.\n* `0` - Do **not** return domains that inherit the system's default PHP version.\n\n**Note:**\n\nIf you pass this parameter with a false value and do **not** also pass the domain parameter, the function returns an error.","in":"query","name":"system_default"},{"name":"domain","in":"query","required":false,"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.","schema":{"format":"domain","type":"string","example":"example.com"}}],"tags":["LangPHP","PHP Settings"]}}}},"php_get_domain_handler":{"security":[{"BasicAuth":[]}],"servers":[{"description":"A server running cPanel.","variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute"}],"openapi":"3.0.2","tags":[{"description":"The LangPHP module for UAPI.","name":"LangPHP"},{"description":"Web Server Management / PHP Settings","name":"PHP Settings"}],"x-tagGroups":[{"name":"Web Server Management","tags":["PHP Settings"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"}},"paths":{"/LangPHP/php_get_domain_handler":{"get":{"x-cpanel-api-version":"UAPI","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.","summary":"Return PHP version's handler","x-codeSamples":[{"lang":"Shell","label":"CLI","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"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file LangPHP_php_get_domain_handler.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/LangPHP_php_get_domain_handler.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/LangPHP/,\n    q/php_get_domain_handler/,\n    {\n        'type' => 'vhost',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file LangPHP_php_get_domain_handler.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/LangPHP_php_get_domain_handler.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'LangPHP',\n    'php_get_domain_handler',\n    array (\n        'type' => 'vhost',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 68","operationId":"LangPHP-php_get_domain_handler","x-readonly":true,"tags":["LangPHP","PHP Settings"],"parameters":[{"name":"type","in":"query","required":true,"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.","schema":{"example":"vhost","enum":["home","vhost"],"type":"string"}},{"in":"query","name":"vhost","required":false,"description":"The name of a virtual host.\n\n**Important:**\n\n If the `type` value is `vhost`, you **must** use this parameter.","schema":{"example":"clearly.com","type":"string","format":"domain"}}],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"func":{"example":"php_get_domain_handler","description":"The name of the method called.","type":"string"},"module":{"example":"LangPHP","description":"The name of the module called.","type":"string"},"result":{"properties":{"errors":{"nullable":true,"type":"array","example":null,"description":"List of errors if the API failed.","items":{"type":"string"}},"metadata":{"properties":{}},"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"data":{"type":"object","properties":{"php_handler":{"example":"cgi","description":"The virtual host's PHP handler.","type":"string"}}},"status":{"type":"integer","description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","enum":[0,1],"example":1}},"type":"object"}}}}}}}}}}},"php_get_system_default_version":{"paths":{"/LangPHP/php_get_system_default_version":{"get":{"x-cpanel-api-version":"UAPI","summary":"Return default PHP version","x-cpanel-available-version":"cPanel 11.52","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  LangPHP \\\n  php_get_system_default_version\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/LangPHP/php_get_system_default_version","lang":"HTTP","label":"URL"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file LangPHP_php_get_system_default_version.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/LangPHP_php_get_system_default_version.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/LangPHP/,\n    q/php_get_system_default_version/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file LangPHP_php_get_system_default_version.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/LangPHP_php_get_system_default_version.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'LangPHP',\n    'php_get_system_default_version'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"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.","x-readonly":true,"operationId":"LangPHP-php_get_system_default_version","parameters":[],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"func":{"type":"string","description":"The name of the method called.","example":"php_get_system_default_version"},"result":{"properties":{"metadata":{"properties":{}},"data":{"type":"object","properties":{"version":{"type":"string","nullable":true,"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"}}},"warnings":{"example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","nullable":true,"type":"array"},"messages":{"items":{"type":"string"},"description":"List of messages generated by the API.","example":null,"type":"array","nullable":true},"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null},"status":{"description":"- `1` — Success.\n- `0` — Failed. Check the `errors` field for more details.","example":1,"enum":[0,1],"type":"integer"}},"type":"object"},"module":{"type":"string","example":"LangPHP","description":"The name of the module called."},"apiversion":{"type":"integer","example":3,"description":"The version of the API."}},"type":"object"}}}}},"tags":["LangPHP","PHP Settings"]}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface’s features. Use this API to access and modify cPanel account data and settings.","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"security":[{"BasicAuth":[]}],"servers":[{"variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"description":"The LangPHP module for UAPI.","name":"LangPHP"},{"name":"PHP Settings","description":"Web Server Management / PHP Settings"}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"x-tagGroups":[{"name":"Web Server Management","tags":["PHP Settings"]}]},"php_ini_set_user_content":{"paths":{"/LangPHP/php_ini_set_user_content":{"get":{"parameters":[{"schema":{"example":"vhost","enum":["host","vhost"],"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.","required":true,"in":"query","name":"type"},{"in":"query","name":"content","description":"The content of the `php.ini` file to change.","required":true,"schema":{"type":"string","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"}},{"required":false,"description":"The name of a virtual host.\n\n**Important:**\n\n If the type value is `vhost` , you **must** use this parameter.","schema":{"example":"clearly.com","format":"domain","type":"string"},"name":"vhost","in":"query"}],"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","x-readonly":false,"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"func":{"type":"string","description":"The name of the method called.","example":"php_ini_set_user_content"},"result":{"properties":{"status":{"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","example":1,"enum":[0,1],"type":"integer"},"metadata":{"properties":{}},"warnings":{"type":"array","nullable":true,"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"},"example":null},"data":{"description":"This value will always be `null`.","nullable":true,"type":"object"},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}},"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true}},"type":"object"},"module":{"description":"The name of the module called.","example":"LangPHP","type":"string"}}}}},"description":"HTTP Request was successful."}},"tags":["LangPHP","PHP Settings"],"summary":"Update virtual host's php.ini content","x-cpanel-available-version":"cPanel 11.52","x-codeSamples":[{"lang":"Shell","label":"CLI","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"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file LangPHP_php_ini_set_user_content.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/LangPHP_php_ini_set_user_content.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/LangPHP/,\n    q/php_ini_set_user_content/,\n    {\n        'type' => 'vhost',\n        'content' => '%5BPHP%5D%0D%0A%3B+About+php.ini%0D%0A%3B+php.ini+is+responsible+for+configuring+many+of+the+aspects+of+PHP%27s+behavior.%0D%0Apcre.backtrack_limit%3D100000',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file LangPHP_php_ini_set_user_content.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/LangPHP_php_ini_set_user_content.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'LangPHP',\n    'php_ini_set_user_content',\n    array (\n        'type' => 'vhost',\n        'content' => '%5BPHP%5D%0D%0A%3B+About+php.ini%0D%0A%3B+php.ini+is+responsible+for+configuring+many+of+the+aspects+of+PHP%27s+behavior.%0D%0Apcre.backtrack_limit%3D100000',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"x-cpanel-api-version":"UAPI"}}},"servers":[{"variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"name":"LangPHP","description":"The LangPHP module for UAPI."},{"name":"PHP Settings","description":"Web Server Management / PHP Settings"}],"x-tagGroups":[{"name":"Web Server Management","tags":["PHP Settings"]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"security":[{"BasicAuth":[]}],"info":{"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"},"termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."},"externalDocs":{"url":"https://cpanel.net/developers/"}},"php_get_vhost_versions":{"paths":{"/LangPHP/php_get_vhost_versions":{"get":{"x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  LangPHP \\\n  php_get_vhost_versions\n","label":"CLI","lang":"Shell"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/LangPHP/php_get_vhost_versions"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file LangPHP_php_get_vhost_versions.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/LangPHP_php_get_vhost_versions.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/LangPHP/,\n    q/php_get_vhost_versions/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file LangPHP_php_get_vhost_versions.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/LangPHP_php_get_vhost_versions.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'LangPHP',\n    'php_get_vhost_versions'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 11.52","summary":"Return virtual host's PHP version","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.","x-cpanel-api-version":"UAPI","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"result":{"type":"object","properties":{"metadata":{"properties":{"transformed":{"type":"integer","description":"Post-processing may have transformed the data.","example":1,"enum":[1]}}},"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null},"data":{"items":{"properties":{"documentroot":{"type":"string","format":"path","description":"The virtual host's document root.","example":"/home/blee/public_html"},"version":{"description":"The virtual host's PHP version.\n* `ea-php72`\n* `ea-php73`\n* `ea-php74`\n* Any custom PHP package name.","example":"ea-php72","type":"string"},"homedir":{"type":"string","format":"path","description":"The virtual host's home directory.","example":"/home/blee"},"main_domain":{"enum":[1,0],"example":1,"description":"Whether the virtual host is the primary domain.\n\n**Note:**\n\n* `1` - The primary domain\n* `0` - **Not** the primary domain","type":"integer"},"php_fpm":{"type":"integer","example":1,"enum":[0,1],"description":"Whether FPM is enabled on the virtual host.\n\n* `1` - PHP-FPM enabled.\n* `0` - PHP-FPM **not** enabled."},"vhost":{"type":"string","format":"domain","description":"The virtual host's name.","example":"blee.com"},"php_fpm_pool_parms":{"description":"An object containing the domain's PHP-FPM parameters.","properties":{"pm_max_requests":{"type":"integer","example":20,"description":"The maximum number of requests per pool.","minimum":1},"pm_max_children":{"type":"integer","minimum":1,"example":5,"description":"The maximum number of child pages per pool."},"pm_process_idle_timeout":{"type":"integer","description":"A specified time of idleness before the system kills an FPM child process.","example":10,"minimum":1}},"type":"object"},"phpversion_source":{"description":"How the virtual host determines its PHP version.","items":{"properties":{"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.","example":1,"enum":[1],"type":"integer"},"domain":{"type":"string","format":"domain","description":"The domain the virtual host inherits its PHP version from.","example":"blee.com"}},"type":"object"},"type":"array","properties":{"domain":{}}},"account_owner":{"description":"The account's owner.","example":"blee","format":"username","type":"string"},"account":{"type":"string","format":"username","example":"blee","description":"The account's name."}},"type":"object"},"description":"An array of objects of the virtual host's suspended\nstatus, versions, virtual hosts, and accounts.\nNote: Returns a single object when using the `vhost` parameter.","type":"array"},"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null,"type":"array","nullable":true},"messages":{"example":null,"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"},"status":{"type":"integer","description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","enum":[0,1],"example":1}}},"module":{"type":"string","example":"LangPHP","description":"The name of the module called."},"func":{"description":"The name of the method called.","example":"php_get_vhost_versions","type":"string"}},"type":"object"}}},"description":"HTTP Request was successful."}},"parameters":[{"in":"query","name":"vhost","description":"The PHP Virtual Hostname.","required":false,"schema":{"type":"string","example":"your-domain.test"}}],"tags":["LangPHP","PHP Settings"],"x-readonly":true,"operationId":"LangPHP-php_get_vhost_versions"}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"security":[{"BasicAuth":[]}],"x-tagGroups":[{"tags":["PHP Settings"],"name":"Web Server Management"}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"openapi":"3.0.2","servers":[{"variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"tags":[{"name":"LangPHP","description":"The LangPHP module for UAPI."},{"name":"PHP Settings","description":"Web Server Management / PHP Settings"}]},"php_ini_set_user_basic_directives":{"info":{"termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute"}],"tags":[{"name":"LangPHP","description":"The LangPHP module for UAPI."},{"name":"PHP Settings","description":"Web Server Management / PHP Settings"}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"x-tagGroups":[{"name":"Web Server Management","tags":["PHP Settings"]}],"security":[{"BasicAuth":[]}],"paths":{"/LangPHP/php_ini_set_user_basic_directives":{"get":{"x-readonly":false,"operationId":"LangPHP-php_ini_set_user_basic_directives","tags":["LangPHP","PHP Settings"],"parameters":[{"schema":{"type":"string","enum":["home","vhost"],"example":"vhost"},"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.","required":true,"name":"type","in":"query"},{"name":"directive","schema":{"type":"string"},"description":"The name of a PHP directive and its value.\n\n**Note:**\n\n* To change the directive's value for multiple PHP directives, increment the parameter name. For example, the `directive-1`, `directive-2`, and `directive-3` parameters.\n* You **must** format values as `<directive>:<value>`  ","examples":{"multiple":{"summary":"Multiple PHP directives.","value":"directive-1=allow_url_fopen%3A0&directive-2=upload_max_filesize%3A4M&directive-3=post_max_size"},"single":{"value":"allow_url_fopen:0","summary":"A single PHP directive."}},"in":"query","required":true},{"name":"vhost","in":"query","description":"The name of a virtual host.\n\n**Important:**\n\n If the `type` value is `vhost`, you **must** use this parameter.","required":false,"schema":{"format":"domain","type":"string","example":"clearly.com"}}],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"module":{"type":"string","description":"The name of the module called.","example":"LangPHP"},"result":{"type":"object","properties":{"data":{},"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null,"type":"array","nullable":true},"metadata":{"properties":{"LangPHP":{"description":"An object containing the virtual host's PHP directive information.","properties":{"vhost":{"example":"clearly.com","description":"The virtual host's name.","type":"string"},"path":{"type":"string","format":"path","description":"The absolute file path to the `php.ini` file.","example":"/home/allthethings/public_html/php.ini"},"phpversion":{"description":"The virtual host's installed version of PHP.","example":"ea-php55","type":"string"},"type":{"example":"vhost","enum":["home","vhost"],"description":"The type of `php.ini` file.\n\n* `home`\n* `vhost`","type":"string"}},"type":"object"}}},"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null},"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null},"status":{"enum":[0,1],"example":1,"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","type":"integer"}}},"func":{"type":"string","description":"The name of the method called.","example":"php_ini_set_user_basic_directives"},"apiversion":{"type":"integer","example":3,"description":"The version of the API."}}}}}}},"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.","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"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/LangPHP/php_ini_set_user_basic_directives?type=vhost&directive=allow_url_fopen%3a0","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file LangPHP_php_ini_set_user_basic_directives.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/LangPHP_php_ini_set_user_basic_directives.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/LangPHP/,\n    q/php_ini_set_user_basic_directives/,\n    {\n        'type' => 'vhost',\n        'directive' => 'allow_url_fopen:0',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file LangPHP_php_ini_set_user_basic_directives.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/LangPHP_php_ini_set_user_basic_directives.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'LangPHP',\n    'php_ini_set_user_basic_directives',\n    array (\n        'type' => 'vhost',\n        'directive' => 'allow_url_fopen:0',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Update basic PHP directives","x-cpanel-available-version":"cPanel 11.52","x-cpanel-api-version":"UAPI"}}}}},"CCS":{"list_delegates":{"paths":{"/CCS/list_delegates":{"get":{"x-cpanel-api-version":"UAPI","x-cpanel-available-version":"cPanel 90","summary":"List cPanel account's calendar delegates","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  CCS \\\n  list_delegates\n","lang":"Shell","label":"CLI"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/CCS/list_delegates"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file CCS_list_delegates.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/CCS_list_delegates.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/CCS/,\n    q/list_delegates/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file CCS_list_delegates.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/CCS_list_delegates.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'CCS',\n    'list_delegates'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"description":"This function lists all [calendar delegates](https://docs.cpanel.net/cpanel/email/calendar-delegation/) on the cPanel account.\n\n**Note:**\n\nYou **must** install the [Calendar and Contacts Server](https://go.cpanel.net/CalendarAndContactsServer) cPanel plugin to access this API function.","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"result":{"properties":{"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null},"messages":{"example":null,"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"},"warnings":{"nullable":true,"type":"array","example":null,"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"}},"data":{"items":{"type":"object","properties":{"delegatee":{"type":"string","format":"email","example":"delegatee@cptest.test","description":"The user with delegation rights."},"delegator":{"type":"string","format":"email","example":"delegator@cptest.test","description":"The calendar's owner."},"read_only":{"description":"Whether the delegatee has read-only access on the calendar.\n* `1` - Read-only access.\n* `0` - Full access.","example":1,"enum":[1,0],"type":"integer"}}},"description":"An array of objects that contain Calendars and Contacts Server calendar delegation information.","type":"array","nullable":true},"metadata":{"properties":{}},"status":{"description":"- `1` - Success.\n- `0` - Failed. Check the `errors` field for more details.","example":1,"enum":[0,1],"type":"integer"}},"type":"object"},"module":{"type":"string","example":"CCS","description":"The name of the module called."},"func":{"type":"string","description":"The name of the method called.","example":"list_delegates"},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}},"type":"object"}}},"description":"HTTP Request was successful."}},"tags":["CCS","Calendar and Contacts Server"],"x-readonly":true,"operationId":"CCS-list_delegates"}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"security":[{"BasicAuth":[]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"x-tagGroups":[{"tags":["Calendar and Contacts Server"],"name":"Optional Applications"}],"openapi":"3.0.2","servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"description":"A server running cPanel."}],"tags":[{"name":"CCS","description":"The CCS module for UAPI."},{"name":"Calendar and Contacts Server","description":"Optional Applications / Calendar and Contacts Server"}]},"add_delegate":{"paths":{"/CCS/add_delegate":{"get":{"x-cpanel-minimum-compatible-version":80,"description":"This function delegates a user's calendar to another user.\n\n**Note:**\n\nYou **must** install the [Calendar and Contacts Server](https://go.cpanel.net/CalendarAndContactsServer) cPanel plugin to access this API function.","x-cpanel-rpm-version":69,"x-rollback":"none","parameters":[{"required":true,"description":"The calendar's owner.","schema":{"format":"email","type":"string","example":"delegator@cptest.test"},"in":"query","name":"delegator"},{"name":"delegatee","in":"query","schema":{"type":"string","format":"email","example":"delegatee@cptest.test"},"required":true,"description":"The user to whom you wish to delegate the calendar."},{"in":"query","name":"readonly","schema":{"type":"integer","enum":[1,0],"default":0,"example":1},"description":"Whether the delegatee will only have read-only access on the calendar.\n* `1` - Read-only access.\n* `0` - Full access.","required":false}],"x-cpanel-api-version":"UAPI","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  CCS \\\n  add_delegate \\\n  delegator='delegator@cptest.test' \\\n  delegatee='delegatee@cptest.test'\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/CCS/add_delegate?delegator=delegator%40cptest.test&delegatee=delegatee%40cptest.test","label":"URL","lang":"HTTP"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file CCS_add_delegate.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/CCS_add_delegate.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/CCS/,\n    q/add_delegate/,\n    {\n        'delegator' => 'delegator@cptest.test',\n        'delegatee' => 'delegatee@cptest.test',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file CCS_add_delegate.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/CCS_add_delegate.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'CCS',\n    'add_delegate',\n    array (\n        'delegator' => 'delegator@cptest.test',\n        'delegatee' => 'delegatee@cptest.test',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"summary":"Add calendar delegation","x-cpanel-available-version":"cPanel 90","tags":["CCS","Calendar and Contacts Server"],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"func":{"description":"The name of the method called.","example":"add_delegate","type":"string"},"module":{"type":"string","description":"The name of the module called.","example":"CCS"},"result":{"properties":{"status":{"type":"integer","example":1,"enum":[0,1],"description":"- `1` - Success.\n- `0` - Failed. Check the `errors` field for more details."},"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."},"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"metadata":{"properties":{}},"warnings":{"nullable":true,"type":"array","example":null,"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"}}},"type":"object"},"apiversion":{"example":3,"description":"The version of the API.","type":"integer"}}}}},"description":"HTTP Request was successful."}},"operationId":"CCS-add_delegate","x-readonly":false,"x-cpanel-rpm":"cpanel-ccs-calendarserver"}}},"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}}}],"tags":[{"name":"CCS","description":"The CCS module for UAPI."},{"description":"Optional Applications / Calendar and Contacts Server","name":"Calendar and Contacts Server"}],"x-tagGroups":[{"tags":["Calendar and Contacts Server"],"name":"Optional Applications"}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"security":[{"BasicAuth":[]}],"info":{"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"},"termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999"},"externalDocs":{"url":"https://cpanel.net/developers/"}},"update_delegate":{"info":{"termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"openapi":"3.0.2","tags":[{"name":"CCS","description":"The CCS module for UAPI."},{"description":"Optional Applications / Calendar and Contacts Server","name":"Calendar and Contacts Server"}],"servers":[{"url":"https://{host}:{port}/execute","variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"description":"The cPanel port.","default":"2083"}},"description":"A server running cPanel."}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"x-tagGroups":[{"tags":["Calendar and Contacts Server"],"name":"Optional Applications"}],"security":[{"BasicAuth":[]}],"paths":{"/CCS/update_delegate":{"get":{"parameters":[{"in":"query","name":"delegator","schema":{"type":"string","format":"email","example":"user1@example.com"},"description":"The calendar's owner.","required":true},{"description":"The user to whom you delegated the calendar.","required":true,"schema":{"example":"user2@example.com","format":"email","type":"string"},"in":"query","name":"delegatee"},{"in":"query","name":"readonly","description":"Whether the delegatee will only have read-only access on the calendar.\n* `1` - Read-only access.\n* `0` - Full access.","required":false,"schema":{"type":"integer","default":0,"example":1}}],"description":"This function updates the delegation of a user's calendar to another user.\n\n**Note:**\n\nYou **must** install the [Calendar and Contacts Server](https://go.cpanel.net/CalendarAndContactsServer) cPanel plugin to access this API function.","x-rollback":"none","tags":["CCS","Calendar and Contacts Server"],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"func":{"type":"string","description":"The name of the method called.","example":"update_delegate"},"result":{"type":"object","properties":{"status":{"description":"- `1` - Success.\n- `0` - Failed. Check the `errors` field for more details.","example":1,"enum":[0,1],"type":"integer"},"metadata":{"properties":{}},"warnings":{"example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","nullable":true,"type":"array"},"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null},"errors":{"nullable":true,"type":"array","example":null,"description":"List of errors if the API failed.","items":{"type":"string"}}}},"module":{"type":"string","description":"The name of the module called.","example":"CCS"},"apiversion":{"type":"integer","description":"The version of the API.","example":3}},"type":"object"}}},"description":"HTTP Request was successful."}},"operationId":"CCS-update_delegate","x-readonly":false,"x-codeSamples":[{"lang":"Shell","label":"CLI","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"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file CCS_update_delegate.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/CCS_update_delegate.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/CCS/,\n    q/update_delegate/,\n    {\n        'delegator' => 'user1@example.com',\n        'delegatee' => 'user2@example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file CCS_update_delegate.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/CCS_update_delegate.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'CCS',\n    'update_delegate',\n    array (\n        'delegator' => 'user1@example.com',\n        'delegatee' => 'user2@example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Update calendar delegation","x-cpanel-available-version":"cPanel 90","x-cpanel-api-version":"UAPI"}}}},"list_users":{"paths":{"/CCS/list_users":{"get":{"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"func":{"type":"string","example":"list_users","description":"The name of the method called."},"result":{"type":"object","properties":{"status":{"description":"- `1` - Success.\n- `0` - Failed. Check the `errors` field for more details.","example":1,"enum":[0,1],"type":"integer"},"metadata":{"properties":{}},"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API."},"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."},"type":"object","example":{"user1@example.com":"0882362A-0B98-11E8-BAF5-D988266709C1","user3@example.com":"195C8A51-E1B3-11E6-8715-F54FA4E00DDD","user4@example.com":"028F4AB1-0F1A-11E7-AEC7-E08FECEC8036","user2@example.com":"96F1EB2F-A501-11EA-A3EF-A553B2E4FFA8"}},"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."},"errors":{"example":null,"description":"List of errors if the API failed.","items":{"type":"string"},"nullable":true,"type":"array"}}},"module":{"description":"The name of the module called.","example":"CCS","type":"string"},"apiversion":{"type":"integer","description":"The version of the API.","example":3}},"type":"object"}}}}},"tags":["CCS","Calendar and Contacts Server"],"x-readonly":true,"operationId":"CCS-list_users","x-cpanel-api-version":"UAPI","description":"This function lists all calendar users on the cPanel account.\n\n**Note:**\n\nYou **must** install the [Calendar and Contacts Server](https://go.cpanel.net/CalendarAndContactsServer) cPanel plugin to access this API function.","summary":"List cPanel account's calendar users","x-cpanel-available-version":"cPanel 90","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  CCS \\\n  list_users\n","label":"CLI","lang":"Shell"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/CCS/list_users"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file CCS_list_users.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/CCS_list_users.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/CCS/,\n    q/list_users/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file CCS_list_users.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/CCS_list_users.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'CCS',\n    'list_users'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}]}}},"security":[{"BasicAuth":[]}],"servers":[{"description":"A server running cPanel.","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute"}],"openapi":"3.0.2","tags":[{"description":"The CCS module for UAPI.","name":"CCS"},{"name":"Calendar and Contacts Server","description":"Optional Applications / Calendar and Contacts Server"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"x-tagGroups":[{"name":"Optional Applications","tags":["Calendar and Contacts Server"]}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}}},"remove_delegate":{"paths":{"/CCS/remove_delegate":{"get":{"x-rollback":"none","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  CCS \\\n  remove_delegate \\\n  delegator='user1@example.com' \\\n  delegatee='user2@example.com'\n","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/CCS/remove_delegate?delegator=user1%40example.com&delegatee=user2%40example.com","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file CCS_remove_delegate.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/CCS_remove_delegate.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/CCS/,\n    q/remove_delegate/,\n    {\n        'delegator' => 'user1@example.com',\n        'delegatee' => 'user2@example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file CCS_remove_delegate.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/CCS_remove_delegate.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'CCS',\n    'remove_delegate',\n    array (\n        'delegator' => 'user1@example.com',\n        'delegatee' => 'user2@example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-available-version":"cPanel 90","summary":"Remove calendar delegation","description":"This function removes a delegate from another user's calendar.\n\n**Note:**\n\nYou **must** install the [Calendar and Contacts Server](https://go.cpanel.net/CalendarAndContactsServer) cPanel plugin to access this API function.","x-cpanel-api-version":"UAPI","operationId":"CCS-remove_delegate","x-readonly":false,"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"type":"integer","description":"The version of the API.","example":3},"module":{"description":"The name of the module called.","example":"CCS","type":"string"},"result":{"properties":{"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}},"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null},"metadata":{"properties":{}},"warnings":{"type":"array","nullable":true,"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"},"example":null},"status":{"example":1,"enum":[0,1],"description":"- `1` - Success.\n- `0` - Failed. Check the `errors` field for more details.","type":"integer"}},"type":"object"},"func":{"type":"string","description":"The name of the method called.","example":"remove_delegate"}}}}}}},"parameters":[{"schema":{"example":"user1@example.com","format":"email","type":"string"},"required":true,"description":"The calendar's owner.","name":"delegator","in":"query"},{"in":"query","name":"delegatee","description":"The user from whom you wish to remove delegation rights.","required":true,"schema":{"example":"user2@example.com","type":"string","format":"email"}}],"tags":["CCS","Calendar and Contacts Server"]}}},"x-tagGroups":[{"name":"Optional Applications","tags":["Calendar and Contacts Server"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"servers":[{"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."}},"description":"A server running cPanel."}],"tags":[{"name":"CCS","description":"The CCS module for UAPI."},{"description":"Optional Applications / Calendar and Contacts Server","name":"Calendar and Contacts Server"}],"openapi":"3.0.2","security":[{"BasicAuth":[]}],"info":{"contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"},"termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."},"externalDocs":{"url":"https://cpanel.net/developers/"}}},"NVData":{"set":{"info":{"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}}}],"tags":[{"name":"NVData","description":"The NVData module for UAPI."}],"x-tagGroups":[{"name":"NVData","tags":["NVData"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"security":[{"BasicAuth":[]}],"paths":{"/NVData/set":{"get":{"x-rollback":"none","deprecated":true,"description":"This function creates a non-volatile datastore. The system creates the datastore in the `/home/user/.cpanel/nvdata` directory, where `user` represents the account name.\n\n**Note:**\n\nWe deprecated this function. Instead, we recommend that you use the UAPI `Personalization::set` function.","x-cpanel-internal-only":true,"parameters":[{"name":"names","in":"query","schema":{"type":"string"},"required":true,"description":"A pipe-separated list of the non-volatile data file names that you wish to create.","examples":{"single":{"summary":"Using a single test file.","value":"testfile1"},"multiple":{"summary":"Using multiple test files.","value":"testfile1|testfile2|testfile3"}}},{"schema":{"type":"string","example":"some_data"},"required":true,"description":"The content that you wish to save in the non-volatile data file.\n\n**Note:**\n\nThis parameter's name is the name of a file that you listed in the `names` parameter's value.","name":"file","in":"query"}],"x-cpanel-available-version":"cPanel 54","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  NVData \\\n  set \\\n  names='testfile1' \\\n  file='some_data'\n","lang":"Shell","label":"CLI"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/NVData/set?names=testfile1&file=some_data"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file NVData_set.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/NVData_set.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/NVData/,\n    q/set/,\n    {\n        'names' => 'testfile1',\n        'file' => 'some_data',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file NVData_set.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/NVData_set.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'NVData',\n    'set',\n    array (\n        'names' => 'testfile1',\n        'file' => 'some_data',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Create or update non-volatile datastore","x-cpanel-api-version":"UAPI","operationId":"NVData-set","x-readonly":false,"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"func":{"type":"string","description":"The name of the method called.","example":"set"},"result":{"type":"object","properties":{"status":{"description":"- `1` - Success\n- `0` - Failed: Check the errors field for more details.","example":1,"enum":[0,1],"type":"integer"},"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null},"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"metadata":{"properties":{"transformed":{"type":"integer","description":"Post-processing may have transformed the data.","example":1,"enum":[1]}}},"data":{"description":"An array of objects that contains information about the non-volatile data.","items":{"properties":{"set":{"type":"string","description":"The name of the non-volatile file that you created.","example":"testfile1"}},"type":"object"},"type":"array"},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null}}},"module":{"type":"string","example":"NVData","description":"The name of the module called."},"apiversion":{"type":"integer","example":3,"description":"The version of the API."}},"type":"object"}}},"description":"HTTP Request was successful."}},"tags":["NVData"]}}}},"get":{"paths":{"/NVData/get":{"get":{"x-cpanel-api-version":"UAPI","summary":"Return non-volatile datastore's data","x-cpanel-available-version":"cPanel 11.42","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  NVData \\\n  get \\\n  names='testfile'\n"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/NVData/get?names=testfile"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file NVData_get.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/NVData_get.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/NVData/,\n    q/get/,\n    {\n        'names' => 'testfile',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file NVData_get.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/NVData_get.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'NVData',\n    'get',\n    array (\n        'names' => 'testfile',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"tags":["NVData"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"module":{"type":"string","description":"The name of the module called.","example":"NVData"},"result":{"type":"object","properties":{"metadata":{"properties":{"transformed":{"type":"integer","example":1,"enum":[1],"description":"Post-processing may have transformed the data."}}},"warnings":{"type":"array","nullable":true,"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"},"example":null},"data":{"type":"array","items":{"properties":{"value":{"type":"string","example":"testvalue","description":"The file's contents."},"name":{"description":"The file's name.","example":"testfile","type":"string"}},"type":"object"},"description":"An array of objects containing information about the non-volatile data."},"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."},"errors":{"example":null,"items":{"type":"string"},"description":"List of errors if the API failed.","nullable":true,"type":"array"},"status":{"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","example":1,"enum":[0,1],"type":"integer"}}},"func":{"example":"get","description":"The name of the method called.","type":"string"},"apiversion":{"example":3,"description":"The version of the API.","type":"integer"}}}}}}},"operationId":"NVData-get","x-readonly":true,"x-cpanel-internal-only":true,"description":"This function retrieves data from a non-volatile datastore. The system stores these\nfiles in the `/home/user/.cpanel/nvdata` directory, where `user` represents the account name.\n\n**Note:**\n\nWe deprecated this function. Instead, we recommend that you use the UAPI `Personalization::get`\nfunction.","deprecated":true,"parameters":[{"schema":{"format":"path","type":"string"},"examples":{"single":{"summary":"Retrieve a single file.","value":"testfile"},"multiple":{"summary":"Retrieve multiple files.","value":"names=testfile|testfile1|testfile2"}},"description":"A pipe-delimited list of files to retrieve, relative to the `/home/user/.cpanel/nvdata`\ndirectory, where `user` represents the cPanel user.","style":"pipeDelimited","explode":false,"name":"names","required":true,"in":"query"}]}}},"info":{"contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"},"termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999"},"externalDocs":{"url":"https://cpanel.net/developers/"},"openapi":"3.0.2","servers":[{"variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"tags":[{"name":"NVData","description":"The NVData module for UAPI."}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"x-tagGroups":[{"tags":["NVData"],"name":"NVData"}],"security":[{"BasicAuth":[]}]}},"ImageManager":{"convert_file":{"x-tagGroups":[{"tags":["Image Tools"],"name":"Files"}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"openapi":"3.0.2","tags":[{"name":"ImageManager","description":"The ImageManager module for UAPI."},{"name":"Image Tools","description":"Files / Image Tools"}],"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."}}}],"security":[{"BasicAuth":[]}],"info":{"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/ImageManager/convert_file":{"get":{"parameters":[{"in":"query","name":"image_file","schema":{"type":"string","example":"images/myimage.jpg"},"required":true,"description":"The image file to convert, relative to the cPanel account's `/home` directory."},{"name":"type","in":"query","description":"The format to which to convert the images.","required":true,"schema":{"example":"png","type":"string"}}],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"module":{"type":"string","description":"The name of the module called.","example":"ImageManager"},"result":{"properties":{"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}},"errors":{"nullable":true,"type":"array","example":null,"description":"List of errors if the API failed.","items":{"type":"string"}},"metadata":{"properties":{}},"warnings":{"type":"array","nullable":true,"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"},"example":null},"data":{"type":"object","properties":{"converted_file":{"type":"string","example":"/home/cptest1/images/myimage.png","description":"The new absolute filepath to the image."}}},"status":{"description":"* 1 — Success.\n* 0 — Failed. Check the `errors` field for more details.","enum":[0,1],"example":1,"type":"integer"}},"type":"object"},"func":{"example":"convert_file","description":"The name of the method called.","type":"string"},"apiversion":{"type":"integer","description":"The version of the API.","example":3}},"type":"object"}}}}},"tags":["ImageManager","Image Tools"],"operationId":"ImageManager-convert_file","x-readonly":false,"description":"This function converts an image to a new file format.\n\n**Important:**\n\nWhen you disable the [WebServer role](https://docs.cpanel.net/knowledge-base/general-systems-administration/how-to-use-server-profiles/#roles), the system **disables** this function.","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"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file ImageManager_convert_file.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/ImageManager_convert_file.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/ImageManager/,\n    q/convert_file/,\n    {\n        'image_file' => 'images/myimage.jpg',\n        'type' => 'png',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file ImageManager_convert_file.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/ImageManager_convert_file.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'ImageManager',\n    'convert_file',\n    array (\n        'image_file' => 'images/myimage.jpg',\n        'type' => 'png',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"summary":"Create image with new format","x-cpanel-available-version":"cPanel 82","x-cpanel-api-version":"UAPI","x-rollback":"none"}}}},"create_thumbnails":{"info":{"contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"},"termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999"},"externalDocs":{"url":"https://cpanel.net/developers/"},"tags":[{"name":"ImageManager","description":"The ImageManager module for UAPI."},{"name":"Image Tools","description":"Files / Image Tools"}],"servers":[{"url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"description":"A server running cPanel."}],"openapi":"3.0.2","components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"x-tagGroups":[{"tags":["Image Tools"],"name":"Files"}],"security":[{"BasicAuth":[]}],"paths":{"/ImageManager/create_thumbnails":{"get":{"x-rollback":"none","x-cpanel-api-version":"UAPI","summary":"Create image thumbnails","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"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/ImageManager/create_thumbnails?dir=images&width_percentage=25&height_percentage=25","label":"URL","lang":"HTTP"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file ImageManager_create_thumbnails.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/ImageManager_create_thumbnails.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/ImageManager/,\n    q/create_thumbnails/,\n    {\n        'dir' => 'images',\n        'width_percentage' => '25',\n        'height_percentage' => '25',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file ImageManager_create_thumbnails.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/ImageManager_create_thumbnails.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'ImageManager',\n    'create_thumbnails',\n    array (\n        'dir' => 'images',\n        'width_percentage' => '25',\n        'height_percentage' => '25',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"x-cpanel-available-version":"cPanel 82","description":"This function creates thumbnails from images. The function saves the new thumbnail images in a thumbnails subdirectory inside the original directory. The system prepends thumbnail filenames with ``tn_`` (for example, ``tn_picture.jpg``).\n\n**Important:**\n\nWhen you disable the [WebServer role](https://go.cpanel.net/serverroles), the system disables this function.","operationId":"ImageManager-create_thumbnails","x-readonly":false,"parameters":[{"in":"query","name":"dir","description":"The path to the directory where the image resides. When you pass this parameter, the function creates a thumbnail directory directly below the image directory.\n\n**NOTE:**\n\nThis parameter can use an absolute directory path or a path relative to the user's home directory.","required":true,"schema":{"type":"string","example":"images"}},{"schema":{"minimum":1,"example":25,"type":"integer","maximum":99},"description":"The percentage by which to reduce the thumbnails' width.","required":true,"in":"query","name":"width_percentage"},{"in":"query","name":"height_percentage","description":"The percentage by which to reduce the thumbnails' height.","required":true,"schema":{"minimum":1,"example":25,"type":"integer","maximum":99}}],"tags":["ImageManager","Image Tools"],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"func":{"example":"create_thumbnails","description":"The name of the method called.","type":"string"},"result":{"properties":{"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"},"data":{"description":"An array of objects containing thumbnail file information.","items":{"properties":{"file":{"example":"/home/cptest1/public_html/images/610_290.jpg","description":"The file from which the function generated the thumbnail file. An absolute filepath.","type":"string"},"reason":{"type":"string","example":"too many pixels","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."},"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"},"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.","example":1,"enum":[1],"type":"integer"}},"type":"object"},"type":"array"},"warnings":{"type":"array","nullable":true,"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"},"example":null},"status":{"example":1,"enum":[0,1],"description":"- 1 - Success.\n- 0 - Failed. Check the ``errors`` field for more details.","type":"integer"},"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"metadata":{"properties":{"transformed":{"type":"integer","enum":[1],"example":1,"description":"Post-processing may have transformed the data."}}}},"type":"object"},"module":{"example":"ImageManager","description":"The name of the module called.","type":"string"}},"type":"object"}}},"description":"HTTP Request was successful."}}}}}},"get_dimensions":{"openapi":"3.0.2","tags":[{"name":"ImageManager","description":"The ImageManager module for UAPI."},{"description":"Files / Image Tools","name":"Image Tools"}],"servers":[{"variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"x-tagGroups":[{"tags":["Image Tools"],"name":"Files"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"security":[{"BasicAuth":[]}],"info":{"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/ImageManager/get_dimensions":{"get":{"x-readonly":true,"operationId":"ImageManager-get_dimensions","tags":["ImageManager","Image Tools"],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"func":{"example":"get_dimensions","description":"The name of the method called.","type":"string"},"result":{"properties":{"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"metadata":{"properties":{}},"data":{"properties":{"width":{"description":"The image's width, in pixels.","example":261,"minimum":1,"type":"integer"},"height":{"type":"integer","minimum":1,"example":300,"description":"The image's height, in pixels."}},"type":"object"},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"status":{"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","example":1,"enum":[0,1],"type":"integer"}},"type":"object"},"module":{"example":"ImageManager","description":"The name of the module called.","type":"string"},"apiversion":{"type":"integer","example":3,"description":"The version of the API."}},"type":"object"}}},"description":"HTTP Request was successful."}},"parameters":[{"name":"image_file","in":"query","schema":{"example":"image/myimage.jpg","type":"string"},"required":true,"description":"The path to the file to measure.\n\n**Note:**\n\nUse the absolute filepath or a path relative to the user's home directory."}],"x-cpanel-api-version":"UAPI","description":"This function returns the dimensions of the image file that you specify.\n\n**Important:**\n\nWhen you disable the [WebServer role](https://docs.cpanel.net/knowledge-base/general-systems-administration/how-to-use-server-profiles/#roles), the system **disables** this function.","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  ImageManager \\\n  get_dimensions \\\n  image_file='image/myimage.jpg'\n"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/ImageManager/get_dimensions?image_file=image%2fmyimage.jpg"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file ImageManager_get_dimensions.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/ImageManager_get_dimensions.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/ImageManager/,\n    q/get_dimensions/,\n    {\n        'image_file' => 'image/myimage.jpg',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file ImageManager_get_dimensions.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/ImageManager_get_dimensions.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'ImageManager',\n    'get_dimensions',\n    array (\n        'image_file' => 'image/myimage.jpg',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"summary":"Return image dimensions","x-cpanel-available-version":"cPanel 82"}}}},"resize_image":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}},"security":[{"BasicAuth":[]}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}}}],"tags":[{"description":"The ImageManager module for UAPI.","name":"ImageManager"},{"name":"Image Tools","description":"Files / Image Tools"}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"x-tagGroups":[{"name":"Files","tags":["Image Tools"]}],"paths":{"/ImageManager/resize_image":{"get":{"description":"This function resizes a specified image.\n\n**Important:**\n\nWhen you disable the [WebServer role](https://docs.cpanel.net/knowledge-base/general-systems-administration/how-to-use-server-profiles/#roles), the system **disables** this function.","x-rollback":"clean","parameters":[{"description":"The name of the file to scale.\n\n**Note:**\n\nUse the absolute filepath or a filepath relative to the user's home directory.","required":true,"schema":{"type":"string","example":"/images/image.jpg"},"name":"image_file","in":"query"},{"name":"width","in":"query","schema":{"type":"integer","example":200,"minimum":1},"description":"The width to which to set the image size.","required":true},{"name":"height","in":"query","description":"The height to which to set the image size.","required":true,"schema":{"minimum":1,"example":300,"type":"integer"}},{"name":"save_original_as","in":"query","required":false,"description":"The path to the directory in which to save a copy the original\nimage file.\n\n**Note:**\n\n* If you don't pass this parameter, the function doesn't save\na copy of the original image.\n* Use the absolute filepath or a filepath relative to the user's home directory.","schema":{"example":"images/original.jpg","type":"string"}}],"summary":"Save resized image","x-cpanel-available-version":"cPanel 82","x-codeSamples":[{"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","lang":"Shell","label":"CLI"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/ImageManager/resize_image?image_file=%2fimages%2fimage.jpg&width=200&height=300","lang":"HTTP","label":"URL"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file ImageManager_resize_image.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/ImageManager_resize_image.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/ImageManager/,\n    q/resize_image/,\n    {\n        'image_file' => '/images/image.jpg',\n        'width' => '200',\n        'height' => '300',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file ImageManager_resize_image.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/ImageManager_resize_image.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'ImageManager',\n    'resize_image',\n    array (\n        'image_file' => '/images/image.jpg',\n        'width' => '200',\n        'height' => '300',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-api-version":"UAPI","tags":["ImageManager","Image Tools"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"func":{"example":"resize_image","description":"The name of the method called.","type":"string"},"result":{"properties":{"status":{"example":1,"enum":[0,1],"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","type":"integer"},"metadata":{"properties":{}},"data":{"type":"string","example":"/home/cptest1/images/myimage.jpg","description":"The absolute filepath to the resized image."},"warnings":{"type":"array","nullable":true,"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"},"example":null},"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."},"errors":{"example":null,"description":"List of errors if the API failed.","items":{"type":"string"},"nullable":true,"type":"array"}},"type":"object"},"module":{"type":"string","description":"The name of the module called.","example":"ImageManager"},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}}}}}}},"operationId":"ImageManager-resize_image","x-readonly":false}}}}},"Market":{"get_product_info":{"paths":{"/Market/get_product_info":{"get":{"x-cpanel-api-version":"UAPI","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.","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Market \\\n  get_product_info \\\n  product_name='cpanel-ssl'\n","label":"CLI","lang":"Shell"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/Market/get_product_info?product_name=cpanel-ssl"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Market_get_product_info.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Market_get_product_info.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Market/,\n    q/get_product_info/,\n    {\n        'product_name' => 'cpanel-ssl',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Market_get_product_info.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Market_get_product_info.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Market',\n    'get_product_info',\n    array (\n        'product_name' => 'cpanel-ssl',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 62","summary":"Retrieve product information","parameters":[{"name":"product_name","in":"query","schema":{"type":"string","example":"cpanel-ssl"},"description":"The name of the product for which to retrieve information.","required":true}],"tags":["Market","Market Integration"],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"apiversion":{"type":"integer","description":"The version of the API.","example":3},"result":{"properties":{"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."},"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"metadata":{"properties":{}},"data":{"type":"object","properties":{"redirect_url_failure":{"example":"https://hostname.example.com:2083/cpsessXXXXXXXXXX/frontend/jupiter/store/purchase_cpanel-ssl_completion.html?domain=example.com&successful_purchase=0","description":"The full cPanel URL to redirect to after a failed purchase, including the security token and relevant query string parameters.","type":"string","format":"url"},"redirect_url_success":{"example":"https://hostname.example.com:2083/cpsessXXXXXXXXXX/frontend/jupiter/store/purchase_cpanel-ssl_completion.html?domain=example.com&successful_purchase=1","description":"The full cPanel URL to redirect to after a successful purchase, including the security token and relevant query string parameters.","type":"string","format":"url"},"redirect_path":{"type":"string","example":"/frontend/jupiter/store/purchase_cpanel-ssl_completion.html","description":"The cPanel path to redirect to after a purchase attempt."},"product_id":{"example":"123456","description":"The product's identifier in the cPanel Store.","type":"string"}}},"warnings":{"example":null,"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"},"status":{"type":"integer","enum":[0,1],"example":1,"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details."}},"type":"object"},"module":{"type":"string","example":"Market","description":"The name of the module called."},"func":{"example":"get_product_info","description":"The name of the method called.","type":"string"}},"type":"object"}}},"description":"HTTP Request was successful."}},"x-readonly":true,"operationId":"Market-get_product_info"}}},"openapi":"3.0.2","tags":[{"description":"The Market module for UAPI.","name":"Market"},{"name":"Market Integration","description":"Commerce Integration / Market Integration"}],"servers":[{"variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"x-tagGroups":[{"tags":["Market Integration"],"name":"Commerce Integration"}],"security":[{"BasicAuth":[]}],"info":{"version":"11.89.0.9999","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/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"externalDocs":{"url":"https://cpanel.net/developers/"}},"get_pending_ssl_certificates":{"paths":{"/Market/get_pending_ssl_certificates":{"get":{"x-readonly":true,"operationId":"Market-get_pending_ssl_certificates","tags":["Market","SSL Certificates"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"description":"The version of the API.","example":3,"type":"integer"},"func":{"type":"string","example":"get_pending_ssl_certificates","description":"The name of the method called."},"result":{"type":"object","properties":{"status":{"type":"integer","enum":[0,1],"example":1,"description":"* `1` - Success.\n* `0` - Failed. Check the errors field for more details."},"metadata":{"properties":{}},"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null,"type":"array","nullable":true},"data":{"items":{"type":"object","properties":{"order_id":{"type":"string","description":"The ID of the order.","example":"AAE35B28-E57B-11E5-A5DD-B633DD41FB49"},"order_item_id":{"type":"string","description":"The ID of the ordered item.","example":"1"},"vhost_names":{"description":"The virtual host domains on the certificate.","items":{"type":"string","format":"domain","example":"example.com"},"type":"array"},"status":{"example":"confirmed","description":"The status of the order.\n* `confirmed` - Payment confirmed.\n* `unconfirmed` - Payment not confirmed.","type":"string"},"expired":{"type":"integer","description":"Whether the pending queue item has been deleted.\n* `1` - Deleted.\n* `0` - **Not** deleted.","enum":[0,1],"example":0},"created_time":{"example":1417475501,"description":"When the system placed the order.","type":"integer","format":"unix_timestamp"},"originating_certificate_id":{"example":"12340","description":"For a re-issued certificate, the ID of the certificate that it descends from.","type":"string"},"identity_verification":{"type":"object","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":{"duns_number":"12-345-6789","joi_state_or_province_name":"PA","business_category":"b","rep_forename":"Richard","assumed_name":"cPanel","rep_email_address":"richard.ang@cpanel.net","organizationalUnitName":"Team Cobra","postalCode":"77092","localityName":"Houston","stateOrProvinceName":"TX","joi_country_name":"US","joi_locality_name":"Somewhere","organizationName":"WebPros International, LLC","streetAddress":"2500 N. Loop W.","rep_surname":"Ang","countryName":"US","date_of_incorporation":"1996-01-01","rep_telephone":"713-529-0800"}},"provider":{"example":"cPStore","description":"The cPanel Market provider's name.","type":"string"},"first_poll_time":{"format":"unix_timestamp","type":"integer","description":"The first time that the system polled the provider for the certificate.","example":1437475501},"last_poll_time":{"format":"unix_timestamp","type":"integer","description":"The last time that the system polled the provider for the certificate.","example":1457475501},"support_uri":{"format":"url","type":"string","description":"The URI of the cPanel Market Provider's support site.","example":"http://support.example.com/"},"parent_cert_expiry":{"type":"integer","format":"unix_timestamp","description":"The expiration of the parent subscription certificate, as a Unix timestamp.","example":1735689600},"product_id":{"description":"The product's ID.","example":"12345","type":"string"},"certificate_id":{"type":"string","example":"12345","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."},"last_status_code":{"example":"CertificateNotFound","enum":["CertificateNotFound","RequiresApproval","OrderCanceled","OrderItemCanceled"],"description":"The last status code of the order. The function returns the value in the unnamed hash.\n* `CertificateNotFound` - The system cannot locate the specified certificate.\n* `RequiresApproval` - The specified certificate requires approval.\n* `OrderCanceled` - The system canceled the order of the specified certificate.\n* `OrderItemCanceled` - The system canceled the order item of the specified certificate.","type":"string"},"csr":{"format":"base64 certificate","type":"string","example":"Click to view...-----BEGIN CERTIFICATE REQUEST----- MIIC4DCCAcgCAQAwgZoxFjAUBgNVBAMTDXRlc3RzaW1vbi5jb20xFjAUBgNVBAsT DURvY3VtZW50YXRpb24xDjAMBgNVBAgTBVRleGFzMQ8wDQYDVQQKEwZjUGFuZWwx KDAmBgkqhkiG9w0BCQEWGWxhdXJlbmNlLnNpbW9uQGNwYW5lbC5uZXQxCzAJBgNV BAYTAlVTMRAwDgYDVQQHEwdIb3VzdG9uMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A MIIBCgKCAQEA4AVM6J4Qg3DIFWr/eJ5GRmIATYsJIepKbrDy70sq+udcO8R8xxak 0oMZ/9mUdpjSNK/fLVTuCO0kxTfQ9VUWJllX7ThD6Zh9ZvlC/nf/OEZLm3ZbnBgu 8rbC8E9wuDOkKbJLnINgdhtowIydLK2MJ++q62bFV89jkHWTMcKyyqHENo3hc+lk pd9vnp8rZTinaVb7nX26uQqAFZYRo+WU0G/NPsq40QVSMoqPxyEz4qXo0hvuIlCX mzFZq/6fCVPEKPLhQgMmpdBkMz4dVOazREfqXdjMD2+QXSNiA1AwWr8l0r4rtzlx EYDJIR41yXp0xMl3KoolxMyvLBqZy32niQIDAQABoAAwDQYJKoZIhvcNAQEFBQAD ggEBAEaCn+rg6qlhp6SEKuZg1G6z1M+1XQoTN3E6bTdM3rD1wXjqtyFfYGTy5Bvv gUKrl6t312owJ2si8/K9v/ocVxdjc0rPWSOWScfSc1Od3i1L1YuqbboL2aQSak3y gpGnZMHCUED1y4xyABAFOaXUurFiZj5u3P2mBAYGt2ez2afiPlo5YpTRNCoTUlVz KNKkyUnptBLOvlwGgerBmOoP4QdVhTSuxO9TECsiPdldE1BVZrlFclDFvoP01jFZ WOTWz+k3O202gK4w/tPP2VMVldNFrC0QoENu85ohT1nJj6F3mrM1CZ+1c8zYzr+S 6aAXFhHE6FweeunRAGjEJggoTPo= -----END CERTIFICATE REQUEST-----","description":"The certificate signing request's (CSR) text. A CSR file in Base64 PEM format."},"domains":{"type":"array","items":{"example":"example.com","format":"domain","type":"string"},"description":"The domains on the certificate."}}},"description":"An array of objects that contain information about each certificate for which the system polls the provider.","type":"array"},"messages":{"example":null,"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"},"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null}}},"module":{"type":"string","example":"Market","description":"The name of the module called."}},"type":"object"}}}}},"parameters":[{"schema":{"example":"cPStore","type":"string"},"description":"The cPanel Market provider's name.","required":true,"name":"provider","in":"query"}],"x-cpanel-available-version":"cPanel 56","summary":"Return provider's pending SSL certificates","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Market \\\n  get_pending_ssl_certificates \\\n  provider='cPStore'\n","lang":"Shell","label":"CLI"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Market/get_pending_ssl_certificates?provider=cPStore","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Market_get_pending_ssl_certificates.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Market_get_pending_ssl_certificates.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Market/,\n    q/get_pending_ssl_certificates/,\n    {\n        'provider' => 'cPStore',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Market_get_pending_ssl_certificates.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Market_get_pending_ssl_certificates.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Market',\n    'get_pending_ssl_certificates',\n    array (\n        'provider' => 'cPStore',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"description":"This function lists all pending SSL certificates from a cPanel Market provider for which the system currently polls.","x-cpanel-api-version":"UAPI"}}},"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute"}],"tags":[{"description":"The Market module for UAPI.","name":"Market"},{"name":"SSL Certificates","description":"Commerce Integration / SSL Certificates"}],"x-tagGroups":[{"tags":["SSL Certificates"],"name":"Commerce Integration"}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"security":[{"BasicAuth":[]}],"info":{"title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"}},"get_certificate_status_details":{"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"name":"Commerce Integration","tags":["SSL Certificates"]}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute"}],"tags":[{"name":"Market","description":"The Market module for UAPI."},{"description":"Commerce Integration / SSL Certificates","name":"SSL Certificates"}],"security":[{"BasicAuth":[]}],"info":{"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","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.","version":"11.89.0.9999","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/"},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/Market/get_certificate_status_details":{"get":{"x-cpanel-available-version":"cPStore 76","summary":"Return provider's SSL certificate request status","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Market \\\n  get_certificate_status_details \\\n  order_item_id='1234567890' \\\n  provider='cPStore'\n","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Market/get_certificate_status_details?order_item_id=1234567890&provider=cPStore","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Market_get_certificate_status_details.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Market_get_certificate_status_details.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Market/,\n    q/get_certificate_status_details/,\n    {\n        'order_item_id' => '1234567890',\n        'provider' => 'cPStore',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Market_get_certificate_status_details.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Market_get_certificate_status_details.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Market',\n    'get_certificate_status_details',\n    array (\n        'order_item_id' => '1234567890',\n        'provider' => 'cPStore',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"description":"This function returns the status of an SSL certificate request. The returns include\nactionable URLs for users to expedite the validation process, if applicable.\n\n**Important:**\n\nBecause this function returns data from a dynamic source, the returns in each\nobject can vary.","x-cpanel-api-version":"UAPI","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"type":"integer","description":"The version of the API.","example":3},"result":{"properties":{"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"metadata":{"properties":{}},"status":{"type":"integer","description":"* `1` - Success.\n* `0` - Failed. Check the errors field for more details.","example":1,"enum":[0,1]},"messages":{"example":["Certificate request is still being processed."],"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"data":{"type":"object","properties":{"domain_details":{"description":"An object that contains information about the domain.","type":"object","properties":{"status":{"type":"string","description":"The status of the domain's certificate.\n\n* `VALIDATED` - The domain has been validated.\n* `NOTVALIDATED` - The domain has **not** been validated.\n* `AWAITINGBRAND` - The domain has **not** been validated, and is awaiting brand approval.","enum":["VALIDATED","NOTVALIDATED","AWAITINGBRAND"],"example":"AWAITINGBRAND"},"domain":{"example":"www.example.com","description":"The Fully Qualified Domain Name (FQDN) that the function queries.","format":"domain","type":"string"}}},"actionUrls":{"type":"object","properties":{"ovCallbackStatus":{"format":"url","type":"string","example":"https://example.com/action","description":"A URL that a user can use to expedite the validation process for Organization Validated (OV) certificates."},"evClickThroughStatus":{"example":"https://example.com/action","description":"A URL that a user can use to expedite the validation process for Extended Validation (EV) certificates.","type":"string","format":"url"}},"description":"An object that contains actionable URLs."},"status_details":{"description":"An object that contains specific information about the validation process.","type":"object","properties":{"freeDVUPStatus":{"type":"string","description":"Whether every requirement for the Domain Validated (DV) certificate has completed.\n\n* `not applicable` - This is **not** applicable for the certificate.\n* `not-completed` - The DV certificate's requirements check is **not** complete.\n* `completed` - The DV certificate's requirements check is complete.\n* `in-progress` - The DV certificate's requirements check is in progress.","example":"not applicable","enum":["not applicable","not-completed","completed","in-progress"]},"brandValStatus":{"type":"string","description":"Whether the brand validation status has completed.\n\n* `not applicable` - This is **not** applicable for the certificate.\n* `not-completed` - The certificate's brand validation is **not** complete.\n* `completed` - The certificate's brand validation is complete.\n* `in-progress` - The certificate's brand validation is in progress.","example":"in-progress","enum":["not applicable","not-completed","completed","in-progress"]},"certificateStatus":{"enum":["not applicable","not-completed","completed","in-progress"],"example":"in-progress","description":"Whether the provider has issued the SSL certificate.\n\n* `not applicable` - This is **not** applicable for the certificate.\n* `not-completed` - The certificate's issue is **not** completed.\n* `completed` - The provider has issued the certificate.\n* `in-progress` - The certificate's issue is in progress.","type":"string"},"dcvStatus":{"enum":["not applicable","not-completed","completed","in-progress"],"example":"completed","description":"Whether Domain Control Validation (DCV) has completed.\n\n* `not applicable` - This is **not** applicable for the certificate.\n* `not-completed` - The DCV for the certificate is **not** complete.\n* `completed` - The DCV for the certificate is complete.\n* `in-progress` - The DCV for the certificate is in progress.","type":"string"},"ovCallbackStatus":{"description":"Whether the Certificate Authority (CA) has verified the organization's validity via a phone call.\n\n* `not applicable` - This is **not** applicable for the certificate.\n* `not-completed` - The CA has **not** verified the organization's validity via phone.\n* `completed` - The CA has verified the organization's validity via phone.\n* `in-progress` - The CA's verification of the organization's validity via phone is in progress.","example":"not applicable","enum":["not applicable","not-completed","completed","in-progress"],"type":"string"},"csrStatus":{"description":"Whether the certificate signing request (CSR) has completed.\n\n* `not applicable` - This is **not** applicable for the certificate.\n* `not-completed` - The CSR for the certificate is **not** complete.\n* `completed` - The CSR for the certificate is complete.\n* `in-progress` - The CSR for the certificate is in progress.","example":"completed","enum":["not applicable","not-completed","completed","in-progress"],"type":"string"},"evClickThroughStatus":{"type":"string","enum":["not applicable","not-completed","completed","in-progress"],"example":"in-progress","description":"Whether every requirement for the EV certificate has completed.\n\n* `not applicable` - This is **not** applicable for the certificate.\n* `not-completed` - The EV certificate's requirements check is **not** complete.\n* `completed` - The EV certificate's requirements check is complete.\n* `in-progress` - The EV certificate's requirements check is in progress.\n\nFor more information, read Sectigo's [What is required for validation?](https://support.sectigo.com/Com_KnowledgeDetailPage?Id=kA01N000000zFOr) documentation."},"organizationValidationStatus":{"type":"string","example":"not applicable","enum":["not applicable","not-completed","completed","in-progress"],"description":"Whether every requirement for the OV certificate has completed.\n\n* `not applicable` - This is **not** applicable for the certificate.\n* `not-completed` - The OV certificate's requirements check is **not** complete.\n* `completed` - The OV certificate's requirements check is complete.\n* `in-progress` - The OV certificate's requirements check is in progress."},"validationStatus":{"description":"Whether the validation process has completed.\n\n* `not applicable` - This is **not** applicable for the certificate.\n* `not-completed` - The certificate's validation is **not** complete.\n* `completed` - The certificate's validation is complete.\n* `in-progress` - The certificate's validation is in progress.","example":"in-progress","enum":["not applicable","not-completed","completed","in-progress"],"type":"string"}}}}}},"type":"object"},"module":{"description":"The name of the module called.","example":"Market","type":"string"},"func":{"type":"string","example":"get_certificate_status_details","description":"The name of the method called."}}}}}}},"tags":["Market","SSL Certificates"],"parameters":[{"description":"The order ID that the cPanel Market provider assigned.","required":true,"schema":{"minimum":1,"example":1234567890,"type":"integer"},"name":"order_item_id","in":"query"},{"in":"query","name":"provider","description":"The cPanel Market provider's name.","required":true,"schema":{"type":"string","example":"cPStore"}}],"x-readonly":true,"operationId":"Market-get_certificate_status_details"}}}},"request_ssl_certificates":{"tags":[{"name":"Market","description":"The Market module for UAPI."},{"description":"Commerce Integration / SSL Certificates","name":"SSL Certificates"}],"openapi":"3.0.2","servers":[{"variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"x-tagGroups":[{"tags":["SSL Certificates"],"name":"Commerce Integration"}],"security":[{"BasicAuth":[]}],"info":{"contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI"},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/Market/request_ssl_certificates":{"get":{"x-readonly":false,"operationId":"Market-request_ssl_certificates","parameters":[{"in":"query","name":"access_token","description":"The access token for the session to the cPanel Market provider.","required":true,"schema":{"type":"string","example":"725431a1-d5bc-11e5-a28b-8b0e09a93f05"}},{"name":"certificate","in":"query","description":"A JSON-encoded string that contains the details of the certificate.\n\n**Note:**\n\nTo request multiple certificates, duplicate or increment the parameter name.\nFor example, to request three certificates, use the `certificate` parameter multiple times or use the `certificate-1`,\n`certificate-2`, and `certificate-3` parameters.","required":true,"content":{"application/json":{"schema":{"example":{"subject_names":[{"dNSName":"example.com"},{"dNSName":"example.org"}],"vhost_names":["example.com"],"product_id":"143","price":6,"validity_period":["1, \"year\""]},"required":["product_id","price","subject_names","validity_period"],"properties":{"subject_names":{"anyOf":[{"items":{"type":"string"},"description":"HTTP-based DCV only.","type":"array"},{"type":"array","description":"DNS-based DCV or HTTP-based DCV.","items":{"type":"object"}}],"description":"An array of strings or array of objects containing the certificate's subject names:\n\n**For HTTP-based DCV only:**\n\nUse an array of strings that contains `dNSName` and the domain.\n\nFor example:\n\n`[[\"dNSName\",\"example.com\"],[\"dNSName\",\"example.org\"]]`\n\n**DNS-based DCV or HTTP-based DCV:**\n\nUse an array of objects that consits of:\n\n* `type:dNSName`\n* `name` — The domain name.\n* `dcv_method` — Either the `dns` or `http` value for for DNS-based or HTTP-based Domain Control Validation (DCV).\n\nFor example:\n\n`[{type:“dNSName”,name:“text.example.com”,dcv_method:“dns”},{type:“dNSName”,name:“text.example.com”,dcv_method:“http”}]`\n\n**Note:**\n\n* Custom provider modules that include DNS-based DCV requests **must** use the array of\nobjects format, **not** the array of strings format.\n* This function does **not** automatically include the corresponding `www.` subdomain for each domain\nthat you declare in this parameter.\n* If you wish to order the `www.` subdomain for a domain, you **must** explicitly declare it in an additional\narray or object within the `subject_names` parameter."},"product_id":{"type":"string","description":"The product's ID."},"vhost_names":{"type":"array","description":"A comma-separated list of web virtual hosts (vhosts) for which the system will install the certificate.\n\n**Note:**\n\nAn asterisk (`*`) chraracter represents every vhost with which the certificate is compatible.","items":{"type":"string"}},"price":{"format":"currency","type":"number","description":"The certificate's price."},"validity_period":{"type":"array","description":"The period of time the certificate will remain valid.\nThis array consists of a number value and string that represents a unit of time (for example, `year`).","items":{"type":"string"}}}}}}},{"required":true,"description":"The cPanel Market provider's name.","schema":{"type":"string","example":"cPStore"},"in":"query","name":"provider"},{"schema":{"format":"url","type":"string","example":"http://checkout.example.com"},"required":false,"description":"The URL to send the browser after the user checks out.\n\n**Note:**\n\nThis URL does **not** contain a query string.","in":"query","name":"url_after_checkout"},{"name":"identity_verification","in":"query","content":{"application/json":{"schema":{"type":"object","example":{"countryName":"US","rep_surname":"Last Name","streetAddress":"555 Street Name","organizationName":"Company, Inc.","rep_telephone":"123-456-7891","rep_forename":"First Name","duns_number":"12-345-6789","stateOrProvinceName":"ST","localityName":"City Name","postalCode":55555,"organizationalUnitName":"Team Company,","rep_email_address":"username@example.com"}}}},"description":"An object containing the required information for an EV or OV certificate. This information depends on the provider of the certificate.\n\n**Note:**\n\nThe function returns this object for OV or EV certificate requests.","required":false}],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","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"},"result":{"properties":{"metadata":{"properties":{}},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"status":{"type":"integer","enum":[0,1],"example":1,"description":"* `1` - Success\n* `0` - Failed: Check the errors field for more details."},"data":{"type":"object","properties":{"order_id":{"type":"integer","description":"The order ID that the cPanel Market provider assigned.","example":123456,"minimum":1},"checkout_url":{"type":"string","format":"url","example":"http://store.example.com/showmethemoney.cgi","description":"The URL that the cPanel Market provider uses to process payment."},"certificates":{"properties":{"key_id":{"example":"ac90f_639fd_6c236062f0d7a4579a30e01612c4cee0","description":"The private key's ID.","type":"string"},"order_item_id":{"type":"integer","minimum":1,"description":"The ID of the ordered item.","example":12345}},"type":"object","description":"Information about each certificate in the order."}}},"warnings":{"example":null,"description":"List of warnings generated by the API. Warnings\ndescribe non-critical failures or other problematic conditions\nnoted while running a API.","items":{"type":"string"},"nullable":true,"type":"array"},"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."}},"type":"object"},"module":{"type":"string","example":"Market","description":"The name of the module called."}}}}}}},"tags":["Market","SSL Certificates"],"x-rollback":"none","x-cpanel-api-version":"UAPI","description":"This function submits a request for a certificate order to the cPanel Market provider.","x-cpanel-available-version":"cPanel 56","summary":"Request SSL certificate order","x-codeSamples":[{"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'","lang":"Shell","label":"CLI"},{"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","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Market_request_ssl_certificates.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Market_request_ssl_certificates.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Market/,\n    q/request_ssl_certificates/,\n    {\n        'access_token' => '725431a1-d5bc-11e5-a28b-8b0e09a93f05',\n        'certificate' => '{\"price\":\"6\",\"product_id\":\"143\",\"subject_names\":[{\"dNSName\":\"example.com\"},{\"dNSName\":\"example.org\"}],\"validity_period\":[\"1, \\\"year\\\"\"],\"vhost_names\":[\"example.com\"]}',\n        'provider' => 'cPStore',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Market_request_ssl_certificates.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Market_request_ssl_certificates.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Market',\n    'request_ssl_certificates',\n    array (\n        'access_token' => '725431a1-d5bc-11e5-a28b-8b0e09a93f05',\n        'certificate' => '{\"price\":\"6\",\"product_id\":\"143\",\"subject_names\":[{\"dNSName\":\"example.com\"},{\"dNSName\":\"example.org\"}],\"validity_period\":[\"1, \\\"year\\\"\"],\"vhost_names\":[\"example.com\"]}',\n        'provider' => 'cPStore',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}]}}}},"get_build_cart_url":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"},"license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999"},"security":[{"BasicAuth":[]}],"x-tagGroups":[{"name":"Commerce Integration","tags":["Market Integration"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"tags":[{"name":"Market","description":"The Market module for UAPI."},{"name":"Market Integration","description":"Commerce Integration / Market Integration"}],"servers":[{"description":"A server running cPanel.","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"url":"https://{host}:{port}/execute"}],"openapi":"3.0.2","paths":{"/Market/get_build_cart_url":{"get":{"x-rollback":"none","x-cpanel-api-version":"UAPI","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.","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Market \\\n  get_build_cart_url \\\n  product_name='cpanel-ssl' \\\n  domain='example.com'\n","lang":"Shell","label":"CLI"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Market/get_build_cart_url?product_name=cpanel-ssl&domain=example.com","label":"URL","lang":"HTTP"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Market_get_build_cart_url.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Market_get_build_cart_url.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Market/,\n    q/get_build_cart_url/,\n    {\n        'product_name' => 'cpanel-ssl',\n        'domain'       => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Market_get_build_cart_url.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Market_get_build_cart_url.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Market',\n    'get_build_cart_url',\n    array (\n        'product_name' => 'cpanel-ssl',\n        'domain'       => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Build cart URL for a product","x-cpanel-available-version":"cPanel 62","x-readonly":false,"operationId":"Market-get_build_cart_url","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"result":{"properties":{"status":{"type":"integer","enum":[0,1],"example":1,"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details."},"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"messages":{"example":null,"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"},"data":{"type":"object","properties":{"url":{"type":"string","format":"url","example":"https://hostname.example.com:2083/cpsessXXXXXXXXXX/frontend/jupiter/store/purchase_product_build_cart.html?product_name=cpanel-ssl","description":"The full cPanel URL for the product purchase cart page, including the security token."}}},"warnings":{"example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","nullable":true,"type":"array"},"metadata":{"properties":{}}},"type":"object"},"module":{"type":"string","example":"Market","description":"The name of the module called."},"func":{"type":"string","description":"The name of the method called.","example":"get_build_cart_url"},"apiversion":{"type":"integer","example":3,"description":"The version of the API."}},"type":"object"}}}}},"tags":["Market","Market Integration"],"parameters":[{"name":"product_name","in":"query","schema":{"example":"cpanel-ssl","type":"string"},"description":"The name of the product for which to build the cart URL.","required":true},{"in":"query","name":"domain","schema":{"type":"string","example":"example.com"},"description":"The domain associated with the product purchase. This parameter is optional.","required":false}]}}}},"get_providers_list":{"paths":{"/Market/get_providers_list":{"get":{"tags":["Market","Market Integration"],"parameters":[],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"module":{"type":"string","example":"Market","description":"The name of the module called."},"result":{"properties":{"metadata":{"properties":{"transformed":{"type":"integer","description":"Post-processing may have transformed the data.","enum":[1],"example":1}}},"data":{"items":{"properties":{"name":{"type":"string","example":"cPStore","description":"The cPanel Market provider's name."},"display_name":{"description":"The cPanel Market provider's display name.","example":"cPanel Store","type":"string"}},"type":"object"},"description":"An array of objects that lists enabled providers in the cPanel Market.","type":"array"},"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"},"example":null,"type":"array","nullable":true},"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"},"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"status":{"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","enum":[0,1],"example":1,"type":"integer"}},"type":"object"},"func":{"type":"string","description":"The name of the method called.","example":"get_providers_list"},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}}}}}}},"x-readonly":true,"operationId":"Market-get_providers_list","description":"This function lists the names of enabled cPanel Market providers.","x-cpanel-available-version":"cPanel 56","summary":"Return enabled providers","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Market \\\n  get_providers_list\n","lang":"Shell","label":"CLI"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Market/get_providers_list","label":"URL","lang":"HTTP"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Market_get_providers_list.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Market_get_providers_list.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Market/,\n    q/get_providers_list/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Market_get_providers_list.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Market_get_providers_list.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Market',\n    'get_providers_list'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-api-version":"UAPI"}}},"security":[{"BasicAuth":[]}],"x-tagGroups":[{"tags":["Market Integration"],"name":"Commerce Integration"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"openapi":"3.0.2","tags":[{"name":"Market","description":"The Market module for UAPI."},{"description":"Commerce Integration / Market Integration","name":"Market Integration"}],"servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}}}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}}},"create_shopping_cart":{"servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"description":"The Market module for UAPI.","name":"Market"},{"description":"Commerce Integration / Market Integration","name":"Market Integration"}],"x-tagGroups":[{"name":"Commerce Integration","tags":["Market Integration"]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"security":[{"BasicAuth":[]}],"info":{"license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface’s features. Use this API to access and modify cPanel account data and settings.","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/Market/create_shopping_cart":{"get":{"x-rollback":"none","summary":"Create shopping cart","x-codeSamples":[{"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":"CLI","lang":"Shell"},{"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"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Market_create_shopping_cart.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Market_create_shopping_cart.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Market/,\n    q/create_shopping_cart/,\n    {\n        'provider' => 'cPStore',\n        'access_token' => '1a676e6f-99fc-11e6-9ab6-e60a769b73bc',\n        'url_after_checkout' => 'http://www.example.com/thenextplace',\n        'item' => '{\"product_id\":123456,\"provider-specfic-key\":\"provider-specfic-value\",\"another-provider-specfic-key\":\"another-provider-specfic-value\"}'&item='{\"product_id\":123457,\"provider-specfic-key\":\"provider-specfic-value\",\"another-provider-specfic-key\":\"another-provider-specfic-value\"}',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Market_create_shopping_cart.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Market_create_shopping_cart.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Market',\n    'create_shopping_cart',\n    array (\n        'provider' => 'cPStore',\n        'access_token' => '1a676e6f-99fc-11e6-9ab6-e60a769b73bc',\n        'url_after_checkout' => 'http://www.example.com/thenextplace',\n        'item' => '{\"product_id\":123456,\"provider-specfic-key\":\"provider-specfic-value\",\"another-provider-specfic-key\":\"another-provider-specfic-value\"}'&item='{\"product_id\":123457,\"provider-specfic-key\":\"provider-specfic-value\",\"another-provider-specfic-key\":\"another-provider-specfic-value\"}',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"x-cpanel-available-version":"cPanel 62","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.","x-cpanel-api-version":"UAPI","x-readonly":false,"operationId":"Market-create_shopping_cart","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"type":"integer","description":"The version of the API.","example":3},"func":{"type":"string","example":"create_shopping_cart","description":"The name of the method called."},"module":{"description":"The name of the module called.","example":"Market","type":"string"},"result":{"type":"object","properties":{"data":{"type":"object","properties":{"order_items":{"type":"array","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"}},"order_id":{"example":"8765309","description":"The order’s ID.","type":"string"},"checkout_url":{"description":"The location of the provider’s check out page.","example":"http://www.example.com/checkout","type":"string","format":"url"}}},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"metadata":{"properties":{}},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null},"status":{"type":"integer","description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","example":1,"enum":[0,1]}}}}}}},"description":"HTTP Request was successful."}},"tags":["Market","Market Integration"],"parameters":[{"required":true,"description":"The cPanel Market provider’s name.","schema":{"example":"cPStore","type":"string"},"in":"query","name":"provider"},{"schema":{"example":"1a676e6f-99fc-11e6-9ab6-e60a769b73bc","type":"string","format":"uuid"},"required":true,"description":"The access token to connect to the provider.","name":"access_token","in":"query"},{"required":true,"description":"The location to which the provider directs the user after the checkout process is complete.","schema":{"type":"string","format":"url","example":"http://www.example.com/thenextplace"},"in":"query","name":"url_after_checkout"},{"name":"item","explode":true,"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.","style":"form","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\"}"],"schema":{"type":"array","items":{"format":"json","type":"string"}},"in":"query","required":true}]}}}},"create_shopping_cart_non_ssl":{"security":[{"BasicAuth":[]}],"x-tagGroups":[{"tags":["Market Integration"],"name":"Commerce Integration"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"servers":[{"url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"description":"A server running cPanel."}],"tags":[{"name":"Market","description":"The Market module for UAPI."},{"description":"Commerce Integration / Market Integration","name":"Market Integration"}],"openapi":"3.0.2","externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/"},"paths":{"/Market/create_shopping_cart_non_ssl":{"get":{"operationId":"Market-create_shopping_cart_non_ssl","x-readonly":false,"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"func":{"type":"string","example":"create_shopping_cart_non_ssl","description":"The name of the method called."},"result":{"properties":{"metadata":{"properties":{}},"warnings":{"example":null,"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"},"data":{"properties":{"order_items_ref":{"type":"array","description":"An array of objects that contain information about the items in the shopping cart. The values returned vary between providers.","items":{"type":"object"}},"order_id":{"description":"The order ID assigned by the provider.","example":"8765309","type":"string"},"checkout_url":{"format":"url","type":"string","description":"The URL of the provider's checkout page.","example":"https://store.cpanel.net/checkout?order_id=8765309"}},"type":"object"},"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."},"errors":{"nullable":true,"type":"array","example":null,"description":"List of errors if the API failed.","items":{"type":"string"}},"status":{"type":"integer","enum":[0,1],"example":1,"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details."}},"type":"object"},"module":{"example":"Market","description":"The name of the module called.","type":"string"}}}}},"description":"HTTP Request was successful."}},"parameters":[{"required":true,"description":"The access token obtained during login to the cPanel Market provider.","schema":{"type":"string","format":"uuid","example":"1a676e6f-99fc-11e6-9ab6-e60a769b73bc"},"in":"query","name":"access_token"},{"name":"product_name","in":"query","required":true,"description":"The name of the product to purchase.","schema":{"type":"string","example":"cpanel-ssl"}},{"name":"domain","in":"query","description":"The domain associated with the product purchase. This parameter is optional.","required":false,"schema":{"type":"string","example":"example.com"}},{"schema":{"type":"string","format":"url","example":"http://www.example.com/thenextplace"},"description":"The URL to which the provider redirects the user after the checkout process is complete.","required":true,"name":"url_after_checkout","in":"query"}],"tags":["Market","Market Integration"],"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.","summary":"Create shopping cart for non-SSL products","x-codeSamples":[{"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":"CLI","lang":"Shell"},{"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":"URL","lang":"HTTP"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Market_create_shopping_cart_non_ssl.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Market_create_shopping_cart_non_ssl.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Market/,\n    q/create_shopping_cart_non_ssl/,\n    {\n        'access_token'      => '1a676e6f-99fc-11e6-9ab6-e60a769b73bc',\n        'product_name'      => 'cpanel-ssl',\n        'url_after_checkout' => 'http://www.example.com/thenextplace',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Market_create_shopping_cart_non_ssl.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Market_create_shopping_cart_non_ssl.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Market',\n    'create_shopping_cart_non_ssl',\n    array (\n        'access_token'       => '1a676e6f-99fc-11e6-9ab6-e60a769b73bc',\n        'product_name'       => 'cpanel-ssl',\n        'url_after_checkout' => 'http://www.example.com/thenextplace',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-available-version":"cPanel 62","x-cpanel-api-version":"UAPI"}}}},"get_provider_specific_dcv_constraints":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI"},"security":[{"BasicAuth":[]}],"openapi":"3.0.2","servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"description":"A server running cPanel."}],"tags":[{"name":"Market","description":"The Market module for UAPI."},{"description":"Commerce Integration / SSL Certificates","name":"SSL Certificates"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"name":"Commerce Integration","tags":["SSL Certificates"]}],"paths":{"/Market/get_provider_specific_dcv_constraints":{"get":{"x-cpanel-api-version":"UAPI","description":"This function returns the provider's filename requirements for Domain Control Validation (DCV) checks.","summary":"Return provider's DCV filename requirements","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"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Market/get_provider_specific_dcv_constraints?provider=cPStore","lang":"HTTP","label":"URL"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Market_get_provider_specific_dcv_constraints.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Market_get_provider_specific_dcv_constraints.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Market/,\n    q/get_provider_specific_dcv_constraints/,\n    {\n        'provider' => 'cPStore',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Market_get_provider_specific_dcv_constraints.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Market_get_provider_specific_dcv_constraints.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Market',\n    'get_provider_specific_dcv_constraints',\n    array (\n        'provider' => 'cPStore',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 62","operationId":"Market-get_provider_specific_dcv_constraints","x-readonly":true,"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"description":"The version of the API.","example":3,"type":"integer"},"result":{"properties":{"status":{"enum":[0,1],"example":1,"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","type":"integer"},"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"},"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"metadata":{"properties":{}},"data":{"properties":{"dcv_file_extension":{"type":"string","example":"txt","description":"The DCV check file extension that the provider requires."},"dcv_file_random_character_count":{"example":32,"description":"The number of characters that the provider allows in the DCV check file's filename.","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":{"minimum":0,"example":0,"description":"The maximum number of HTTP redirects the provider allows.","type":"integer"},"dcv_file_allowed_characters":{"type":"array","items":{"type":"string"},"description":"An array that lists the characters which the provider allows in the DCV check file's filename."},"dcv_user_agent_string":{"type":"string","description":"The user agent string that the system will use for the imitated local DCV check.","example":"COMODO DCV"}},"type":"object"},"warnings":{"example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","nullable":true,"type":"array"}},"type":"object"},"module":{"description":"The name of the module called.","example":"Market","type":"string"},"func":{"example":"get_provider_specific_dcv_constraints","description":"The name of the method called.","type":"string"}}}}},"description":"HTTP Request was successful."}},"tags":["Market","SSL Certificates"],"parameters":[{"name":"provider","in":"query","schema":{"example":"cPStore","type":"string"},"description":"The cPanel Market provider's name.","required":true}]}}}},"cancel_pending_ssl_certificate":{"paths":{"/Market/cancel_pending_ssl_certificate":{"get":{"x-rollback":"none","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Market \\\n  cancel_pending_ssl_certificate \\\n  provider='cPStore' \\\n  order_item_id='10427508'\n","lang":"Shell","label":"CLI"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Market/cancel_pending_ssl_certificate?provider=cPStore&order_item_id=10427508","lang":"HTTP","label":"URL"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Market_cancel_pending_ssl_certificate.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Market_cancel_pending_ssl_certificate.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Market/,\n    q/cancel_pending_ssl_certificate/,\n    {\n        'provider' => 'cPStore',\n        'order_item_id' => '10427508',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Market_cancel_pending_ssl_certificate.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Market_cancel_pending_ssl_certificate.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Market',\n    'cancel_pending_ssl_certificate',\n    array (\n        'provider' => 'cPStore',\n        'order_item_id' => '10427508',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"summary":"Delete an order","x-cpanel-available-version":"cPanel 56","description":"This function cancels an order and removes the polling for a pending certificate.","x-cpanel-api-version":"UAPI","operationId":"Market-cancel_pending_ssl_certificate","x-readonly":false,"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"result":{"type":"object","properties":{"metadata":{"properties":{"transformed":{"description":"Post-processing may have transformed the data.","enum":[1],"example":1,"type":"integer"}}},"warnings":{"nullable":true,"type":"array","example":null,"description":"List of warnings generated by the API. Warnings\ndescribe non-critical failures or other problematic conditions\nnoted while running an API.","items":{"type":"string"}},"data":{"type":"array","description":"An object containing order information.","items":{"properties":{"expired":{"description":"Whether the system has deleted the item from the pending queue.\n* `1` - Deleted.\n* `0` - **Not** deleted.","enum":[0,1],"example":0,"type":"integer"},"status":{"type":"string","enum":["confirmed","unconfirmed"],"example":"confirmed","description":"The status of the order.\n* `confirmed` - Payment confirmed.\n* `unconfirmed` - Payment **not** confirmed."},"vhost_names":{"type":"array","example":["abcde.com"],"description":"A list of virtual host names.","items":{"type":"string"}},"order_item_id":{"example":"10427508","description":"The ID of the ordered item.","type":"string"},"order_id":{"type":"string","description":"The ID of the order.","example":"1392472"},"domains":{"items":{"type":"string","format":"domain"},"description":"A list of domains on the certificate.","example":["example1.com","example2.com"],"type":"array"},"csr":{"description":"The text of the Certificate Request (CSR).","example":"-----BEGIN CERTIFICATE REQUEST-----\nMIIC0TCCAbkCAQAwGzEZMBcGA1UEAxMQY29icmFzc2x0ZXN0Lm9yZzCCASIwDQYJ\nKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKsZWNkF8hjUjoCDNNSkXO0CTp/z/0pu\niFiDMzdFAa6mg5wr97EwRBCniSvJEJ1rdQ0Sus2AAK9hg7TeZAWbFf97r7mS0chm\nr27Ht9qfit3r0EJLYcjRjnZ/wj21ZhsdjQIjjTRiI1TvXtOQRAQpWNsGxK7QV3Q3\nnjkSM/gTpteHuC3JAQxbpv72B+IjiyzUZr8DOUOoB94IO5iP27UXnkSbExInDvqu\nK43zVGYNU0Zev20A6SBWU3BALjWXHlYjwbC109FxOWNssHTg3xvePsBxzk6BFDcT\nS/QAS0tFYPfHZKmCBg6irBGFOdTjSDVmFk8zAoFYibev0juRJCMn2XsCAwEAAaBx\nMG8GCSqGSIb3DQEJDjFiMGAwXgYDVR0RAQH/BFQwUoIQY29icmFzc2x0ZXN0Lm9y\nZ4IUd3d3LmNvYnJhc3NsdGVzdC5vcmeCEWNwYW5lbHNzbHRlc3Qub3JnghV3d3cu\nY3BhbmVsc3NsdGVzdC5vcmcwDQYJKoZIhvcNAQELBQADggEBAG0l4aChMO1rSmgR\nSF5qlKu785n5YS5rTE9ev+OFu0952DvjVAB0R8y5+TZSXfg+9CH7pa2VDosAEYF4\nyjUJOuiwwVEUD/9Qhrls/2xT8KKk0QSxuWmOgP2YQy/QRH+W7ykoigtiWdXEIUuF\niJmeavS8JOYt560366V3dw7YT+QstUHQ7UlGEFDeWQI3osUN1wDrtW5qcaq09Q/G\nTcphzXrRkL5lRjKXKLIcY/HVYzOnoEX30ALX2I3bJ9s4IMRfpnhTqLmWalcr+4vq\nvqVnlB0B/nXf/qaB/xvxmEtSGx/GZ/8Gsrf5PB7GhRuStUtJoXcLuADK0bgug3X2\nGxEruS4=\n-----END CERTIFICATE REQUEST-----\n","type":"string","format":"base64 certificate"},"last_status_code":{"type":"string","description":"The last status code of the order.\n* `CertificateNotFound` - The system cannot locate the specified certificate.\n* `RequiresApproval` - The specified certificate requires approval.\n* `OrderCanceled` - The system cancelled the order of the specified certificate.\n* `OrderItemCanceled` - The system cancelled the order item of the specified certificate.","enum":["CertificateNotFound","RequiresApproval","OrderCanceled","OrderItemCanceled"],"example":"CertificateNotFound"},"product_id":{"type":"string","description":"The product's ID.","example":"143"},"support_uri":{"type":"string","format":"uri","example":"http://support.example.com/","description":"The URI of the cPanel Market Provider's support site."},"last_poll_time":{"format":"unix_timestamp","type":"integer","example":1458061262,"description":"The last time that the system polled the\nprovider for the certificate. "},"first_poll_time":{"format":"unix_timestamp","type":"integer","example":1458061262,"description":"The first time that the system polled the provider for the certificate."},"provider":{"type":"string","example":"cPStore","description":"The cPanel Market provider's name."},"created_time":{"type":"integer","format":"unix_timestamp","example":1458061262,"description":"When the system created the order."}},"type":"object"}},"messages":{"description":"List of messages generated by the API.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null},"status":{"description":"* `1` - Success\n* `0` - Failed: Check the errors field for more details.","example":1,"enum":[0,1],"type":"integer"}}},"module":{"type":"string","example":"Market","description":"The name of the module called."},"func":{"description":"The name of the method called.","example":"cancel_pending_ssl_certificate","type":"string"},"apiversion":{"example":3,"description":"The version of the API.","type":"integer"}},"type":"object"}}},"description":"HTTP Request was successful."}},"parameters":[{"required":true,"description":"The cPanel Market provider's name.","schema":{"example":"cPStore","type":"string"},"in":"query","name":"provider"},{"required":true,"description":"The ID of the ordered item to cancel.","schema":{"type":"string","example":"10427508"},"in":"query","name":"order_item_id"}],"tags":["Market","SSL Certificates"]}}},"info":{"contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"},"license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."},"externalDocs":{"url":"https://cpanel.net/developers/"},"x-tagGroups":[{"name":"Commerce Integration","tags":["SSL Certificates"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"openapi":"3.0.2","tags":[{"name":"Market","description":"The Market module for UAPI."},{"description":"Commerce Integration / SSL Certificates","name":"SSL Certificates"}],"servers":[{"description":"A server running cPanel.","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute"}],"security":[{"BasicAuth":[]}]},"get_login_url":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."},"security":[{"BasicAuth":[]}],"tags":[{"name":"Market","description":"The Market module for UAPI."},{"name":"Market Integration","description":"Commerce Integration / Market Integration"}],"servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}}}],"openapi":"3.0.2","x-tagGroups":[{"tags":["Market Integration"],"name":"Commerce Integration"}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"paths":{"/Market/get_login_url":{"get":{"x-codeSamples":[{"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","lang":"Shell","label":"CLI"},{"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":"URL","lang":"HTTP"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Market_get_login_url.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Market_get_login_url.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Market/,\n    q/get_login_url/,\n    {\n        'provider' => 'cPStore',\n        'url_after_login' => 'http://hostname.example.com/redirectionlocation.cgi?state',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Market_get_login_url.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Market_get_login_url.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Market',\n    'get_login_url',\n    array (\n        'provider' => 'cPStore',\n        'url_after_login' => 'http://hostname.example.com/redirectionlocation.cgi?state',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"summary":"Return provider's login URL","x-cpanel-available-version":"cPanel 56","description":"This function retrieves the login URL for the cPanel Market provider.","x-cpanel-api-version":"UAPI","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"module":{"type":"string","description":"The name of the module called.","example":"Market"},"result":{"properties":{"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"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"},"metadata":{"properties":{"transformed":{"type":"integer","description":"Post-processing may have transformed the data.","enum":[1],"example":1}}},"status":{"type":"integer","description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","enum":[0,1],"example":1}},"type":"object"},"func":{"description":"The name of the method called.","example":"get_login_url","type":"string"}},"type":"object"}}},"description":"HTTP Request was successful."}},"parameters":[{"name":"provider","in":"query","schema":{"type":"string","example":"cPStore"},"required":true,"description":"The cPanel Market provider's name."},{"schema":{"format":"url","type":"string","example":"http://hostname.example.com/redirectionlocation.cgi?state"},"required":true,"description":"Where the cPanel Market provider redirects the user's browser after they log in.","name":"url_after_login","in":"query"}],"tags":["Market","Market Integration"],"x-readonly":true,"operationId":"Market-get_login_url"}}}},"set_url_after_checkout":{"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"tags":["Market Integration"],"name":"Commerce Integration"}],"servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}}}],"openapi":"3.0.2","tags":[{"description":"The Market module for UAPI.","name":"Market"},{"name":"Market Integration","description":"Commerce Integration / Market Integration"}],"security":[{"BasicAuth":[]}],"info":{"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI"},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/Market/set_url_after_checkout":{"get":{"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"func":{"description":"The name of the method called.","example":"set_url_after_checkout","type":"string"},"module":{"type":"string","description":"The name of the module called.","example":"Market"},"result":{"type":"object","properties":{"status":{"type":"integer","example":1,"enum":[0,1],"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details."},"metadata":{"properties":{}},"data":{"properties":{"error_type":{"type":"string","nullable":true,"description":"Any errors that the function encounters.","example":"This is an error."}},"type":"object"},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"messages":{"example":null,"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"},"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null}}},"apiversion":{"type":"integer","description":"The version of the API.","example":3}},"type":"object"}}}}},"tags":["Market","Market Integration"],"x-readonly":false,"operationId":"Market-set_url_after_checkout","x-codeSamples":[{"lang":"Shell","label":"CLI","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"},{"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":"URL","lang":"HTTP"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Market_set_url_after_checkout.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Market_set_url_after_checkout.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Market/,\n    q/set_url_after_checkout/,\n    {\n        'provider' => 'cPStore',\n        'access_token' => '725431a1-d5bc-11e5-a28b-8b0e09a93f05',\n        'order_id' => '123456',\n        'url_after_checkout' => 'http://checkout.example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Market_set_url_after_checkout.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Market_set_url_after_checkout.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Market',\n    'set_url_after_checkout',\n    array (\n        'provider' => 'cPStore',\n        'access_token' => '725431a1-d5bc-11e5-a28b-8b0e09a93f05',\n        'order_id' => '123456',\n        'url_after_checkout' => 'http://checkout.example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"summary":"Update URL after checkout","x-cpanel-available-version":"cPanel 56","x-cpanel-api-version":"UAPI","parameters":[{"in":"query","name":"provider","schema":{"example":"cPStore","type":"string"},"description":"The cPanel Market provider's name.","required":true},{"required":true,"description":"The access token for the session to the cPanel Market provider.","schema":{"example":"725431a1-d5bc-11e5-a28b-8b0e09a93f05","type":"string"},"name":"access_token","in":"query"},{"in":"query","name":"order_id","description":"The order ID that the cPanel Market provider assigned.","required":true,"schema":{"example":123456,"type":"integer"}},{"in":"query","name":"url_after_checkout","description":"The URL to send the browser after the user checks out.","required":true,"schema":{"example":"http://checkout.example.com","type":"string","format":"url"}}],"description":"This function updates the URL to which a provider sends a user after they check out.","x-rollback":"none"}}}},"validate_login_token":{"paths":{"/Market/validate_login_token":{"get":{"operationId":"Market-validate_login_token","x-readonly":false,"tags":["Market","Market Integration"],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"description":"The version of the API.","example":3,"type":"integer"},"func":{"type":"string","example":"validate_login_token","description":"The name of the method called."},"module":{"type":"string","example":"Market","description":"The name of the module called."},"result":{"type":"object","properties":{"status":{"type":"integer","description":"* `1` Success.\n* `0` Failed. Check the `errors` field for more details.","example":1,"enum":[0,1]},"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null},"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."},"data":{"type":"object","properties":{"access_token":{"type":"string","description":"The access token that returns from the code parameter after you log in.","example":"8675309"}}},"warnings":{"example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","nullable":true,"type":"array"},"metadata":{"properties":{"transformed":{"type":"integer","enum":[1],"example":1,"description":"Post-processing may have transformed the data."}}}}}}}}},"description":"HTTP Request was successful."}},"x-cpanel-api-version":"UAPI","x-codeSamples":[{"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","lang":"Shell","label":"CLI"},{"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","lang":"HTTP","label":"URL"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Market_validate_login_token.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Market_validate_login_token.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Market/,\n    q/validate_login_token/,\n    {\n        'provider' => 'cPStore',\n        'login_token' => '8675309',\n        'url_after_login' => 'http://hostname.example.com/redirectionlocation.cgi?state',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Market_validate_login_token.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Market_validate_login_token.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Market',\n    'validate_login_token',\n    array (\n        'provider' => 'cPStore',\n        'login_token' => '8675309',\n        'url_after_login' => 'http://hostname.example.com/redirectionlocation.cgi?state',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Validate login token","x-cpanel-available-version":"cPanel 56","parameters":[{"schema":{"example":"cPStore","type":"string"},"description":"The name of the cPanel Market provider.","required":true,"name":"provider","in":"query"},{"name":"login_token","in":"query","schema":{"example":"8675309","type":"string"},"description":"The login token for the cPanel Market provider.","required":true},{"in":"query","name":"url_after_login","required":true,"description":"The `url_after_login` value that you sent to UAPI's `Market::get_login_url` function.","schema":{"example":"http://hostname.example.com/redirectionlocation.cgi?state","type":"string","format":"url"}}],"x-rollback":"none","description":"This function validates a login token to a cPanel Market provider and returns an access token."}}},"x-tagGroups":[{"name":"Commerce Integration","tags":["Market Integration"]}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"servers":[{"variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"description":"The Market module for UAPI.","name":"Market"},{"name":"Market Integration","description":"Commerce Integration / Market Integration"}],"security":[{"BasicAuth":[]}],"info":{"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"externalDocs":{"url":"https://cpanel.net/developers/"}},"get_completion_url":{"security":[{"BasicAuth":[]}],"x-tagGroups":[{"tags":["Market Integration"],"name":"Commerce Integration"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"tags":[{"name":"Market","description":"The Market module for UAPI."},{"name":"Market Integration","description":"Commerce Integration / Market Integration"}],"servers":[{"variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"openapi":"3.0.2","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.","version":"11.89.0.9999","termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI"},"paths":{"/Market/get_completion_url":{"get":{"x-cpanel-api-version":"UAPI","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Market \\\n  get_completion_url \\\n  product_name='cpanel-ssl'\n","lang":"Shell","label":"CLI"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/Market/get_completion_url?product_name=cpanel-ssl"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Market_get_completion_url.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Market_get_completion_url.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Market/,\n    q/get_completion_url/,\n    {\n        'product_name' => 'cpanel-ssl',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Market_get_completion_url.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Market_get_completion_url.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Market',\n    'get_completion_url',\n    array (\n        'product_name' => 'cpanel-ssl',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Get product purchase completion URL","x-cpanel-available-version":"cPanel 62","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.","x-readonly":true,"operationId":"Market-get_completion_url","parameters":[{"required":true,"description":"The name of the product for which to retrieve the completion URL.","schema":{"type":"string","example":"cpanel-ssl"},"in":"query","name":"product_name"}],"tags":["Market","Market Integration"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"description":"The version of the API.","example":3,"type":"integer"},"result":{"type":"object","properties":{"metadata":{"properties":{}},"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null,"type":"array","nullable":true},"data":{"type":"object","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"}}},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}},"errors":{"example":null,"items":{"type":"string"},"description":"List of errors if the API failed.","nullable":true,"type":"array"},"status":{"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","enum":[0,1],"example":1,"type":"integer"}}},"module":{"description":"The name of the module called.","example":"Market","type":"string"},"func":{"example":"get_completion_url","description":"The name of the method called.","type":"string"}},"type":"object"}}}}}}}}},"get_license_info":{"paths":{"/Market/get_license_info":{"get":{"x-cpanel-api-version":"UAPI","summary":"Retrieve license information for a domain","x-cpanel-available-version":"cPanel 62","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Market \\\n  get_license_info \\\n  domain='example.com'\n","lang":"Shell","label":"CLI"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/Market/get_license_info?domain=example.com"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Market_get_license_info.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Market_get_license_info.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Market/,\n    q/get_license_info/,\n    {\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Market_get_license_info.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Market_get_license_info.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Market',\n    'get_license_info',\n    array (\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"result":{"properties":{"status":{"type":"integer","example":1,"enum":[0,1],"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details."},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"data":{"nullable":true,"type":"object","example":null,"description":"This function does not return data."},"metadata":{"properties":{}},"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null},"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null}},"type":"object"},"module":{"description":"The name of the module called.","example":"Market","type":"string"},"func":{"type":"string","example":"get_license_info","description":"The name of the method called."},"apiversion":{"type":"integer","description":"The version of the API.","example":3}},"type":"object"}}},"description":"HTTP Request was successful."}},"tags":["Market","Market Integration"],"x-readonly":false,"operationId":"Market-get_license_info","description":"This function retrieves license information for the specified domain from the cPanel Store and saves it to the current session.","x-rollback":"none","parameters":[{"in":"query","name":"domain","schema":{"type":"string","example":"example.com"},"description":"The domain for which to retrieve license information. This parameter is optional.","required":false}]}}},"security":[{"BasicAuth":[]}],"x-tagGroups":[{"tags":["Market Integration"],"name":"Commerce Integration"}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute"}],"tags":[{"description":"The Market module for UAPI.","name":"Market"},{"name":"Market Integration","description":"Commerce Integration / Market Integration"}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"},"termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999"}},"process_ssl_pending_queue":{"tags":[{"description":"The Market module for UAPI.","name":"Market"},{"name":"SSL Certificates","description":"Commerce Integration / SSL Certificates"}],"servers":[{"variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"openapi":"3.0.2","components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"x-tagGroups":[{"name":"Commerce Integration","tags":["SSL Certificates"]}],"security":[{"BasicAuth":[]}],"info":{"termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/Market/process_ssl_pending_queue":{"get":{"x-rollback":"none","x-cpanel-api-version":"UAPI","description":"This function manually processes the cPanel Market's SSL certificate request pending queue.","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Market \\\n  process_ssl_pending_queue\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Market/process_ssl_pending_queue","lang":"HTTP","label":"URL"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Market_process_ssl_pending_queue.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Market_process_ssl_pending_queue.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Market/,\n    q/process_ssl_pending_queue/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Market_process_ssl_pending_queue.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Market_process_ssl_pending_queue.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Market',\n    'process_ssl_pending_queue'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 56","summary":"Start processing pending queue's SSL certificates","operationId":"Market-process_ssl_pending_queue","x-readonly":false,"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"apiversion":{"type":"integer","description":"The version of the API.","example":3},"module":{"type":"string","description":"The name of the module called.","example":"Market"},"result":{"type":"object","properties":{"status":{"description":"* `1` - Success\n* `0` - Failed: Check the errors field for more details.","enum":[0,1],"example":1,"type":"integer"},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"messages":{"description":"List of messages generated by the API.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"data":{"description":"Information about each certificate request in the pending queue.","items":{"type":"object","properties":{"deleted":{"description":"Whether the system has deleted the item from the pending queue.\n* `0` - Deleted.\n* `1` - **Not** deleted.","example":0,"enum":[0,1],"type":"integer"},"order_id":{"type":"string","example":"19461","description":"A unique identifier for the order."},"last_status_message":{"description":"An error message from the certificate provider.\nFor example, why a certificate authority rejected an SSL certificate.\n\n**Note:**\n\nIf no error message exists, this will return an empty string.","example":"PRE-SIGN FAILED: CAA: Processing error","type":"string"},"order_item_id":{"description":"A unique identifier of each item in the order.","example":"f9d7","type":"string"},"status":{"type":"string","description":"The status of the order.\n* `confirmed` - Payment confirmed.\n* `unconfirmed` - Payment **not** confirmed.","example":"confirmed","enum":["confirmed","unconfirmed"]},"vhost_names":{"description":"A list of virtual host names.","items":{"format":"domain","type":"string","example":"example.com"},"type":"array"},"expired":{"example":0,"enum":[0,1],"description":"Whether the system has deleted the item from the pending queue.\n* `1` - Deleted.\n* `0` - **Not** deleted.","type":"integer"},"provider":{"description":"The cPanel Market provider's name.","example":"cPStore","type":"string"},"installed":{"description":"Whether the system installed the certificate.\n* `1` - Installed.\n* `0` - **Not** installed.","example":0,"enum":[0,1],"type":"integer"},"originating_certificate_id":{"example":"12340","description":"For a re-issued certificate, the ID of the certificate that it descends from.","type":"string"},"created_time":{"format":"unix_timestamp","type":"integer","description":"When the system placed the order.","example":1460136406},"first_poll_time":{"type":"integer","format":"unix_timestamp","description":"The first time that the system polled the provider for the certificate.","example":1458061262},"last_poll_time":{"example":1458061299,"description":"The last time that the system polled the provider for the certificate.","type":"integer","format":"unix_timestamp"},"csr":{"description":"The Certificate Signing Request's (CSR's) text.","example":"-----BEGIN CERTIFICATE REQUEST-----\\nMIICqjCCAZICAQAwHDEaMBgGA1UEAxMRY3BhbmVsc3NsdGVzdC5vcmcwggEiMA0G\\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCqu4KLPxCgAENTJFjcUyc4v5KaF8Lu\\n2OldjIT/vB58IRCIUxdDSD29v/qHFVBaUFEtr+Ssey0strMcc6JYSl8Vdwfe2qwv\\npB6+Ufg+hlN4lAgojxgwz7iZlPnGuRVfNTvNMmljVRzGDc4SSzskpDxZhk+aaMgP\\nSkMLFg6f6pFZ+44alridlSG5gxD34xWAtt8Qy2v+6Q4XVuMNCd9KlyAoCV9Q+wH1\\nq49yoRdwvcY6G6mqlFWtHsToz4tdYk/Nt7odZnyKcjHWGWnlRzO2FGbbBxVKF8s6\\ns3DL5OwPRfQQD18V7eL7NmcFo45zmdndBOevrLuwXJ1yWITM2bmYgF1nAgMBAAGg\\nSTBHBgkqhkiG9w0BCQ4xOjA4MDYGA1UdEQEB/wQsMCqCEWNwYW5lbHNzbHRlc3Qu\\nb3JnghV3d3cuY3BhbmVsc3NsdGVzdC5vcmcwDQYJKoZIhvcNAQELBQADggEBAFAJ\\nSqTvd3d8PN26UiT4uX0WjofaX8u1/11hU5Saekai0Dxl/ijq2R7TpebXe9r0t6Cr\\ns7NXKszVoKzQHV4nSFbfb3ZxEsnVDXbPUv3D+oLfGpMASLG+P2yOjmDhzZBNJgo4\\nQu6nf6ggJxJ0PRM81xL234FAKqsOvvTwTLXtYVrwbUCzfB+yKJXvfeGETR/3HGxR\\nqoJ97Zmjsbw78fETEsZ6rsBHDPuxtxum73BC7qoLjCl4psPznHshXvWTeV9fyR3c\\nqpdpLvwBxhI8ZOWoNGgJlUpY9jUFgqG+YI/Mkmzmxk9QC9edIHSScTXxroYkmwMC\\nginnKRLDafSp+7FyIzs=\\n-----END CERTIFICATE REQUEST-----","type":"string","format":"base64 certificate"},"last_status_code":{"example":"CertificateNotFound","enum":["CertificateNotFound","RequiresApproval","OrderCanceled","OrderItemCanceled"],"description":"The last status code of the order.\n* `CertificateNotFound` - The system cannot locate the specified certificate.\n* `RequiresApproval` - The specified certificate requires approval.\n* `OrderCanceled` - The system canceled the order of the specified certificate.\n* `OrderItemCanceled` - The system canceled the order item of the specified certificate.","type":"string"},"parent_cert_expiry":{"format":"unix_timestamp","type":"integer","example":1735689600,"description":"The expiration of the parent subscription certificate, as a Unix timestamp."},"certificate_id":{"type":"string","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"},"product_id":{"type":"string","description":"An identifier for a given product.","example":"fg2"},"domains":{"description":"A list of domains that the certificate request covers.","items":{"example":"example.com","format":"domain","type":"string"},"type":"array"},"certificate_pem":{"format":"base64 certificate","nullable":true,"type":"string","example":"null","description":"The text of the certificate, if available.\n* `null` - The certificate is not available."}}},"type":"array"},"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings\ndescribe non-critical failures or other problematic conditions\nnoted while running an API."},"metadata":{"properties":{"transformed":{"description":"Post-processing may have transformed the data.","enum":[1],"example":1,"type":"integer"}}}}},"func":{"type":"string","example":"process_ssl_pending_queue","description":"The name of the method called."}},"type":"object"}}},"description":"HTTP Request was successful."}},"tags":["Market","SSL Certificates"],"parameters":[]}}}},"set_status_of_pending_queue_items":{"paths":{"/Market/set_status_of_pending_queue_items":{"get":{"x-cpanel-available-version":"cPanel 56","summary":"Update status of items in pending queue","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"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Market/set_status_of_pending_queue_items?provider=cPStore&order_item_id=12345&status=confirmed","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Market_set_status_of_pending_queue_items.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Market_set_status_of_pending_queue_items.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Market/,\n    q/set_status_of_pending_queue_items/,\n    {\n        'provider' => 'cPStore',\n        'order_item_id' => '12345',\n        'status' => 'confirmed',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Market_set_status_of_pending_queue_items.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Market_set_status_of_pending_queue_items.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Market',\n    'set_status_of_pending_queue_items',\n    array (\n        'provider' => 'cPStore',\n        'order_item_id' => '12345',\n        'status' => 'confirmed',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-api-version":"UAPI","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"result":{"type":"object","properties":{"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"messages":{"example":null,"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"data":{"type":"object","properties":{"error_type":{"type":"string","enum":["EntryDoesNotExist"],"example":"EntryDoesNotExist","description":"The type of error that the function encountered.\n\n* `EntryDoesNotExist` — The returned `order_item_ids` do not exist in the cPanel Market pending queue for the user."},"order_item_ids":{"items":{"example":8675309,"minimum":0,"type":"integer"},"description":"An array that lists order item IDs which do not exist in the cPanel Market pending queue for the user.","type":"array"}},"nullable":true,"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."},"metadata":{"properties":{}},"status":{"type":"integer","description":"* `1` - Success.\n* `0` - Failed. Check the errors field for more details.","enum":[0,1],"example":1}}},"module":{"example":"Market","description":"The name of the module called.","type":"string"},"func":{"type":"string","description":"The name of the method called.","example":"set_status_of_pending_queue_items"},"apiversion":{"type":"integer","description":"The version of the API.","example":3}}},"examples":{"failure":{"value":{"apiversion":3,"func":"set_status_of_pending_queue_items","module":"Market","result":{"data":{"error_type":"EntryDoesNotExist","order_item_ids":[8675309]},"warnings":null,"metadata":{},"errors":["The order item ID “8675309” does not match any entries in the pending queue."],"messages":null,"status":0}},"summary":"The function failed."},"success":{"value":{"apiversion":3,"result":{"status":1,"errors":null,"messages":null,"data":null,"warnings":null,"metadata":{}},"module":"Market","func":"set_status_of_pending_queue_items"},"summary":"The function succeeded."}}}},"description":"HTTP Request was successful."}},"tags":["Market","Market Integration"],"x-readonly":false,"operationId":"Market-set_status_of_pending_queue_items","description":"This function sets the status of an item or items in the cPanel Market pending queue.","x-rollback":"none","parameters":[{"name":"provider","in":"query","schema":{"example":"cPStore","type":"string"},"description":"The cPanel Market provider's name.","required":true},{"schema":{"type":"string"},"description":"The ID of the ordered item.\n\n**Note:**\n\nTo set the status for multiple items, duplicate or increment the parameter name. For example, to change the status for three certificates, use the `order_item_id` parameter multiple times or use the `order_item_id-1`, `order_item_id-2`, and `order_item_id-3` parameters.","required":true,"examples":{"single":{"summary":"A single ID.","value":"12345"},"multiple":{"value":"order_item_id-1=12345&order_item_id-2=12346&order_item_id-3=12347","summary":"Multiple IDs."},"multiple-alternative":{"summary":"Multiple IDs alternative.","value":"order_item_id=12345&order_item_id=12346&order_item_id=12347"}},"name":"order_item_id","in":"query"},{"name":"status","in":"query","schema":{"enum":["confirmed"],"example":"confirmed","type":"string"},"description":"The new status of the item in the cPanel Market pending queue.\n\n* `confirmed` — The system confirmed payment for the item with the provider.","required":true}]}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"}},"security":[{"BasicAuth":[]}],"tags":[{"description":"The Market module for UAPI.","name":"Market"},{"description":"Commerce Integration / Market Integration","name":"Market Integration"}],"openapi":"3.0.2","servers":[{"url":"https://{host}:{port}/execute","variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"description":"The cPanel port.","default":"2083"}},"description":"A server running cPanel."}],"x-tagGroups":[{"name":"Commerce Integration","tags":["Market Integration"]}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}}},"get_all_products":{"paths":{"/Market/get_all_products":{"get":{"parameters":[],"description":"This function lists all products available through all enabled cPanel Market providers.","x-rollback":"none","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"examples":{"ssl_certificate":{"description":"product_group=ssl_certificate","value":{"apiversion":3,"module":"Market","result":{"errors":null,"metadata":{"transformed":1},"messages":null,"data":[{"x_certificate_term":[1,"year"],"x_warn_after":604800,"display_name":"Comodo EV SSL Certificate","max_users":null,"license_term":0,"enabled":1,"x_payment_trigger":"checkout","icon_mime_type":"image/svg+xml","product":"Comodo EV Certificate","x_price_per_domain_minimum":108,"base_name":"","description":"An extended-validated (EV) SSL certificate signed by COMODO.","provider_display_name":"cPanel Store","maximum_server_price":null,"x_validation_type":"ev","icon":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iNTUwIiB3aWR0aD0iNDE3LjE2Ij48ZyBmaWxsPSIjMzViNTZjIj48cGF0aCBkPSJNNDE0LjM5NiAyNmM3LTExIDAtMjYtMTMtMjZIMTg3LjM5NWMtNDUgMC04MSAxMi0xMDcgMzZzLTQyIDU4LTQ2IDEwM2wtMTAgMTE2Yy00IDQ1IDUgNzkgMjggMTAzIDIyIDI0IDU2IDM2IDEwMSAzNmg0OXYtMWM5LjAwMS0xIDE1LjAwMS03IDE2LjAwMS0xN2w1LTU3YzAtMTEtNy0xOS0xOC4wMDEtMTloLTI3Yy0xNyAwLTMwLTQtMzctMTItNy03LTEwLTIwLTgtMzlsOS0xMDRjMi0xOCA3LTMxIDE1LTM5czIxLTEyIDM5LTEyaDE0NC4wMDFjMTcgMCAzNC05IDQ0LTIzbDMwLTQ1Ii8+PHBhdGggZD0iTTMuMzk1IDUyNGMtOCAxMS0xIDI2IDEyIDI2aDIxNy4wMDFjNDUgMCA4MS0xMiAxMDgtMzYgMjYtMjQgNDEtNTggNDUtMTAybDExLTExN2MzLTQ1LTYtNzktMjgtMTAzLTIzLTI0LTU2LTM2LTEwMS0zNmgtNDl2MWMtMTAuMDAxIDEtMTUuMDAxIDctMTYuMDAxIDE3bC01IDU4Yy0xIDEwIDcgMTggMTcuMDAxIDE4aDI3YzE4IDAgMzAgNCAzNyAxMnMxMCAyMSA5IDM5bC0xMCAxMDRjLTEgMTktNiAzMi0xNCAzOS05IDgtMjIgMTItNDAgMTJINzYuMzk1Yy0xNyAwLTMzIDktNDMgMjRsLTMwIDQ0Ii8+PC9nPjwvc3ZnPg==","x_supports_dns_dcv":1,"price":null,"provider_name":"cPStore","x_identity_verification":[{"label":"Organization Name","name":"organizationName"},{"name":"organizationalUnitName","is_optional":1,"label":"Department Name"},{"label":"Dun & Bradstreet D-U-N-S (Data Universal Numbering System) Number","is_optional":1,"name":"duns_number","pattern":"^[0-9]{2}(?:-[0-9]{3}-[0-9]{4}|[0-9]{7})$","description":"9 consecutive digits or “##-###-####” (More information (https://go.cpanel.net/get_duns))"},{"label":"Street Address","name":"streetAddress"},{"label":"City","name":"localityName"},{"name":"stateOrProvinceName","label":"State or Province"},{"name":"postalCode","label":"Postal Code"},{"name":"countryName","type":"country_code","label":"Country Code"},{"label":"Representative’s Given (First) Name","name":"rep_forename"},{"label":"Representative’s Surname (Last Name)","name":"rep_surname"},{"type":"email","name":"rep_email_address","label":"Representative’s Email Address"},{"description":"This should be one of the organization’s publicly-listed telephone numbers.","is_optional":1,"name":"rep_telephone","type":"tel","label":"Representative’s Telephone Number"},{"name":"business_category","type":"choose_one","label":"Business Category","options":[["b","Incorporated Business (“Private Organization”)"],["d","Non-incorporated Business (“Business Entity”)"],["c","Government Entity (“Government Entity”)"]],"description":"Consult the EV SSL Certificate Guidelines (https://cabforum.org/extended-validation/) for more information about this field’s options."},{"label":"City Where Incorporated (JOI (Jurisdiction of Incorporation))","name":"joi_locality_name","is_optional":1},{"name":"joi_state_or_province_name","is_optional":1,"label":"State or Province Where Incorporated (JOI (Jurisdiction of Incorporation))"},{"name":"joi_country_name","type":"country_code","label":"Country Code Where Incorporated (JOI (Jurisdiction of Incorporation))"},{"type":"date","is_optional":1,"name":"date_of_incorporation","label":"Date of Incorporation"},{"label":"Assumed Name (DBA (Doing Business As))","is_optional":1,"name":"assumed_name"}],"x_price_per_domain_maximum":1080,"minimum_server_price":null,"product_group":"ssl_certificate","product_id":155,"x_max_http_redirects":0,"x_ssl_per_domain_pricing":1,"x_price_per_domain":108,"price_unit":"USD","requires_ip":0,"billing_type":"one-time","recommended":0,"product_category":"N/A"},{"provider_name":"cPStore","minimum_server_price":null,"x_price_per_domain_maximum":360,"x_identity_verification":[{"name":"organizationName","label":"Organization Name"},{"name":"organizationalUnitName","is_optional":1,"label":"Department Name"},{"pattern":"^[0-9]{2}(?:-[0-9]{3}-[0-9]{4}|[0-9]{7})$","label":"Dun & Bradstreet D-U-N-S (Data Universal Numbering System) Number","name":"duns_number","is_optional":1,"description":"9 consecutive digits or “##-###-####” (More information (https://go.cpanel.net/get_duns))"},{"name":"streetAddress","label":"Street Address"},{"name":"localityName","label":"City"},{"name":"stateOrProvinceName","label":"State or Province"},{"name":"postalCode","label":"Postal Code"},{"type":"country_code","name":"countryName","label":"Country Code"},{"name":"rep_forename","label":"Representative’s Given (First) Name"},{"name":"rep_surname","label":"Representative’s Surname (Last Name)"},{"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,"type":"tel","name":"rep_telephone","label":"Representative’s Telephone Number"}],"x_supports_dns_dcv":1,"icon":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iNTUwIiB3aWR0aD0iNDE3LjE2Ij48ZyBmaWxsPSIjMzViNTZjIj48cGF0aCBkPSJNNDE0LjM5NiAyNmM3LTExIDAtMjYtMTMtMjZIMTg3LjM5NWMtNDUgMC04MSAxMi0xMDcgMzZzLTQyIDU4LTQ2IDEwM2wtMTAgMTE2Yy00IDQ1IDUgNzkgMjggMTAzIDIyIDI0IDU2IDM2IDEwMSAzNmg0OXYtMWM5LjAwMS0xIDE1LjAwMS03IDE2LjAwMS0xN2w1LTU3YzAtMTEtNy0xOS0xOC4wMDEtMTloLTI3Yy0xNyAwLTMwLTQtMzctMTItNy03LTEwLTIwLTgtMzlsOS0xMDRjMi0xOCA3LTMxIDE1LTM5czIxLTEyIDM5LTEyaDE0NC4wMDFjMTcgMCAzNC05IDQ0LTIzbDMwLTQ1Ii8+PHBhdGggZD0iTTMuMzk1IDUyNGMtOCAxMS0xIDI2IDEyIDI2aDIxNy4wMDFjNDUgMCA4MS0xMiAxMDgtMzYgMjYtMjQgNDEtNTggNDUtMTAybDExLTExN2MzLTQ1LTYtNzktMjgtMTAzLTIzLTI0LTU2LTM2LTEwMS0zNmgtNDl2MWMtMTAuMDAxIDEtMTUuMDAxIDctMTYuMDAxIDE3bC01IDU4Yy0xIDEwIDcgMTggMTcuMDAxIDE4aDI3YzE4IDAgMzAgNCAzNyAxMnMxMCAyMSA5IDM5bC0xMCAxMDRjLTEgMTktNiAzMi0xNCAzOS05IDgtMjIgMTItNDAgMTJINzYuMzk1Yy0xNyAwLTMzIDktNDMgMjRsLTMwIDQ0Ii8+PC9nPjwvc3ZnPg==","price":null,"x_ssl_per_domain_pricing":1,"x_price_per_domain":36,"x_max_http_redirects":0,"x_price_per_wildcard_domain_maximum":"1500.00","requires_ip":0,"price_unit":"USD","billing_type":"one-time","product_category":"N/A","recommended":0,"product_group":"ssl_certificate","x_price_per_wildcard_domain":"150.00","product_id":217,"max_users":null,"license_term":0,"enabled":1,"x_price_per_wildcard_domain_minimum":"150.00","icon_mime_type":"image/svg+xml","x_payment_trigger":"checkout","x_warn_after":604800,"x_certificate_term":[1,"year"],"display_name":"Comodo OV SSL Certificate","description":"An organization-validated (OV) SSL certificate signed by COMODO.","provider_display_name":"cPanel Store","maximum_server_price":null,"x_validation_type":"ov","product":"Comodo OV Certificate","x_wildcard_parent_domain_free":1,"x_price_per_domain_minimum":36,"base_name":""},{"base_name":"","x_price_per_domain_minimum":3,"x_wildcard_parent_domain_free":1,"product":"cPanel DV Certificate","x_validation_type":"dv","maximum_server_price":null,"provider_display_name":"cPanel Store","description":"A domain-validated (DV) SSL certificate signed by cPanel.","display_name":"cPanel DV SSL Certificate","x_warn_after":604800,"x_certificate_term":[1,"year"],"x_payment_trigger":"issuance","icon_mime_type":"image/svg+xml","enabled":1,"x_price_per_wildcard_domain_minimum":"75.00","license_term":0,"max_users":null,"product_id":159,"product_group":"ssl_certificate","x_price_per_wildcard_domain":"75.00","product_category":"N/A","recommended":0,"billing_type":"one-time","requires_ip":0,"price_unit":"USD","x_ssl_per_domain_pricing":1,"x_price_per_domain":9,"x_max_http_redirects":0,"x_price_per_wildcard_domain_maximum":"750.00","price":null,"x_supports_dns_dcv":1,"icon":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzNTlwdCIgaGVpZ2h0PSIzMjAiIHZpZXdCb3g9IjAgMCAzNTkgMjQwIj48ZGVmcz48Y2xpcFBhdGggaWQ9ImEiPjxwYXRoIGQ9Ik0xMjMgMGgyMzUuMzd2MjQwSDEyM3ptMCAwIi8+PC9jbGlwUGF0aD48L2RlZnM+PHBhdGggZD0iTTg5LjY5IDU5LjEwMmg2Ny44MDJsLTEwLjUgNDAuMmMtMS42MDUgNS42LTQuNjA1IDEwLjEtOSAxMy41LTQuNDAyIDMuNC05LjUwNCA1LjA5Ni0xNS4zIDUuMDk2aC0zMS41Yy03LjIgMC0xMy41NSAyLjEwMi0xOS4wNSA2LjMtNS41MDUgNC4yLTkuMzUzIDkuOTA0LTExLjU1MiAxNy4xMDMtMS40IDUuNDAzLTEuNTUgMTAuNS0uNDUgMTUuMzAyIDEuMDk4IDQuNzk2IDMuMDQ3IDkuMDUgNS44NTIgMTIuNzUgMi43OTcgMy43MDMgNi40IDYuNjUyIDEwLjc5NyA4Ljg1IDQuMzk3IDIuMiA5LjE5OCAzLjI5OCAxNC40IDMuMjk4aDE5LjJjMy42MDIgMCA2LjU0NyAxLjQ1MyA4Ljg1MiA0LjM1MiAyLjI5NyAyLjkwMiAyLjk0NSA2LjE0OCAxLjk1IDkuNzVsLTEyIDQ0LjM5OGgtMjFjLTE0LjQwMyAwLTI3LjY1My0zLjE0OC0zOS43NS05LjQ1LTEyLjEwMi02LjMtMjIuMTUzLTE0LjY0OC0zMC4xNTMtMjUuMDUtOC0xMC4zOTUtMTMuNDU0LTIyLjI0Ni0xNi4zNS0zNS41NDctMi45LTEzLjMtMi41NS0yNi45NSAxLjA1Mi00MC45NTNsMS4yLTQuNWMyLjU5Ny05LjYwMiA2LjY0OC0xOC40NSAxMi4xNDgtMjYuNTUgNS41LTguMDk4IDEyLTE1IDE5LjUtMjAuNyA3LjUtNS43IDE1Ljg1LTEwLjE0OCAyNS4wNS0xMy4zNTIgOS4yLTMuMTk1IDE4Ljc5Ny00Ljc5NiAyOC44LTQuNzk2IiBmaWxsPSIjZmY2YzJjIi8+PGcgY2xpcC1wYXRoPSJ1cmwoI2EpIj48cGF0aCBkPSJNMTIzLjg5IDI0MEwxODIuOTkgMTguNjAyYzEuNTk4LTUuNTk4IDQuNTk4LTEwLjA5OCA5LTEzLjVDMTk2LjM4OCAxLjcgMjAxLjQ4NCAwIDIwNy4yODggMGg2Mi43YzE0LjQwMyAwIDI3LjY1IDMuMTQ4IDM5Ljc1IDkuNDUgMTIuMTAyIDYuMyAyMi4xNTMgMTQuNjU1IDMwLjE1MyAyNS4wNSA3Ljk5NyAxMC40MDIgMTMuNSAyMi4yNTQgMTYuNSAzNS41NSAzIDEzLjMwNSAyLjU5NCAyNi45NTQtMS4yMDIgNDAuOTVsLTEuMiA0LjVjLTIuNTk3IDkuNjAyLTYuNTk3IDE4LjQ1LTEyIDI2LjU1LTUuMzk4IDguMDk4LTExLjg0NyAxNS4wNTItMTkuMzQ3IDIwLjg0OC03LjUgNS44MDUtMTUuODU1IDEwLjMwNS0yNS4wNSAxMy41LTkuMiAzLjIwNC0xOC44MDUgNC44MDUtMjguODA1IDQuODA1aC01NC4yOTdsMTAuOC00MC41YzEuNi01LjQwMiA0LjYtOS44IDktMTMuMjAzIDQuMzk2LTMuMzk4IDkuNDk3LTUuMTAyIDE1LjMwMi01LjEwMmgxNy4zOThjNy4yIDAgMTMuNjUzLTIuMiAxOS4zNTItNi41OTcgNS42OTUtNC4zOTggOS40NDUtMTAuMDk3IDExLjI1LTE3LjEgMS4zOTQtNC45OTcgMS41NDctOS45LjQ0NS0xNC43LTEuMS00LjgtMy4wNS05LjA0Ny01Ljg0OC0xMi43NS0yLjgtMy42OTUtNi40MDItNi42OTUtMTAuNzk2LTktNC40MDYtMi4yOTctOS4yMDYtMy40NS0xNC40MDItMy40NUgyMzMuMzlsLTQzLjggMTYyLjkwM2MtMS42MDYgNS40LTQuNjA2IDkuNzk3LTkgMTMuMTk1LTQuNDAzIDMuNDA3LTkuNDA2IDUuMTAyLTE1IDUuMTAyaC00MS43IiBmaWxsPSIjZmY2YzJjIi8+PC9nPjwvc3ZnPgo=","x_price_per_domain_maximum":30,"minimum_server_price":null,"x_identity_verification":null,"provider_name":"cPStore"},{"display_name":"cPanel OV SSL Certificate","x_certificate_term":[1,"year"],"x_warn_after":604800,"x_price_per_wildcard_domain_minimum":"99.00","enabled":1,"icon_mime_type":"image/svg+xml","x_payment_trigger":"checkout","max_users":null,"license_term":0,"x_price_per_domain_minimum":30,"base_name":"","product":"cPanel OV Certificate","x_wildcard_parent_domain_free":1,"maximum_server_price":null,"x_validation_type":"ov","description":"An organization-validated (OV) SSL certificate signed by cPanel.","provider_display_name":"cPanel Store","price":null,"icon":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzNTlwdCIgaGVpZ2h0PSIzMjAiIHZpZXdCb3g9IjAgMCAzNTkgMjQwIj48ZGVmcz48Y2xpcFBhdGggaWQ9ImEiPjxwYXRoIGQ9Ik0xMjMgMGgyMzUuMzd2MjQwSDEyM3ptMCAwIi8+PC9jbGlwUGF0aD48L2RlZnM+PHBhdGggZD0iTTg5LjY5IDU5LjEwMmg2Ny44MDJsLTEwLjUgNDAuMmMtMS42MDUgNS42LTQuNjA1IDEwLjEtOSAxMy41LTQuNDAyIDMuNC05LjUwNCA1LjA5Ni0xNS4zIDUuMDk2aC0zMS41Yy03LjIgMC0xMy41NSAyLjEwMi0xOS4wNSA2LjMtNS41MDUgNC4yLTkuMzUzIDkuOTA0LTExLjU1MiAxNy4xMDMtMS40IDUuNDAzLTEuNTUgMTAuNS0uNDUgMTUuMzAyIDEuMDk4IDQuNzk2IDMuMDQ3IDkuMDUgNS44NTIgMTIuNzUgMi43OTcgMy43MDMgNi40IDYuNjUyIDEwLjc5NyA4Ljg1IDQuMzk3IDIuMiA5LjE5OCAzLjI5OCAxNC40IDMuMjk4aDE5LjJjMy42MDIgMCA2LjU0NyAxLjQ1MyA4Ljg1MiA0LjM1MiAyLjI5NyAyLjkwMiAyLjk0NSA2LjE0OCAxLjk1IDkuNzVsLTEyIDQ0LjM5OGgtMjFjLTE0LjQwMyAwLTI3LjY1My0zLjE0OC0zOS43NS05LjQ1LTEyLjEwMi02LjMtMjIuMTUzLTE0LjY0OC0zMC4xNTMtMjUuMDUtOC0xMC4zOTUtMTMuNDU0LTIyLjI0Ni0xNi4zNS0zNS41NDctMi45LTEzLjMtMi41NS0yNi45NSAxLjA1Mi00MC45NTNsMS4yLTQuNWMyLjU5Ny05LjYwMiA2LjY0OC0xOC40NSAxMi4xNDgtMjYuNTUgNS41LTguMDk4IDEyLTE1IDE5LjUtMjAuNyA3LjUtNS43IDE1Ljg1LTEwLjE0OCAyNS4wNS0xMy4zNTIgOS4yLTMuMTk1IDE4Ljc5Ny00Ljc5NiAyOC44LTQuNzk2IiBmaWxsPSIjZmY2YzJjIi8+PGcgY2xpcC1wYXRoPSJ1cmwoI2EpIj48cGF0aCBkPSJNMTIzLjg5IDI0MEwxODIuOTkgMTguNjAyYzEuNTk4LTUuNTk4IDQuNTk4LTEwLjA5OCA5LTEzLjVDMTk2LjM4OCAxLjcgMjAxLjQ4NCAwIDIwNy4yODggMGg2Mi43YzE0LjQwMyAwIDI3LjY1IDMuMTQ4IDM5Ljc1IDkuNDUgMTIuMTAyIDYuMyAyMi4xNTMgMTQuNjU1IDMwLjE1MyAyNS4wNSA3Ljk5NyAxMC40MDIgMTMuNSAyMi4yNTQgMTYuNSAzNS41NSAzIDEzLjMwNSAyLjU5NCAyNi45NTQtMS4yMDIgNDAuOTVsLTEuMiA0LjVjLTIuNTk3IDkuNjAyLTYuNTk3IDE4LjQ1LTEyIDI2LjU1LTUuMzk4IDguMDk4LTExLjg0NyAxNS4wNTItMTkuMzQ3IDIwLjg0OC03LjUgNS44MDUtMTUuODU1IDEwLjMwNS0yNS4wNSAxMy41LTkuMiAzLjIwNC0xOC44MDUgNC44MDUtMjguODA1IDQuODA1aC01NC4yOTdsMTAuOC00MC41YzEuNi01LjQwMiA0LjYtOS44IDktMTMuMjAzIDQuMzk2LTMuMzk4IDkuNDk3LTUuMTAyIDE1LjMwMi01LjEwMmgxNy4zOThjNy4yIDAgMTMuNjUzLTIuMiAxOS4zNTItNi41OTcgNS42OTUtNC4zOTggOS40NDUtMTAuMDk3IDExLjI1LTE3LjEgMS4zOTQtNC45OTcgMS41NDctOS45LjQ0NS0xNC43LTEuMS00LjgtMy4wNS05LjA0Ny01Ljg0OC0xMi43NS0yLjgtMy42OTUtNi40MDItNi42OTUtMTAuNzk2LTktNC40MDYtMi4yOTctOS4yMDYtMy40NS0xNC40MDItMy40NUgyMzMuMzlsLTQzLjggMTYyLjkwM2MtMS42MDYgNS40LTQuNjA2IDkuNzk3LTkgMTMuMTk1LTQuNDAzIDMuNDA3LTkuNDA2IDUuMTAyLTE1IDUuMTAyaC00MS43IiBmaWxsPSIjZmY2YzJjIi8+PC9nPjwvc3ZnPgo=","x_supports_dns_dcv":1,"provider_name":"cPStore","x_identity_verification":[{"label":"Organization Name","name":"organizationName"},{"is_optional":1,"name":"organizationalUnitName","label":"Department Name"},{"pattern":"^[0-9]{2}(?:-[0-9]{3}-[0-9]{4}|[0-9]{7})$","label":"Dun & Bradstreet D-U-N-S (Data Universal Numbering System) Number","name":"duns_number","is_optional":1,"description":"9 consecutive digits or “##-###-####” (More information (https://go.cpanel.net/get_duns))"},{"name":"streetAddress","label":"Street Address"},{"name":"localityName","label":"City"},{"name":"stateOrProvinceName","label":"State or Province"},{"name":"postalCode","label":"Postal Code"},{"name":"countryName","type":"country_code","label":"Country Code"},{"name":"rep_forename","label":"Representative’s Given (First) Name"},{"name":"rep_surname","label":"Representative’s Surname (Last Name)"},{"type":"email","name":"rep_email_address","label":"Representative’s Email Address"},{"description":"This should be one of the organization’s publicly-listed telephone numbers.","is_optional":1,"type":"tel","name":"rep_telephone","label":"Representative’s Telephone Number"}],"minimum_server_price":null,"x_price_per_domain_maximum":300,"product_id":213,"x_price_per_wildcard_domain":"99.00","product_group":"ssl_certificate","billing_type":"one-time","recommended":0,"product_category":"N/A","x_max_http_redirects":0,"x_price_per_wildcard_domain_maximum":"990.00","x_price_per_domain":30,"x_ssl_per_domain_pricing":1,"price_unit":"USD","requires_ip":0},{"maximum_server_price":null,"x_validation_type":"dv","description":"A domain-validated (DV) SSL certificate signed by COMODO.","provider_display_name":"cPanel Store","x_price_per_domain_minimum":12,"base_name":"","product":"Comodo DV Certificate","x_wildcard_parent_domain_free":1,"enabled":1,"x_price_per_wildcard_domain_minimum":"99.00","x_payment_trigger":"issuance","icon_mime_type":"image/svg+xml","max_users":null,"license_term":0,"display_name":"Comodo DV SSL Certificate","x_certificate_term":[1,"year"],"x_warn_after":604800,"billing_type":"one-time","product_category":"N/A","recommended":0,"x_price_per_domain":12,"x_ssl_per_domain_pricing":1,"x_max_http_redirects":0,"x_price_per_wildcard_domain_maximum":"990.00","requires_ip":0,"price_unit":"USD","product_id":151,"product_group":"ssl_certificate","x_price_per_wildcard_domain":"99.00","provider_name":"cPStore","x_price_per_domain_maximum":120,"minimum_server_price":null,"x_identity_verification":null,"price":null,"x_supports_dns_dcv":1,"icon":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iNTUwIiB3aWR0aD0iNDE3LjE2Ij48ZyBmaWxsPSIjMzViNTZjIj48cGF0aCBkPSJNNDE0LjM5NiAyNmM3LTExIDAtMjYtMTMtMjZIMTg3LjM5NWMtNDUgMC04MSAxMi0xMDcgMzZzLTQyIDU4LTQ2IDEwM2wtMTAgMTE2Yy00IDQ1IDUgNzkgMjggMTAzIDIyIDI0IDU2IDM2IDEwMSAzNmg0OXYtMWM5LjAwMS0xIDE1LjAwMS03IDE2LjAwMS0xN2w1LTU3YzAtMTEtNy0xOS0xOC4wMDEtMTloLTI3Yy0xNyAwLTMwLTQtMzctMTItNy03LTEwLTIwLTgtMzlsOS0xMDRjMi0xOCA3LTMxIDE1LTM5czIxLTEyIDM5LTEyaDE0NC4wMDFjMTcgMCAzNC05IDQ0LTIzbDMwLTQ1Ii8+PHBhdGggZD0iTTMuMzk1IDUyNGMtOCAxMS0xIDI2IDEyIDI2aDIxNy4wMDFjNDUgMCA4MS0xMiAxMDgtMzYgMjYtMjQgNDEtNTggNDUtMTAybDExLTExN2MzLTQ1LTYtNzktMjgtMTAzLTIzLTI0LTU2LTM2LTEwMS0zNmgtNDl2MWMtMTAuMDAxIDEtMTUuMDAxIDctMTYuMDAxIDE3bC01IDU4Yy0xIDEwIDcgMTggMTcuMDAxIDE4aDI3YzE4IDAgMzAgNCAzNyAxMnMxMCAyMSA5IDM5bC0xMCAxMDRjLTEgMTktNiAzMi0xNCAzOS05IDgtMjIgMTItNDAgMTJINzYuMzk1Yy0xNyAwLTMzIDktNDMgMjRsLTMwIDQ0Ii8+PC9nPjwvc3ZnPg=="},{"base_name":"","x_price_per_domain_minimum":60,"product":"cPanel EV Certificate","x_validation_type":"ev","maximum_server_price":null,"provider_display_name":"cPanel Store","description":"An extended-validated (EV) SSL certificate signed by cPanel.","display_name":"cPanel EV SSL Certificate","x_warn_after":604800,"x_certificate_term":[1,"year"],"icon_mime_type":"image/svg+xml","x_payment_trigger":"checkout","enabled":1,"license_term":0,"max_users":null,"product_id":209,"product_group":"ssl_certificate","recommended":0,"product_category":"N/A","billing_type":"one-time","requires_ip":0,"price_unit":"USD","x_price_per_domain":60,"x_ssl_per_domain_pricing":1,"x_max_http_redirects":0,"price":null,"x_supports_dns_dcv":1,"icon":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzNTlwdCIgaGVpZ2h0PSIzMjAiIHZpZXdCb3g9IjAgMCAzNTkgMjQwIj48ZGVmcz48Y2xpcFBhdGggaWQ9ImEiPjxwYXRoIGQ9Ik0xMjMgMGgyMzUuMzd2MjQwSDEyM3ptMCAwIi8+PC9jbGlwUGF0aD48L2RlZnM+PHBhdGggZD0iTTg5LjY5IDU5LjEwMmg2Ny44MDJsLTEwLjUgNDAuMmMtMS42MDUgNS42LTQuNjA1IDEwLjEtOSAxMy41LTQuNDAyIDMuNC05LjUwNCA1LjA5Ni0xNS4zIDUuMDk2aC0zMS41Yy03LjIgMC0xMy41NSAyLjEwMi0xOS4wNSA2LjMtNS41MDUgNC4yLTkuMzUzIDkuOTA0LTExLjU1MiAxNy4xMDMtMS40IDUuNDAzLTEuNTUgMTAuNS0uNDUgMTUuMzAyIDEuMDk4IDQuNzk2IDMuMDQ3IDkuMDUgNS44NTIgMTIuNzUgMi43OTcgMy43MDMgNi40IDYuNjUyIDEwLjc5NyA4Ljg1IDQuMzk3IDIuMiA5LjE5OCAzLjI5OCAxNC40IDMuMjk4aDE5LjJjMy42MDIgMCA2LjU0NyAxLjQ1MyA4Ljg1MiA0LjM1MiAyLjI5NyAyLjkwMiAyLjk0NSA2LjE0OCAxLjk1IDkuNzVsLTEyIDQ0LjM5OGgtMjFjLTE0LjQwMyAwLTI3LjY1My0zLjE0OC0zOS43NS05LjQ1LTEyLjEwMi02LjMtMjIuMTUzLTE0LjY0OC0zMC4xNTMtMjUuMDUtOC0xMC4zOTUtMTMuNDU0LTIyLjI0Ni0xNi4zNS0zNS41NDctMi45LTEzLjMtMi41NS0yNi45NSAxLjA1Mi00MC45NTNsMS4yLTQuNWMyLjU5Ny05LjYwMiA2LjY0OC0xOC40NSAxMi4xNDgtMjYuNTUgNS41LTguMDk4IDEyLTE1IDE5LjUtMjAuNyA3LjUtNS43IDE1Ljg1LTEwLjE0OCAyNS4wNS0xMy4zNTIgOS4yLTMuMTk1IDE4Ljc5Ny00Ljc5NiAyOC44LTQuNzk2IiBmaWxsPSIjZmY2YzJjIi8+PGcgY2xpcC1wYXRoPSJ1cmwoI2EpIj48cGF0aCBkPSJNMTIzLjg5IDI0MEwxODIuOTkgMTguNjAyYzEuNTk4LTUuNTk4IDQuNTk4LTEwLjA5OCA5LTEzLjVDMTk2LjM4OCAxLjcgMjAxLjQ4NCAwIDIwNy4yODggMGg2Mi43YzE0LjQwMyAwIDI3LjY1IDMuMTQ4IDM5Ljc1IDkuNDUgMTIuMTAyIDYuMyAyMi4xNTMgMTQuNjU1IDMwLjE1MyAyNS4wNSA3Ljk5NyAxMC40MDIgMTMuNSAyMi4yNTQgMTYuNSAzNS41NSAzIDEzLjMwNSAyLjU5NCAyNi45NTQtMS4yMDIgNDAuOTVsLTEuMiA0LjVjLTIuNTk3IDkuNjAyLTYuNTk3IDE4LjQ1LTEyIDI2LjU1LTUuMzk4IDguMDk4LTExLjg0NyAxNS4wNTItMTkuMzQ3IDIwLjg0OC03LjUgNS44MDUtMTUuODU1IDEwLjMwNS0yNS4wNSAxMy41LTkuMiAzLjIwNC0xOC44MDUgNC44MDUtMjguODA1IDQuODA1aC01NC4yOTdsMTAuOC00MC41YzEuNi01LjQwMiA0LjYtOS44IDktMTMuMjAzIDQuMzk2LTMuMzk4IDkuNDk3LTUuMTAyIDE1LjMwMi01LjEwMmgxNy4zOThjNy4yIDAgMTMuNjUzLTIuMiAxOS4zNTItNi41OTcgNS42OTUtNC4zOTggOS40NDUtMTAuMDk3IDExLjI1LTE3LjEgMS4zOTQtNC45OTcgMS41NDctOS45LjQ0NS0xNC43LTEuMS00LjgtMy4wNS05LjA0Ny01Ljg0OC0xMi43NS0yLjgtMy42OTUtNi40MDItNi42OTUtMTAuNzk2LTktNC40MDYtMi4yOTctOS4yMDYtMy40NS0xNC40MDItMy40NUgyMzMuMzlsLTQzLjggMTYyLjkwM2MtMS42MDYgNS40LTQuNjA2IDkuNzk3LTkgMTMuMTk1LTQuNDAzIDMuNDA3LTkuNDA2IDUuMTAyLTE1IDUuMTAyaC00MS43IiBmaWxsPSIjZmY2YzJjIi8+PC9nPjwvc3ZnPgo=","minimum_server_price":null,"x_price_per_domain_maximum":600,"x_identity_verification":[{"label":"Organization Name","name":"organizationName"},{"is_optional":1,"name":"organizationalUnitName","label":"Department Name"},{"pattern":"^[0-9]{2}(?:-[0-9]{3}-[0-9]{4}|[0-9]{7})$","label":"Dun & Bradstreet D-U-N-S (Data Universal Numbering System) Number","is_optional":1,"name":"duns_number","description":"9 consecutive digits or “##-###-####” (More information (https://go.cpanel.net/get_duns))"},{"name":"streetAddress","label":"Street Address"},{"label":"City","name":"localityName"},{"label":"State or Province","name":"stateOrProvinceName"},{"label":"Postal Code","name":"postalCode"},{"name":"countryName","type":"country_code","label":"Country Code"},{"name":"rep_forename","label":"Representative’s Given (First) Name"},{"name":"rep_surname","label":"Representative’s Surname (Last Name)"},{"label":"Representative’s Email Address","type":"email","name":"rep_email_address"},{"description":"This should be one of the organization’s publicly-listed telephone numbers.","label":"Representative’s Telephone Number","is_optional":1,"type":"tel","name":"rep_telephone"},{"options":[["b","Incorporated Business (“Private Organization”)"],["d","Non-incorporated Business (“Business Entity”)"],["c","Government Entity (“Government Entity”)"]],"name":"business_category","type":"choose_one","label":"Business Category","description":"Consult the EV SSL Certificate Guidelines (https://cabforum.org/extended-validation/) for more information about this field’s options."},{"is_optional":1,"name":"joi_locality_name","label":"City Where Incorporated (JOI (Jurisdiction of Incorporation))"},{"label":"State or Province Where Incorporated (JOI (Jurisdiction of Incorporation))","is_optional":1,"name":"joi_state_or_province_name"},{"label":"Country Code Where Incorporated (JOI (Jurisdiction of Incorporation))","name":"joi_country_name","type":"country_code"},{"label":"Date of Incorporation","name":"date_of_incorporation","is_optional":1,"type":"date"},{"is_optional":1,"name":"assumed_name","label":"Assumed Name (DBA (Doing Business As))"}],"provider_name":"cPStore"}],"warnings":null,"status":1},"func":"get_all_products"}}},"schema":{"properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"result":{"properties":{"data":{"items":{"$ref":"#/components/schemas/MarketProviderProductMetaDataType"},"type":"array"},"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API."},"metadata":{"properties":{"transformed":{"description":"Post-processing may have transformed the data.","example":1,"enum":[1],"type":"integer"}}},"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null},"messages":{"items":{"type":"string"},"description":"List of messages generated by the API.","example":null,"type":"array","nullable":true},"status":{"type":"integer","description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","enum":[0,1],"example":1}},"type":"object"},"module":{"type":"string","description":"The name of the module called.","example":"Market"},"func":{"type":"string","example":"get_all_products","description":"The name of the method called."}},"type":"object"}}}}},"tags":["Market","Market Integration"],"operationId":"Market-get_all_products","x-readonly":true,"x-cpanel-api-version":"UAPI","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Market \\\n  get_all_products\n","lang":"Shell","label":"CLI"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/Market/get_all_products"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Market_get_all_products.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Market_get_all_products.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Market/,\n    q/get_all_products/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Market_get_all_products.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Market_get_all_products.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Market',\n    'get_all_products'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 56","summary":"Return provider's available products"}}},"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"version":"11.89.0.9999","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/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/"},"externalDocs":{"url":"https://cpanel.net/developers/"},"tags":[{"description":"The Market module for UAPI.","name":"Market"},{"name":"Market Integration","description":"Commerce Integration / Market Integration"}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute"}],"x-tagGroups":[{"tags":["Market Integration"],"name":"Commerce Integration"}],"components":{"schemas":{"SSLMarketProviderProductMetaData":{"allOf":[{"$ref":"#/components/schemas/MarketProviderProductMetaData"},{"properties":{"x_validation_type":{"example":"ev","description":"The validation type.","type":"string"},"x_price_per_domain":{"type":"number","minimum":1,"example":3,"description":"The product's price per domain."},"x_ssl_per_domain_pricing":{"type":"integer","description":"Whether the provider uses per-domain pricing for this certificate.\n* `1` — Uses per-domain pricing.\n* `0` — Does **not** use per-domain pricing.","enum":[0,1]},"x_price_per_wildcard_domain_maximum":{"minimum":1,"example":30,"description":"The maximum `x_prive_per_wildcard_domain` value.","type":"number"},"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_price_per_domain_minimum":{"description":"The minimum `x_price_per_domain` value.","example":3,"minimum":1,"type":"number"},"x_wildcard_parent_domain_free":{"type":"integer","enum":[0,1],"description":"Indicates if a wildcard domain includes its parent domain. For example, `*.example.com` would include the `example.com` parent domain.\n\n* `1` — The domain does include its parent domain.\n* `0` — The domain does **not** include its parent domain."},"x_price_per_wildcard_domain":{"minimum":1,"example":99,"description":"The price per domain for a wildcard certificate.","type":"number"},"x_price_per_wildcard_domain_minimum":{"type":"number","minimum":1,"description":"The minimum `x_prive_per_wildcard_domain` value.","example":99},"x_payment_trigger":{"type":"string","description":"Indicates whether the provider charges immediately or when they issue the Secure Sockets Layer (SSL) certificate.\n\n* `checkout` — Collect payment and finalize immediately after checkout. Any failures to issue the certificate must prompt a separate refund.\n* `issuance` — Collect payment when the provider issues the certificate to the user.\n\n**Note:**\n\nFor more information, read the _For certificate orders_ section of our [Guide to cPanel Market Provider Modules](https://go.cpanel.net/featureshowcasemarket) documentation.","enum":["checkout","issuance"]},"x_price_per_domain_maximum":{"minimum":1,"description":"The maximum `x_price_per_domain` value.","example":30,"type":"number"},"x_identity_verification":{"type":"object","properties":{"name":{"type":"string","description":"The name of the property.","example":"duns_number"},"label":{"description":"The display name of the property.","example":"Dun & Bradstreet D-U-N-S (Data Universal Numbering System) Number","type":"string"}},"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."},"x_supports_dns_dcv":{"description":"Whether this product supports DNS-based DCV.\n* `1` — Supports DNS DCV.\n* `0` — Does `not` support DNS DCV.","enum":[0,1],"type":"integer"},"x_warn_after":{"minimum":1,"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,"type":"integer"},"x_certificate_term":{"items":{"type":"string"},"description":"An array that indicates the length of time and unit of time that the product secures for.","example":["1","year"],"type":"array"}}}],"type":"object"},"MarketProviderProductMetaData":{"properties":{"icon_mime_type":{"type":"string","format":"MIME","description":"The icon's file type.","example":"image/svg+xml"},"enabled":{"example":1,"enum":[0,1],"description":"Whether the product is enabled in the cPanel Market.\n* `1` - Enabled.\n* `0` - Not enabled.","type":"integer"},"minimum_server_price":{"nullable":true,"type":"number","format":"currency","example":3,"description":"The minimum price that the system will allow for the product."},"license_term":{"type":"integer","minimum":0,"example":0,"description":"The providers license term"},"provider_name":{"example":"cPStore","description":"The cPanel Market provider's name.","type":"string"},"max_users":{"nullable":true,"type":"integer","minimum":0,"example":5,"description":"The maximum number of users."},"display_name":{"type":"string","example":"cPanel DV Certificate","description":"The product's display name."},"price":{"nullable":true,"type":"number","format":"currency","example":3,"description":"The product's price."},"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","type":"string","format":"base64 image"},"product_category":{"type":"string","description":"The product's category.","example":"N/A"},"recommended":{"type":"integer","description":"Whether the product is recommended.\n* `1` — We recommend the product.\n* `0` — We do not recommend the product.","enum":[0,1],"example":1},"billing_type":{"example":"one-time","description":"The provider's billing type","type":"string"},"maximum_server_price":{"example":500.1,"description":"The maximum price that the system will allow for the product.","nullable":true,"type":"number","format":"currency"},"requires_ip":{"type":"integer","description":"Whether the product requires an IP address.\n* `1` — Requires an IP.\n* `0` — Does **not** require an IP.","enum":[0,1],"example":1},"price_unit":{"format":"ISO-4217","type":"string","description":"The currency code of the product's price.","example":"USD"},"provider_display_name":{"type":"string","description":"The cPanel Market provider's display name.\n\n**Note:**\n\nThe `_DISPLAY_NAME` attribute in the cPanel Market provider module contains this value.","example":"cPStore"},"description":{"example":"An Extended Validation (EV) SLL Certificate. Browsers consider this to be more secure a domain validated (DV) certificate.","description":"The product's description.","type":"string"},"base_name":{"type":"string","nullable":true,"description":"The provider's base name."},"product_id":{"type":"integer","description":"The product's ID.","example":176,"minimum":1},"product_group":{"type":"string","example":"ssl_certificate","description":"The product's group."},"product":{"type":"string","example":"Comodo EV Certificate","description":"The product name."}},"type":"object"},"MarketProviderProductMetaDataType":{"anyOf":[{"$ref":"#/components/schemas/MarketProviderProductMetaData"},{"$ref":"#/components/schemas/SSLMarketProviderProductMetaData"}],"discriminator":{"propertyName":"product_group","mapping":{"ssl_certificate":"#/components/schemas/SSLMarketProviderProductMetaData"}}}},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"security":[{"BasicAuth":[]}]},"get_ssl_certificate_if_available":{"paths":{"/Market/get_ssl_certificate_if_available":{"get":{"x-cpanel-api-version":"UAPI","summary":"Return provider's available SSL certificates","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Market \\\n  get_ssl_certificate_if_available \\\n  provider='cPStore' \\\n  order_item_id='8675309'\n","lang":"Shell","label":"CLI"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/Market/get_ssl_certificate_if_available?provider=cPStore&order_item_id=8675309"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Market_get_ssl_certificate_if_available.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Market_get_ssl_certificate_if_available.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Market/,\n    q/get_ssl_certificate_if_available/,\n    {\n        'provider' => 'cPStore',\n        'order_item_id' => '8675309',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Market_get_ssl_certificate_if_available.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Market_get_ssl_certificate_if_available.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Market',\n    'get_ssl_certificate_if_available',\n    array (\n        'provider' => 'cPStore',\n        'order_item_id' => '8675309',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 56","description":"This function retrieves SSL certificates when they are available from the cPanel Market provider.","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"type":"integer","description":"The version of the API.","example":3},"module":{"description":"The name of the module called.","example":"Market","type":"string"},"result":{"type":"object","properties":{"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"messages":{"example":null,"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"},"warnings":{"nullable":true,"type":"array","example":null,"description":"List of warnings generated by the API. Warnings\ndescribe non-critical failures or other problematic conditions\nnoted while running a API.","items":{"type":"string"}},"data":{"type":"object","properties":{"encrypted_action_urls":{"description":"An object that contains encrypted URLs a user must click to complete their SSL certificate order.\n\n**Note:**\n\nThis return may also contain additional key values. For more information, read [Sectigo's documentation](https://sectigo.com/uploads/files/CollectSSL-v1.17.pdf).","properties":{"evClickThroughStatus":{"description":"A URL the user must click to electronically sign an agreement for their Extended Validation (EV) certificate.\n* An encrypted URL.\n* `null` - No action required.","example":"mgs8RgnN0rkRmJz0SAMvjLokoPoXm5LdzEkmKA7IsGmzvU5XTrFInOegFBbWFycToS7FPOevzkH9\\nZp0+QG1xcC/0bWKB1cNeTiYB3Fmv0HGu2ZsA+AYgIhSsZikyD9M6YbHk1IZA3GLNPl8DxX5zG9LQ\\nHiv7Ll2QMJcPmMaJ3xktTY9NuiaPiPmYBljEE094LeqabP3w/kRALDnhR4FcwjsTn7iDJKoxtKju\\nP/DbgV32vhESwWoaKrIYPkSJ/Dav0a/LQqLqD3Jg27WgrW+GaZSbHlHr09UQW/2CIiIK7jbUoLG3\\nANL0fKevyjxrBjCfXQq0umXcZIJPWo4gfukfkQ==\\n","type":"string","nullable":true},"ovCallbackStatus":{"example":"mgs8RgnN0rkRmJz0SAMvjLokoPoXm5LdzEkmKA7IsGmzvU5XTrFInOegFBbWFycToS7FPOevzkH9\\nZp0+QG1xcC/0bWKB1cNeTiYB3Fmv0HGu2ZsA+AYgIhSsZikyD9M6YbHk1IZA3GLNPl8DxX5zG9LQ\\nHiv7Ll2QMJcPmMaJ3xktTY9NuiaPiPmYBljEE094LeqabP3w/kRALDnhR4FcwjsTn7iDJKoxtKju\\nP/DbgV32vhESwWoaKrIYPkSJ/Dav0a/LQqLqD3Jg27WgrW+GaZSbHlHr09UQW/2CIiIK7jbUoLG3\\nANL0fKevyjxrBjCfXQq0umXcZIJPWo4gfukfkQ==\\n","description":"URL the user must click to verify their identity by phone to complete their Organization Validation (OV) certificate order.\n* An encrypted URL.\n* `null` - No action required.","nullable":true,"type":"string"}},"type":"object"},"certificate_pem":{"format":"base64 certificate","type":"string","nullable":true,"description":"The certificate's text.\n* `null` - The certificate is not available.\n* A certificate file in [Base64 PEM](https://en.wikipedia.org/wiki/Privacy-Enhanced_Mail) format.","example":"-----BEGIN CERTIFICATE----- MIIDcTCCAlmgAwIBAgIFAU+BNVgwDQYJKoZIhvcNAQEFBQAwUTESMBAGA1UEAwwJ c2lza28udGxkMQswCQYDVQQGEwJVUzEPMA0GA1UECgwGY1BhbmVsMQswCQYDVQQI DAJUWDEQMA4GA1UEBwwHSG91c3RvbjAeFw0xNDEwMDYyMjI2MTlaFw0xNTEwMDYy MjI2MTlaMFExEjAQBgNVBAMMCXNpc2tvLnRsZDELMAkGA1UEBhMCVVMxDzANBgNV BAoMBmNQYW5lbDELMAkGA1UECAwCVFgxEDAOBgNVBAcMB0hvdXN0b24wggEiMA0G CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC9zx6zGiHdmWA0dKtoXmJiWXpZ9E3P Xx3YHsjFEWW7e5pH0vZ+jVMzDmm5nsJ7RXrAkZO1IvpIpVLvoQfiJOWVvkD+o9fW voK1tWJS72FSgPju+58mA2ieBuc87A790Pzuv1P3NR3zFLAjUR99zkHR1fpri/da M3PBWO8ET48FWkyU1kOeZaUlF67/+wrEiNgg+t1qhKOCAB61PdNVkLaSGHimksuC +Czk8Kq9nuS0E0TCnDtjjEyJ455FUcaCfczlTb8xkB/F9ORe74yTzD+vlk0tFMG6 PLj/ajIwWqwO0qmQ8wX3NRxkWgGz5kVO1wrVJarKQ5EYQ3/mgvit0v6dAgMBAAGj UDBOMB0GA1UdDgQWBBRw+wKBo34+bgexjAa3EMDsgSCd7zAfBgNVHSMEGDAWgBRw +wKBo34+bgexjAa3EMDsgSCd7zAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUA A4IBAQCHRXIs53opzKM2rM8Qe8lcw524WK6hqy2EWrZHp78N7rU7/6DQ/I3hv3Wh cDDIO04I2/Xhe88MLBaLoM367Ya+vy7CaLr14aLi/SfQszMA0ALBvMao+Fis0iVw FYq/NLgSXw+fgnpFskt8v8iQZ+4Kaal8U8e9sVgu8m0RgO7rzym1eRiIKpsKd1rh /SD7LbSN7M7TRL3QqF7ltw9sQhAAsQcRaBBF21pdWrqhiGZ+Eioo3hhgwNavH2ag qz78ddHwrFpHFwrEeUk1OfpPb76MYIce7xIy/4oQNdg6fOq4l/FrajBv+WkzDVPa Km6r7YmwfLN/YMZBHXSR58oOGP9W -----END CERTIFICATE-----"},"status_message":{"type":"string","description":"An error message from the certificate provider. For example, why a certificate authority rejected an SSL certificate.\n\n**Note:**\n\nIf no error message exists, this will return an empty string.","example":"PRE-SIGN FAILED: CAA: Processing error"},"status_code":{"description":"The status code of the certificate.","example":"RequiresApproval","type":"string"}}},"metadata":{"properties":{"transformed":{"description":"Post-processing may have transformed the data.","enum":[1],"example":1,"type":"integer"}}},"status":{"type":"integer","description":"* `1` - Success\n* `0` - Failed: Check the errors field for more details.","enum":[0,1],"example":1}}},"func":{"type":"string","description":"The name of the method called.","example":"get_ssl_certificate_if_available"}}}}},"description":"HTTP Request was successful."}},"parameters":[{"schema":{"example":"cPStore","type":"string"},"required":true,"description":"The cPanel Market provider's name.","name":"provider","in":"query"},{"in":"query","name":"order_item_id","description":"The order item for which to poll.","required":true,"schema":{"example":"8675309","type":"string"}}],"tags":["Market","SSL Certificates"],"operationId":"Market-get_ssl_certificate_if_available","x-readonly":true}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"security":[{"BasicAuth":[]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"name":"Commerce Integration","tags":["SSL Certificates"]}],"tags":[{"description":"The Market module for UAPI.","name":"Market"},{"description":"Commerce Integration / SSL Certificates","name":"SSL Certificates"}],"servers":[{"variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"openapi":"3.0.2"}},"WordPressSite":{"create":{"x-tagGroups":[{"name":"Website Configuration","tags":["Site Installation"]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}}}],"tags":[{"description":"The WordPressSite module for UAPI.","name":"WordPressSite"},{"description":"Website Configuration / Site Installation","name":"Site Installation"}],"security":[{"BasicAuth":[]}],"info":{"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","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.","version":"11.101.0.9999","termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI"},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/WordPressSite/create":{"get":{"summary":"Install WordPress site","x-cpanel-available-version":"cPanel 11.42","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  WordPressSite \\\n  create\n","label":"CLI","lang":"Shell"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/WordPressSite/create"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"x-cpanel-api-version":"UAPI","operationId":"WordPressSite-create","x-readonly":false,"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"func":{"example":"create","description":"The name of the method called.","type":"string"},"module":{"type":"string","description":"The name of the module called.","example":"WordPressSite"},"result":{"type":"object","properties":{"errors":{"example":null,"description":"List of errors if the API failed.","items":{"type":"string"},"nullable":true,"type":"array"},"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"},"data":{},"warnings":{"example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","nullable":true,"type":"array"},"metadata":{"properties":{}},"status":{"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","example":1,"enum":[1,0],"type":"integer"}}},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}}}}},"description":"HTTP Request was successful."}},"tags":["WordPressSite","Site Installation"],"x-rollback":"none","description":"This function installs a WordPress site for cPanel user's primary domain.","parameters":[]}}}},"retrieve":{"security":[{"BasicAuth":[]}],"tags":[{"description":"The WordPressSite module for UAPI.","name":"WordPressSite"},{"description":"Website Configuration / Site Information","name":"Site Information"}],"openapi":"3.0.2","servers":[{"url":"https://{host}:{port}/execute","variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"description":"The cPanel port.","default":"2083"}},"description":"A server running cPanel."}],"x-tagGroups":[{"name":"Website Configuration","tags":["Site Information"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"},"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.101.0.9999","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"}},"paths":{"/WordPressSite/retrieve":{"get":{"x-cpanel-api-version":"UAPI","x-cpanel-available-version":"cPanel 11.42","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  WordPressSite \\\n  retrieve\n","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/WordPressSite/retrieve","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Return WordPress site information","description":"This function retrieves the installation status and detailed information of the WordPress site for cPanel user's primary domain.","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"result":{"type":"object","properties":{"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null},"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null},"data":{"items":{"properties":{"details":{"description":"Detailed information of the WordPress site.","example":{},"type":"object"},"install_status":{"type":"string","example":"in progress","description":"Installation status of the WordPress site."}}},"description":"An object that contains the installation status and information for the WordPress site."},"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null,"type":"array","nullable":true},"metadata":{"properties":{}},"status":{"enum":[1,0],"example":1,"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","type":"integer"}}},"module":{"type":"string","example":"WordPressSite","description":"The name of the module called."},"func":{"type":"string","example":"retrieve","description":"The name of the method called."},"apiversion":{"type":"integer","description":"The version of the API.","example":3}}}}}}},"tags":["WordPressSite","Site Information"],"parameters":[],"x-readonly":true,"operationId":"WordPressSite-retrieve"}}}}},"VersionControlDeployment":{"retrieve":{"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI"},"externalDocs":{"url":"https://cpanel.net/developers/"},"tags":[{"name":"VersionControlDeployment","description":"The VersionControlDeployment module for UAPI."},{"description":"GIT Management / Deployment Settings","name":"Deployment Settings"}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}}}],"x-tagGroups":[{"tags":["Deployment Settings"],"name":"GIT Management"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"security":[{"BasicAuth":[]}],"paths":{"/VersionControlDeployment/retrieve":{"get":{"x-rollback":"none","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  VersionControlDeployment \\\n  retrieve\n"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/VersionControlDeployment/retrieve"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n#    to .../frontend/<theme-name>/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}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"summary":"Return Git deployment task status","x-cpanel-available-version":"cPanel 74","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\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.","x-cpanel-api-version":"UAPI","operationId":"VersionControlDeployment-retrieve","x-readonly":false,"tags":["VersionControlDeployment","Deployment Settings"],"parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"module":{"type":"string","example":"VersionControlDeployment","description":"The name of the module called."},"result":{"type":"object","properties":{"status":{"type":"integer","example":1,"enum":[0,1],"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details."},"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null},"data":{"type":"array","items":{"type":"object","properties":{"sse_url":{"type":"string","format":"url-path","description":"The SSE interface to track the progress of the deployment process.","example":"/sse/UserTasks/B3A27B96-51F7-11E8-92E3-CC90C4F823F0"},"repository_root":{"type":"string","format":"path","description":"The aboslute path to the cPanel-managed repository directory.","example":"/home/username/example"},"deploy_id":{"description":"The deployment ID number.","example":13,"type":"integer"},"task_id":{"type":"string","description":"The [Task Queue](https://go.cpanel.net/whmdocsTaskQueueMonitor) system's task ID number.","example":"00000000/5aea11e886a5d8"},"log_path":{"type":"string","format":"path","example":"/home/user/.cpanel/logs/vc_1525289448.759720_git_deploy.log","description":"The absolute path to the task's log file."},"timestamps":{"description":"An object containing timestamps for the deployment process.","type":"object","properties":{"failed":{"type":"string","description":"The time at which the deployment process failed, in Unix time format.\n\n**Note:**\n\n* The function only returns this value if the deployment process failed.\n* 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"},"active":{"example":"1525289448.83553","description":"The time at which the system started the deployment process, in Unix time format.","type":"string"},"succeeded":{"example":"1525289448.83553","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.","type":"string"},"canceled":{"description":"The time at which the system cancelled the deployment process, in Unix time format.\n\n**Note:**\n\n* The function only returns this value if the system cancelled the deployment process.\n* 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"}}},"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 <jane.doe@example.com>","type":"string"},"date":{"description":"The timestamp for the most-recent commit, in Unix time format.","example":1410277881,"type":"integer","format":"unix_timestamp"},"message":{"description":"The commit message.","example":"This is a commit.","type":"string"},"branch":{"description":"The repository's current branch.","example":"master","type":"string"},"identifier":{"description":"The identifier (SHA-1 value) for the most-recent commit.","example":"2fd4e1c67a2d28fced849ee1bb76e7391b93eb12","type":"string"}},"type":"object"}}},"description":"An array of objects containing deployment task data."},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"metadata":{"properties":{}}}},"func":{"type":"string","description":"The name of the method called.","example":"retrieve"},"apiversion":{"type":"integer","description":"The version of the API.","example":3}}}}},"description":"HTTP Request was successful."}}}}}},"delete":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}},"security":[{"BasicAuth":[]}],"x-tagGroups":[{"name":"GIT Management","tags":["Deployment Settings"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"openapi":"3.0.2","servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"description":"A server running cPanel."}],"tags":[{"name":"VersionControlDeployment","description":"The VersionControlDeployment module for UAPI."},{"description":"GIT Management / Deployment Settings","name":"Deployment Settings"}],"paths":{"/VersionControlDeployment/delete":{"get":{"summary":"Delete Git deployment task","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  VersionControlDeployment \\\n  delete \\\n  deploy_id='13'\n","label":"CLI","lang":"Shell"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/VersionControlDeployment/delete?deploy_id=13"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 74","x-cpanel-api-version":"UAPI","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"description":"The version of the API.","example":3,"type":"integer"},"func":{"type":"string","description":"The name of the method called.","example":"delete"},"result":{"properties":{"metadata":{"properties":{}},"data":{"nullable":true,"type":"object","default":null},"warnings":{"nullable":true,"type":"array","example":null,"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"}},"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."},"errors":{"example":null,"items":{"type":"string"},"description":"List of errors if the API failed.","nullable":true,"type":"array"},"status":{"type":"integer","description":"* `1` - Success.\n* `0` - Failed. Check the errors field for more details.","enum":[0,1],"example":1}}},"module":{"example":"VersionControlDeployment","description":"The name of the module called.","type":"string"}},"type":"object"}}}}},"tags":["VersionControlDeployment","Deployment Settings"],"x-readonly":false,"operationId":"VersionControlDeployment-delete","description":"This function deletes a deployment task. For more information, read our [Guide to Git - Deployment](https://go.cpanel.net/GitDeployment) documentation.","x-rollback":"none","parameters":[{"in":"query","name":"deploy_id","schema":{"type":"string","example":"13"},"required":true,"description":"The [Task Queue system's](https://go.cpanel.net/whmdocsTaskQueueMonitor) task ID number."}]}}}},"create":{"paths":{"/VersionControlDeployment/create":{"get":{"parameters":[{"name":"repository_root","in":"query","schema":{"example":"/home/user/public_html/example","format":"path","type":"string"},"description":"The repository's directory.","required":true}],"tags":["VersionControlDeployment","Deployment Settings"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"result":{"type":"object","properties":{"status":{"type":"integer","description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","enum":[0,1],"example":1},"errors":{"example":null,"items":{"type":"string"},"description":"List of errors if the API failed.","nullable":true,"type":"array"},"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null},"warnings":{"example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","nullable":true,"type":"array"},"data":{"type":"object","properties":{"timestamps":{"type":"object","properties":{"queued":{"type":"string","example":"1525289545.16293","description":"The time at which the deployment process. entered the task queue."}},"format":"object","description":"A hash of timestamps for the deployment process."},"task_id":{"type":"string","example":"00000000/5a9ec8dd4c345d","description":"The Task Queue system's task ID number."},"repository_root":{"format":"path","type":"string","description":"The repository's directory.","example":"/home/username/example"},"deploy_id":{"type":"string","description":"The deployment ID number.","example":"12"},"sse_url":{"example":"/sse/UserTasks/B3A27B96-51F7-11E8-92E3-CC90C4F823F0","description":"The SSE interface to track the progress of the deployment process.","format":"url-path","type":"string"},"log_path":{"example":"/home/user/.cpanel/logs/vc_1525289545.785367_git_deploy.log","description":"The absolute path to the task's log file vc_TIMESTAMP_git_deploy.log, where TIMESTAMP represents the time in Unix epoch time.","type":"string","format":"path"}}},"metadata":{"properties":{}}}},"module":{"type":"string","description":"The name of the module called.","example":"VersionControlDeployment"},"func":{"type":"string","example":"create","description":"The name of the method called."},"apiversion":{"example":3,"description":"The version of the API.","type":"integer"}},"type":"object"}}}}},"operationId":"VersionControlDeployment-create","x-readonly":false,"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.","summary":"Create Git deployment task","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  VersionControlDeployment \\\n  create \\\n  repository_root='/home/user/public_html/example'\n"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/VersionControlDeployment/create?repository_root=%2fhome%2fuser%2fpublic_html%2fexample"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 74","x-cpanel-api-version":"UAPI","x-rollback":"none"}}},"security":[{"BasicAuth":[]}],"openapi":"3.0.2","servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"description":"A server running cPanel."}],"tags":[{"name":"VersionControlDeployment","description":"The VersionControlDeployment module for UAPI."},{"name":"Deployment Settings","description":"GIT Management / Deployment Settings"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"x-tagGroups":[{"name":"GIT Management","tags":["Deployment Settings"]}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."}}},"UserTasks":{"delete":{"paths":{"/UserTasks/delete":{"get":{"x-rollback":"none","description":"This function deletes a process from the user task queue.\n\nEach cPanel account uses a separate user task queue in order to ensure that\nprocesses for one user do not impede another user on the server.\n\n* For example, the [*Git Version Control*](https://go.cpanel.net/GitVersionControl)\ninterface (*cPanel >> Home >> Files >> Git Version Control*) uses the user task queue\nto clone repositories (via the `VersionControl::create` function).\n* For more information, read our\n[Task Queue Monitor](https://go.cpanel.net/whmdocsTaskQueueMonitor) documentation.","parameters":[{"schema":{"example":"00000000\\/5a9ec8dd4c345d","type":"string"},"description":"The task's ID number.","required":true,"name":"id","in":"query"}],"x-cpanel-api-version":"UAPI","x-cpanel-available-version":"cPanel 72","x-codeSamples":[{"source":"uapi --output=jsonpretty --user=username UserTasks delete id='00000000\\/5a9ec8dd4c345d'","lang":"Shell","label":"CLI"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/UserTasks/delete?id=00000000%5c%2f5a9ec8dd4c345d"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Remove item from task queue","x-readonly":false,"operationId":"UserTasks-delete","tags":["UserTasks","SSE Task Management"],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"func":{"type":"string","description":"The name of the method called.","example":"delete"},"module":{"type":"string","description":"The name of the module called.","example":"UserTasks"},"result":{"properties":{"status":{"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","example":1,"enum":[1,0],"type":"integer"},"errors":{"example":null,"description":"List of errors if the API failed.","items":{"type":"string"},"nullable":true,"type":"array"},"messages":{"example":null,"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"},"data":{"nullable":true,"type":"object","default":null},"warnings":{"example":null,"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"},"metadata":{"properties":{}}}},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}},"type":"object"}}},"description":"HTTP Request was successful."}}}}},"openapi":"3.0.2","servers":[{"url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}},"description":"A server running cPanel."}],"tags":[{"name":"UserTasks","description":"The UserTasks module for UAPI."},{"name":"SSE Task Management","description":"API Development Tools / SSE Task Management"}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"x-tagGroups":[{"name":"API Development Tools","tags":["SSE Task Management"]}],"security":[{"BasicAuth":[]}],"info":{"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"}},"externalDocs":{"url":"https://cpanel.net/developers/"}},"retrieve":{"paths":{"/UserTasks/retrieve":{"get":{"x-readonly":true,"operationId":"UserTasks-retrieve","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"func":{"description":"The name of the method called.","example":"retrieve","type":"string"},"result":{"type":"object","properties":{"status":{"type":"integer","enum":[1,0],"example":1,"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details."},"messages":{"description":"List of messages generated by the API.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"errors":{"example":null,"items":{"type":"string"},"description":"List of errors if the API failed.","nullable":true,"type":"array"},"metadata":{"properties":{"transformed":{"type":"integer","description":"Post-processing may have transformed the data.","example":1,"enum":[1]}}},"warnings":{"type":"array","nullable":true,"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"},"example":null},"data":{"type":"array","items":{"type":"object","properties":{"args":{"description":"An object containing one or more action- and subsystem-specific\narguments, if any exist.\n\nFor example, a task that returns an `action` value of `create` and\na `subsystem` value of `VersionControl` will include the\n`repository_root` argument.","properties":{"repository_root":{"type":"string","description":"The absolute path to the repostiory's `root` directory."}},"type":"object"},"id":{"type":"string","description":"The task's ID number.","example":"00000000\\/5a9ec8dd4c345d"},"subsystem":{"type":"string","description":"The subsystem that will handle the process.\n\n* `VersionControl`\n\n**Note:**\n\n`VersionControl` is the only possible value.","example":"VersionControl","enum":["VersionControl"]},"action":{"description":"The task's action.\n\n* `create`\n\n**Note:**\n\n`create` is the only possible value.","example":"create","enum":["create"],"type":"string"}}},"description":"An array of objects containing data for a task in the user task queue.","example":[{"action":"create","id":"00000000\\/5a9ec8dd4c345d","subsystem":"VersionControl","args":{}},{"subsystem":"VersionControl","args":{"repository_root":"/home/user/public_html/example"},"id":"00000000/h39dnn27suc13l","action":"create"}]}}},"module":{"type":"string","example":"UserTasks","description":"The name of the module called."},"apiversion":{"type":"integer","example":3,"description":"The version of the API."}}}}}}},"tags":["UserTasks","SSE Task Management"],"parameters":[],"summary":"Return task queue information","x-cpanel-available-version":"cPanel 72","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  UserTasks \\\n  retrieve\n","lang":"Shell","label":"CLI"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/UserTasks/retrieve"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"description":"This function retrieves a cPanel account's user task queue information.\n\nEach cPanel account uses a separate user task queue in order to ensure that\nprocesses for one user do not impede another user on the server.\n\n* For example, the [*Git Version Control*](https://go.cpanel.net/GitVersionControl)\ninterface (*cPanel >> Home >> Files >> Git Version Control*) uses the user task queue\nto clone repositories (via the `VersionControl::create` function).\n* For more information, read our\n[Task Queue Monitor](https://go.cpanel.net/whmdocsTaskQueueMonitor) documentation.","x-cpanel-api-version":"UAPI"}}},"openapi":"3.0.2","tags":[{"description":"The UserTasks module for UAPI.","name":"UserTasks"},{"description":"API Development Tools / SSE Task Management","name":"SSE Task Management"}],"servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}}}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"tags":["SSE Task Management"],"name":"API Development Tools"}],"security":[{"BasicAuth":[]}],"info":{"termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"}},"externalDocs":{"url":"https://cpanel.net/developers/"}}},"StatsManager":{"save_configuration":{"security":[{"BasicAuth":[]}],"servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"description":"A server running cPanel."}],"tags":[{"name":"StatsManager","description":"The StatsManager module for UAPI."},{"description":"Statistics / Weblog Settings","name":"Weblog Settings"}],"openapi":"3.0.2","components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"tags":["Weblog Settings"],"name":"Statistics"}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"paths":{"/StatsManager/save_configuration":{"post":{"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"func":{"type":"string","description":"The name of the method called.","example":"save_configuration"},"result":{"type":"object","properties":{"warnings":{"example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","nullable":true,"type":"array"},"data":{"type":"array","description":"A list of domains and the status of each of the web log analyzers available in cPanel for that domain.","items":{"properties":{"domain":{"type":"string","description":"The domain.","example":"user"},"analyzers":{"type":"array","items":{"type":"object","properties":{"name":{"description":"Name of the analyzer.\n\nIt must be one of the following:\n\n- `analog` - Analog weblog analyzer.\n- `awstats` - AWStats weblog analyzer.\n- `webalizer` - The Webalizer weblog analyzer.","enum":["analog","awstats","webalizer"],"type":"string"},"enabled":{"enum":[1,0],"description":"Whether the analyzer is turned on or off for the domain.\n\n- `1` - the analyzer is enabled.\n- `0` - the analyzer is disabled.","type":"integer"},"available":{"description":"Whether the analyzer is turned on or off for the whole server.\n\n- `1` - the analyzer is enabled on the server.\n- `0` - the analyzer is disabled on the server.","enum":[1,0],"type":"integer"},"locked":{"type":"integer","enum":[1,0],"description":"Whether the analyzer can be turned on or off for the domain by the cPanel user.\n\n- `1` - the analyzer can be managed by the cPanel user.\n- `0` - the analyzer cannot be managed by the cPanel user. The reseller or `root` controls the configuration."}}},"description":"List of log analyzer configuration objects for this domain","example":[{"enabled":1,"name":"awstats","locked":0,"available":1},{"available":1,"locked":0,"enabled":0,"name":"analog"},{"locked":0,"available":0,"name":"webalizer","enabled":0}]}},"type":"object"}},"metadata":{"properties":{"transformed":{"type":"integer","example":1,"enum":[1],"description":"Post-processing may have transformed the data."}}},"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null},"messages":{"description":"List of messages generated by the API.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"status":{"type":"integer","example":1,"enum":[0,1],"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details."}}},"module":{"type":"string","example":"StatsManager","description":"The name of the module called."},"apiversion":{"type":"integer","description":"The version of the API.","example":3}}}}},"description":"HTTP Request was successful."}},"tags":["StatsManager","Weblog Settings"],"x-readonly":false,"operationId":"StatsManager-save_configuration","x-cpanel-api-version":"UAPI","x-cpanel-available-version":90,"summary":"Save current user's weblog analyzers configuration","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"},{"lang":"HTTP","label":"HTTP Request (Wire Format)","source":"POST /cpsess##########/execute/StatsManager/save_configuration HTTP/1.1\nHost: example.com:2083\nCookie: ###################################\nContent-Type: application/json\nContent-Length: 151\n\n{\"changes\":[{\"analyzers\":[{\"enabled\":\"1\",\"name\":\"awstats\"},{\"enabled\":\"0\",\"name\":\"analog\"},{\"enabled\":\"0\",\"name\":\"webalizer\"}],\"domain\":\"domain.com\"}]}"}],"requestBody":{"description":"List of domains and what web log analyzers to change.","content":{"application/json":{"schema":{"type":"object","properties":{"changes":{"items":{"properties":{"domain":{"type":"string","description":"Domain you want to configure.","example":"domain.com"},"analyzers":{"type":"array","example":[{"enabled":1,"name":"awstats"},{"name":"analog","enabled":0},{"enabled":0,"name":"webalizer"}],"items":{"properties":{"name":{"type":"string","description":"Name of the analyzer.\n\nIt must be one of the following:\n\n- `analog` - Analog weblog analyzer.\n- `awstats` - AWStats weblog analyzer.\n- `webalizer` - The Webalizer weblog analyzer.","enum":["analog","awstats","webalizer"]},"enabled":{"enum":[1,0],"description":"Whether the analyzer is turned on or off for the domain.\n\n- `1` - the analyzer is enabled.\n- `0` - the analyzer is disabled.","type":"integer"}},"type":"object"},"description":"List of log analyzer configuration objects."}},"type":"object"},"type":"array"}}}}}},"description":"This function saves the users choice about which web log anayzers are enabled for each domain on their cPanel users account.\nIf the log anayzers are controlled by the reseller or root account, the user cannot manage which log analyzers are enabled or disabled.\n\n**Important:**\n\nWhen you disable the WebServer role the system disables this function. For more information, read our How to Use Server Profiles documentation.","x-rollback":"none"}}}},"get_configuration":{"paths":{"/StatsManager/get_configuration":{"get":{"parameters":[],"tags":["StatsManager","Weblog Settings"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"description":"The version of the API.","example":3,"type":"integer"},"result":{"properties":{"metadata":{"properties":{"analyzers":{"description":"System configruation for each analyzer.","items":{"type":"object","properties":{"name":{"enum":["analog","awstats","webalizer"],"description":"Name of the analyzer.\n\nIt must be one of the following:\n\n- `analog` - Analog weblog analyzer.\n- `awstats` - AWStats weblog analyzer.\n- `webalizer` - The Webalizer weblog analyzer.","type":"string"},"enabled_by_default":{"description":"Whether the analyzer is turned on or off by default for all users.\n\n- `1` - the analyzer is enabled for all users on the server.\n- `0` - the analyzer is disabled for all users on the server.","enum":[1,0],"type":"integer"},"available_for_user":{"description":"Whether the analyzer can be configured by this user.\n\n- `1` - the analyzer can be configured by this user.\n- `0` - the analyzer cannot be configured by this user.","enum":[1,0],"type":"integer"}}},"example":[{"enabled_by_default":0,"name":"analog","available_for_user":1},{"name":"awstats","enabled_by_default":1,"available_for_user":1},{"available_for_user":1,"name":"webalizer","enabled_by_default":0}],"type":"array"},"transformed":{"example":1,"enum":[1],"description":"Post-processing may have transformed the data.","type":"integer"},"locked":{"description":"Whether the analyzer can be turned on or off for the domain by the cPanel user.\n\n- `1` - the analyzer cannot be managed by the cPanel user. The reseller or `root` controls the configuration.\n- `0` - the analyzer can be managed by the cPanel user.","enum":[1,0],"type":"integer"}}},"errors":{"example":null,"description":"List of errors if the API failed.","items":{"type":"string"},"nullable":true,"type":"array"},"status":{"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","enum":[0,1],"example":1,"type":"integer"},"warnings":{"example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","nullable":true,"type":"array"},"data":{"type":"array","description":"A list of domains and the status of each of the web log analyzers available in cPanel for that domain.","items":{"properties":{"analyzers":{"type":"array","items":{"type":"object","properties":{"enabled_by_user":{"type":"integer","enum":[1,0],"description":"Whether the analyzer is turned on or off for the domain specifically by this user.\n\n- `1` - the analyzer is enabled by the user.\n- `0` - the analyzer is disabled by the user."},"name":{"description":"Name of the analyzer.\n\nIt must be one of the following:\n\n- `analog` - Analog weblog analyzer.\n- `awstats` - AWStats weblog analyzer.\n- `webalizer` - The Webalizer weblog analyzer.","enum":["analog","awstats","webalizer"],"type":"string"},"enabled":{"type":"integer","enum":[1,0],"description":"Whether the analyzer is turned on or off for the domain.\n\n- `1` - the analyzer is enabled.\n- `0` - the analyzer is disabled.\n\n**Note:** This is the cumulative effect of the choices the server admin and user make."}}},"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_by_user":1,"enabled":1,"name":"awstats"},{"enabled_by_user":0,"enabled":0,"name":"analog"},{"name":"webalizer","enabled":0,"enabled_by_user":1}]},"domain":{"type":"string","example":"domain.com","description":"The domain."}},"type":"object"}},"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null}},"type":"object"},"module":{"example":"StatsManager","description":"The name of the module called.","type":"string"},"func":{"type":"string","description":"The name of the method called.","example":"get_configuration"}}}}}}},"x-readonly":true,"operationId":"StatsManager-get_configuration","summary":"Returns weblog analyzers' configuration","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  StatsManager \\\n  get_configuration\n","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/StatsManager/get_configuration","label":"URL","lang":"HTTP"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\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/<theme_name>/\n#    to .../frontend/<theme_name>/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}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\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/<theme_name>/\n//    to .../frontend/<theme_name>/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\nheader('Content-Type: text/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\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"x-cpanel-available-version":90,"description":"This function lists the configuration of the web log anayzers for each domain on the cPanel account.\n\n**Important:**\n\nWhen 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/).\n\n**Note**\n\nAdditional web log analyzer configuration such as if the user can edit their own configuration is provided in the metadata section of the return.","x-cpanel-api-version":"UAPI"}}},"info":{"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"x-tagGroups":[{"tags":["Weblog Settings"],"name":"Statistics"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"openapi":"3.0.2","tags":[{"name":"StatsManager","description":"The StatsManager module for UAPI."},{"description":"Statistics / Weblog Settings","name":"Weblog Settings"}],"servers":[{"description":"A server running cPanel.","variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute"}],"security":[{"BasicAuth":[]}]}},"NginxCaching":{"disable_cache":{"paths":{"/NginxCaching/disable_cache":{"get":{"tags":["NginxCaching"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"module":{"example":"NginxCaching","description":"The name of the module called.","type":"string"},"result":{"type":"object","properties":{"metadata":{"properties":{}},"data":{"properties":{}},"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null,"type":"array","nullable":true},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}},"errors":{"nullable":true,"type":"array","example":null,"description":"List of errors if the API failed.","items":{"type":"string"}},"status":{"type":"integer","description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","enum":[0,1],"example":1}}},"func":{"type":"string","example":"disable_cache","description":"The name of the method called."}}}}}}},"x-readonly":false,"operationId":"NginxCaching-disable_cache","x-cpanel-api-version":"UAPI","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.","summary":"Disable the user's NGINX cache","x-cpanel-available-version":"cPanel 100","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  NginxCaching \\\n  disable_cache\n","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/NginxCaching/disable_cache","label":"URL","lang":"HTTP"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file NginxCaching_disable_cache.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/NginxCaching_disable_cache.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/NginxCaching/,\n    q/disable_cache/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file NginxCaching_disable_cache.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/NginxCaching_disable_cache.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'NginxCaching',\n    'disable_cache'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-rollback":"none"}}},"x-tagGroups":[{"name":"Web Server Management","tags":["NginxCaching"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"url":"https://{host}:{port}/execute"}],"tags":[{"name":"NginxCaching","description":"The NginxCaching module for UAPI."}],"security":[{"BasicAuth":[]}],"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI"},"externalDocs":{"url":"https://cpanel.net/developers/"}},"clear_cache":{"security":[{"BasicAuth":[]}],"openapi":"3.0.2","tags":[{"name":"NginxCaching","description":"The NginxCaching module for UAPI."}],"servers":[{"url":"https://{host}:{port}/execute","variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"description":"The cPanel port.","default":"2083"}},"description":"A server running cPanel."}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"x-tagGroups":[{"name":"Web Server Management","tags":["NginxCaching"]}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"}},"paths":{"/NginxCaching/clear_cache":{"get":{"x-cpanel-api-version":"UAPI","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.","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  NginxCaching \\\n  clear_cache\n","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/NginxCaching/clear_cache","label":"URL","lang":"HTTP"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file NginxCaching_clear_cache.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/NginxCaching_clear_cache.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/NginxCaching/,\n    q/clear_cache/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file NginxCaching_clear_cache.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/NginxCaching_clear_cache.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'NginxCaching',\n    'clear_cache'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"summary":"Delete NGINX cache contents.","x-cpanel-available-version":"cPanel 100","x-rollback":"none","tags":["NginxCaching"],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"func":{"example":"clear_cache","description":"The name of the method called.","type":"string"},"module":{"example":"NginxCaching","description":"The name of the module called.","type":"string"},"result":{"properties":{"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}},"data":{"properties":{}},"warnings":{"example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","nullable":true,"type":"array"},"metadata":{"properties":{}},"status":{"enum":[0,1],"example":1,"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","type":"integer"}},"type":"object"}},"type":"object"}}},"description":"HTTP Request was successful."}},"operationId":"NginxCaching-clear_cache","x-readonly":false}}}},"reset_cache_config":{"paths":{"/NginxCaching/reset_cache_config":{"get":{"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.","summary":"Reset the user's NGINX cache configuration","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  NginxCaching \\\n  reset_cache_config\n","label":"CLI","lang":"Shell"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/NginxCaching/reset_cache_config"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file NginxCaching_reset_cache_config.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/NginxCaching_reset_cache_config.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/NginxCaching/,\n    q/reset_cache_config/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file NginxCaching_reset_cache_config.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/NginxCaching_reset_cache_config.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'NginxCaching',\n    'reset_cache_config'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 100","x-cpanel-api-version":"UAPI","x-rollback":"none","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"func":{"example":"reset_cache_config","description":"The name of the method called.","type":"string"},"module":{"example":"NginxCaching","description":"The name of the module called.","type":"string"},"result":{"properties":{"status":{"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","example":1,"enum":[0,1],"type":"integer"},"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null,"type":"array","nullable":true},"data":{"properties":{}},"metadata":{"properties":{}},"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null},"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null}},"type":"object"},"apiversion":{"example":3,"description":"The version of the API.","type":"integer"}}}}},"description":"HTTP Request was successful."}},"tags":["NginxCaching"],"operationId":"NginxCaching-reset_cache_config","x-readonly":false}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"security":[{"BasicAuth":[]}],"x-tagGroups":[{"tags":["NginxCaching"],"name":"Web Server Management"}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"tags":[{"name":"NginxCaching","description":"The NginxCaching module for UAPI."}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute"}]},"enable_cache":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."},"security":[{"BasicAuth":[]}],"x-tagGroups":[{"tags":["NginxCaching"],"name":"Web Server Management"}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"tags":[{"name":"NginxCaching","description":"The NginxCaching module for UAPI."}],"openapi":"3.0.2","servers":[{"url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"description":"A server running cPanel."}],"paths":{"/NginxCaching/enable_cache":{"get":{"operationId":"NginxCaching-enable_cache","x-readonly":false,"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"func":{"example":"enable_cache","description":"The name of the method called.","type":"string"},"module":{"type":"string","description":"The name of the module called.","example":"NginxCaching"},"result":{"type":"object","properties":{"data":{"properties":{}},"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API."},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}},"status":{"type":"integer","description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","example":1,"enum":[0,1]},"metadata":{"properties":{}},"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null}}},"apiversion":{"type":"integer","example":3,"description":"The version of the API."}},"type":"object"}}},"description":"HTTP Request was successful."}},"tags":["NginxCaching"],"x-rollback":"none","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  NginxCaching \\\n  enable_cache\n","label":"CLI","lang":"Shell"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/NginxCaching/enable_cache"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file NginxCaching_enable_cache.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/NginxCaching_enable_cache.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/NginxCaching/,\n    q/enable_cache/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file NginxCaching_enable_cache.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/NginxCaching_enable_cache.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'NginxCaching',\n    'enable_cache'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Enable the user's NGINX cache","x-cpanel-available-version":"cPanel 100","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.","x-cpanel-api-version":"UAPI"}}}}},"DomainInfo":{"domains_data":{"info":{"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"},"termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."},"externalDocs":{"url":"https://cpanel.net/developers/"},"openapi":"3.0.2","tags":[{"name":"DomainInfo","description":"The DomainInfo module for UAPI."},{"name":"Domain Information","description":"Domain Management / Domain Information"}],"servers":[{"variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{"Contents":{"properties":{"can_https_redirect":{"description":"Whether a valid SSL certificate exists or AutoSSL runs on the domain.\n\n* `1` — A valid SSL certificate exists or AutoSSL runs.\n* `0` — A valid SSL certificate does **not** exist and AutoSSL does **not** run.\n\n**Note:**\n\nThis return **only** appears if you set the `return_https_redirects_status` parameter to `1`.","enum":[1,0],"type":"integer"},"type":{"description":"The type of domain:\n\n* `addon_domain` — The domain is an addon domain.\n* `sub_domain` — The domain is a subdomain.\n* `parked_domain` — The domain is a parked domain (domain alias).","enum":["addon_domain","sub_domain","parked_domains"],"type":"string"},"is_https_redirecting":{"type":"integer","description":"Whether the domain redirects to `https`.\n\n* `1` — The domain redirects to `https`.\n* `0` — The domain does **not** redirect to `https`.\n\n**Note:**\n\nThis return **only** appears if you set the `return_https_redirects_status` parameter to `1`.","enum":[1,0]},"domain":{"description":"The domain's name.","format":"domain","type":"string"},"ip":{"description":"The domain's IPv4 address.","format":"ipv4","type":"string"},"hascgi":{"type":"integer","description":"Whether CGI is enabled for the domain.\n\n* `1` — Enabled.\n* `0` — Disabled.","enum":[1,0]},"userdirprotect":{"description":"The domain's [Apache `mod_userdir` Tweak](https://go.cpanel.net/whmdocsApachemod_userdirTweak)\nsetting.\n\n* `1` — Enabled.\n* `0` — Disabled.","enum":[1,0],"type":"integer"},"serveralias":{"description":"A space-separated list of the domain's aliases.","type":"string","format":"domain"},"usecanonicalname":{"type":"string","description":"The domain's Canonical Name (CNAME) setting.\n\n* `On` — Use the domain's CNAME.\n* `Off` — Do **not** use the domain's CNAME.","enum":["On","Off"]},"servername":{"description":"The domain's identifier on the server.","type":"string","format":"domain"},"all_aliases_valid":{"type":"integer","enum":[1,0],"description":"Whether a valid SSL certificate exists on the domain's aliases.\n\n* `1` — A valid SSL certificate exists.\n* `0` — A valid SSL certificate does **not** exist.\n\n**Note:**\n\nThis return **only** appears if you set the `return_https_redirects_status` parameter to `1`."},"no_cache_update":{"description":"Whether the domain is subject to cache updates.\n\n* `1` — The domain updates caches.\n* `0` — The domain does **not** update caches.","enum":[1,0],"type":"integer"},"documentroot":{"format":"path","type":"string","description":"The absolute path to the domain's document root."},"serveradmin":{"format":"email","type":"string","description":"The domain's administrator's contact email address."},"user":{"type":"string","format":"username","description":"The cPanel account's username."},"owner":{"description":"The WHM account (`root` or a reseller) that owns the cPanel account.","type":"string"},"ipv6":{"description":"The domain's IPv6 address.\n\n* null — The account does **not** use IPv6.","format":"ipv6","type":"string","nullable":true},"group":{"description":"The domain's group.","type":"string"},"is_temporary":{"enum":[1,0],"description":"Whether the domain is a temporary domain.\n* `1` — The domain is temporary.\n* `0` — The domain is not temporary.","type":"integer"},"homedir":{"type":"string","format":"path","description":"The absolute path to the cPanel account's home directory."}}},"MainDomainContents":{"properties":{"usecanonicalname":{"type":"string","description":"The domain's Canonical Name (CNAME) setting.\n\n* `On` — Use the domain's CNAME.\n* `Off` — Do **not** use the domain's CNAME.","enum":["On","Off"]},"serveralias":{"description":"A space-separated list of the domain's aliases.","type":"string","format":"domain"},"hascgi":{"description":"Whether CGI is enabled for the domain.\n\n* `1` — Enabled.\n* `0` — Disabled.","enum":[1,0],"type":"integer"},"ip":{"description":"The domain's IPv4 address.","type":"string","format":"ipv4"},"group":{"description":"The domain's group.","type":"string"},"homedir":{"description":"The absolute path to the cPanel account's home directory.","format":"path","type":"string"},"customlog":{"description":"The domain's [Apache log](http://httpd.apache.org/docs/2.2/mod/mod_log_config.html)\ninformation.","properties":{"target":{"description":"The absolute path to the domain's log file in the `domlogs` directory.","type":"string"},"format":{"description":"The [log file](https://httpd.apache.org/docs/2.2/mod/mod_log_config.html#logformat)'s\nformat.","type":"string"}},"type":"object"},"owner":{"description":"The WHM account (`root` or a reseller) that owns the cPanel account.","type":"string"},"documentroot":{"format":"path","type":"string","description":"The absolute path to the domain's document root."},"serveradmin":{"description":"The domain's administrator's contact email address.","format":"email","type":"string"},"servername":{"format":"domain","type":"string","description":"The domain's identifier on the server."},"domain":{"description":"The domain's name.","format":"domain","type":"string"},"userdirprotect":{"type":"integer","enum":[1,0],"description":"The domain's [Apache `mod_userdir` Tweak](https://go.cpanel.net/whmdocsApachemod_userdirTweak)\nsetting.\n\n* `1` — Enabled.\n* `0` — Disabled."},"ifmodulemodsuphpc":{"type":"object","properties":{"group":{"type":"string","description":"If suPHP is enabled, PHP scripts run as this group."}},"description":"Information about PHP scripts and suPHP."},"type":{"type":"string","enum":["main_domain"],"description":"The domain is the cPanel account's main domain.\n\n* `main_domain` is the only possible value."},"can_https_redirect":{"description":"Whether a valid SSL certificate exists or AutoSSL runs on the domain.\n\n* `1` — A valid SSL certificate exists or AutoSSL runs.\n* `0` — A valid SSL certificate does **not** exist and AutoSSL does **not** run.\n\n**Note:**\n\nThis return **only** appears if you set the `return_https_redirects_status` parameter to `1`.","enum":[1,0],"type":"integer"},"is_https_redirecting":{"enum":[1,0],"description":"Whether the domain redirects to `https`.\n\n* `1` — The domain redirects to `https`.\n* `0` — The domain does **not** redirect to `https`.\n\n**Note:**\n\nThis return **only** appears if you set the `return_https_redirects_status` parameter to `1`.","type":"integer"},"scriptalias":{"description":"The domain's CGI information.","type":"object","properties":{"url":{"description":"The domain's CGI directory.","format":"path","type":"string"},"path":{"type":"string","format":"path","description":"The absolute path to the domain's CGI directory."}}},"ipv6":{"format":"ipv6","type":"string","nullable":true,"description":"The domain's IPv6 address.\n\n* null — The account does **not** use IPv6."},"all_aliases_valid":{"type":"integer","description":"Whether a valid SSL certificate exists on the domain's aliases.\n\n* `1` — A valid SSL certificate exists.\n* `0` — A valid SSL certificate does **not** exist.\n\n**Note:**\n\nThis return **only** appears if you set the `return_https_redirects_status` parameter to `1`.","enum":[1,0]},"no_cache_update":{"enum":[1,0],"description":"Whether the domain is subject to cache updates.\n\n* `1` — The domain updates caches.\n* `0` — The domain does **not** update caches.","type":"integer"},"user":{"description":"The cPanel account's username.","type":"string","format":"username"}}},"ListOutput":{"anyOf":[{"$ref":"#/components/schemas/Contents"},{"$ref":"#/components/schemas/MainDomainContents"}]},"HashOutput":{"properties":{"parked_domains":{"description":"An array of objects containing information about each parked domain.","items":{"$ref":"#/components/schemas/Contents"}},"addon_domains":{"items":{"$ref":"#/components/schemas/Contents"},"description":"An array of objects containing information about each addon domain."},"main_domain":{"items":{"$ref":"#/components/schemas/MainDomainContents"},"description":"An array of objects containing information about the main domain."},"sub_domains":{"description":"An array of objects containing information about each subdomain.","items":{"$ref":"#/components/schemas/Contents"}}},"type":"object"}}},"x-tagGroups":[{"tags":["Domain Information"],"name":"Domain Management"}],"security":[{"BasicAuth":[]}],"paths":{"/DomainInfo/domains_data":{"get":{"description":"This function lists user data for the cPanel account's domains.\n\n**Note:**\n\nThis function retrieves data from the `/var/cpanel/userdata/user/domain` file, where `user`\nrepresents the cPanel account username and `domain` represents the domain. For this reason,\nactual output may not contain all of the returns that this document lists.","summary":"Return all domains' hosting configuration","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  DomainInfo \\\n  domains_data\n","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/DomainInfo/domains_data","label":"URL","lang":"HTTP"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DomainInfo_domains_data.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DomainInfo_domains_data.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DomainInfo/,\n    q/domains_data/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DomainInfo_domains_data.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DomainInfo_domains_data.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DomainInfo',\n    'domains_data'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 11.42","x-cpanel-api-version":"UAPI","operationId":"DomainInfo-domains_data","x-readonly":true,"tags":["DomainInfo","Domain Information"],"parameters":[{"required":false,"description":"The function's return format.\n\n* `hash` — Use a hash format. The function will return objects based on the domain type.\n* `list` — Use a list format. The function will return an array of objects, where each object is a domain.","schema":{"example":"hash","enum":["hash","list"],"default":"hash","type":"string"},"in":"query","name":"format"},{"in":"query","name":"return_https_redirects_status","schema":{"type":"integer","enum":[1,0],"default":0,"example":1},"description":"Whether to return the secure redirect status of the addon domains.\n\n* `1` — Return the status.\n* `0` — Do **not** return the status.","required":false},{"description":"Whether to hide temporary domains from the response arrays.\n\n* `1` — Hide temporary domains from `addon_domains`, `sub_domains`, and `parked_domains` arrays.\n* `0` — Return all domains, including the temporary domains.","required":false,"schema":{"example":1,"enum":[1,0],"default":0,"type":"integer"},"name":"hide_temporary_domains","in":"query"}],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"examples":{"list":{"value":{"status":1,"errors":null,"messages":null,"data":[{"documentroot":"/home/user/public_html","serveradmin":"webmaster@example.com","servername":"example.com","group":"user","homedir":"/home/user","is_temporary":"0","customlog":[{"target":"/usr/local/apache/domlogs/example.com","format":"combined"},{"target":"/usr/local/apache/domlogs/example.com-bytes_log","format":"\"%{%s}t %I .\\n%{%s}t %O .\""}],"owner":"root","hascgi":"1","ip":"192.168.0.128","usecanonicalname":"Off","serveralias":"parkeddomain.com www.parkeddomain.com www.example.com","all_aliases_valid":"0","user":"user","scriptalias":[{"url":"/cgi-bin/","path":"/home/user/public_html/cgi-bin"},{"url":"/cgi-bin/","path":"/home/user/public_html/cgi-bin/"}],"domain":"example.com","userdirprotect":"1","ifmodulemodsuphpc":{"group":"user"},"type":"main_domain","can_https_redirect":"0","is_https_redirecting":"0","options":"ExecCGI Includes","port":"80"},{"parked_with_https_redirects":["parkeddomain.com"]},{"parked_capable_of_https_redirects":["zippy.nugs.test"]},{"serveralias":"seconddomain.com www.seconddomain.com www.seconddomain.example.com","usecanonicalname":"Off","is_https_redirecting":"0","type":"addon_domain","can_https_redirect":"0","userdirprotect":"","ip":"192.168.0.128","hascgi":"1","domain":"seconddomain.com","ipv6":null,"owner":"root","is_temporary":"0","homedir":"/home/user","group":"user","servername":"seconddomain.example.com","user":"user","serveradmin":"webmaster@seconddomain.example.com","documentroot":"/home/user/public_html/seconddomain.com","all_aliases_valid":"0","no_cache_update":"0"},{"servername":"subdomain.example.com","serveradmin":"webmaster@subdomain.example.com","user":"user","all_aliases_valid":"0","no_cache_update":"0","documentroot":"/home/user/public_html/subdomain","ipv6":null,"owner":"root","homedir":"/home/user","is_temporary":"0","group":"user","is_https_redirecting":"0","can_https_redirect":"0","type":"addon_domain","userdirprotect":"","domain":"exampledomain.com","hascgi":"1","ip":"192.168.0.128","serveralias":"exampledomain.com www.exampledomain.com www.subdomain.example.com","usecanonicalname":"Off"},{"is_temporary":"0","homedir":"/home/user","group":"user","ipv6":null,"owner":"root","user":"user","serveradmin":"webmaster@subdomain.example.com","documentroot":"/home/user/addondomain/home/dir","all_aliases_valid":"0","no_cache_update":"0","servername":"subdomain.example.com","usecanonicalname":"Off","serveralias":"addondomain.com www.addondomain.com www.subdomain.example.com","userdirprotect":"","ip":"192.168.0.128","hascgi":"1","domain":"addondomain.com","is_https_redirecting":"0","type":"addon_domain","can_https_redirect":"0"},{"domain":"sub.example.com","hascgi":"1","ip":"192.168.0.128","userdirprotect":"","type":"sub_domain","can_https_redirect":"0","is_https_redirecting":"0","usecanonicalname":"Off","serveralias":"www.sub.example.com","all_aliases_valid":"0","no_cache_update":"0","documentroot":"/home/user/public_html/sub","serveradmin":"webmaster@sub.example.com","user":"user","servername":"sub.example.com","group":"user","homedir":"/home/user","is_temporary":"0","owner":"root","ipv6":null}],"metadata":{"transformed":1}},"summary":"Output in list return format."},"hash":{"summary":"Output in hash return format.","value":{"data":{"addon_domains":[{"type":"addon_domain","can_https_redirect":"0","is_https_redirecting":"0","ip":"192.168.0.128","hascgi":"1","domain":"seconddomain.com","userdirprotect":"","serveralias":"seconddomain.com www.seconddomain.com www.seconddomain.example.com","usecanonicalname":"Off","servername":"seconddomain.example.com","documentroot":"/home/user/public_html/seconddomain.com","all_aliases_valid":"0","no_cache_update":"0","user":"user","serveradmin":"webmaster@seconddomain.example.com","owner":"root","ipv6":null,"group":"user","is_temporary":"0","homedir":"/home/user"},{"can_https_redirect":"0","type":"addon_domain","is_https_redirecting":"0","hascgi":"1","ip":"192.168.0.128","domain":"exampledomain.com","userdirprotect":"","serveralias":"exampledomain.com www.exampledomain.com www.subdomain.example.com","usecanonicalname":"Off","servername":"subdomain.example.com","documentroot":"/home/user/public_html/subdomain","all_aliases_valid":"0","no_cache_update":"0","user":"user","serveradmin":"webmaster@subdomain.example.com","owner":"root","ipv6":null,"group":"user","homedir":"/home/user","is_temporary":"0"},{"parked_domains":["parkeddomain.com"],"ipv6":null,"no_cache_update":"0","all_aliases_valid":"0","user":"user","can_https_redirect":"0","type":"addon_domain","is_https_redirecting":"0","sub_domains":[{"documentroot":"/home/user/public_html/sub","all_aliases_valid":"0","no_cache_update":"0","user":"user","serveradmin":"webmaster@sub.example.com","servername":"sub.example.com","group":"user","is_temporary":"0","homedir":"/home/user","owner":"root","ipv6":null,"ip":"192.168.0.128","hascgi":"1","domain":"sub.example.com","userdirprotect":"","type":"sub_domain","can_https_redirect":"0","is_https_redirecting":"0","usecanonicalname":"Off","serveralias":"www.sub.example.com"}],"domain":"addondomain.com","userdirprotect":"","owner":"root","group":"user","homedir":"/home/user","is_temporary":"0","parked_capable_of_https_redirects":["parkeddomain.com"],"parked_with_https_redirects":["parkeddomain.com"],"servername":"subdomain.example.com","documentroot":"/home/user/addondomain/home/dir","serveradmin":"webmaster@subdomain.example.com","serveralias":"addondomain.com www.addondomain.com www.subdomain.example.com","main_domain":{"servername":"example.com","serveradmin":"webmaster@example.com","documentroot":"/home/user/public_html","owner":"root","customlog":[{"format":"combined","target":"/usr/local/apache/domlogs/example.com"},{"target":"/usr/local/apache/domlogs/example.com-bytes_log","format":"\"%{%s}t %I .\\n%{%s}t %O .\""}],"homedir":"/home/user","group":"user","ip":"192.168.0.128","hascgi":"1","serveralias":"parkeddomain.com www.parkeddomain.com www.example.com","usecanonicalname":"Off","user":"user","all_aliases_valid":"0","scriptalias":[{"path":"/home/user/public_html/cgi-bin","url":"/cgi-bin/"},{"url":"/cgi-bin/","path":"/home/user/public_html/cgi-bin/"}],"options":"ExecCGI Includes","is_https_redirecting":"0","type":"main_domain","can_https_redirect":"0","userdirprotect":"","ifmodulemodsuphpc":{"group":"user"},"domain":"example.com","port":"80"},"usecanonicalname":"Off","ip":"192.168.0.128","hascgi":"1"}]},"metadata":null,"errors":null,"messages":null,"status":1}}},"schema":{"type":"object","properties":{"func":{"example":"domains_data","description":"The name of the method called.","type":"string"},"module":{"type":"string","description":"The name of the module called.","example":"DomainInfo"},"result":{"type":"object","properties":{"status":{"type":"integer","example":1,"enum":[1,0],"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details."},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"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"}]},"metadata":{"properties":{}},"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null},"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null}}},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}}}}}}}}}}},"list_domains":{"paths":{"/DomainInfo/list_domains":{"get":{"operationId":"DomainInfo-list_domains","x-readonly":true,"tags":["DomainInfo","Domain Information"],"parameters":[{"schema":{"default":0,"example":1,"enum":[1,0],"type":"integer"},"description":"Whether to hide temporary domains from the response arrays.\n\n* `1` — Hide temporary domains from the `addon_domains`, `sub_domains`, and `parked_domains` arrays, and from the `main_domain` field.\n* `0` — Return all domains, including the temporary domains.","required":false,"name":"hide_temporary_domains","in":"query"}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"result":{"properties":{"status":{"type":"integer","enum":[0,1],"example":1,"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details."},"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null},"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null},"metadata":{"properties":{}},"warnings":{"type":"array","nullable":true,"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"},"example":null},"data":{"type":"object","properties":{"main_domain":{"format":"domain","type":"string","nullable":true,"description":"The cPanel account's main domain.","example":"example.com"},"addon_domains":{"items":{"example":"addondomain.com","type":"string","format":"domain"},"description":"An array of string values that lists the addon domains on the cPanel account.","type":"array"},"is_temporary":{"type":"object","additionalProperties":{"enum":[0,1],"description":"* `1` — The domain is temporary.\n* `0` — The domain is not temporary.","type":"integer"},"description":"Whether the domain is a temporary domain."},"sub_domains":{"items":{"format":"domain","type":"string","example":"subdomain.example.com"},"description":"An array of string values that lists the subdomains on the cPanel account.","type":"array"},"parked_domains":{"type":"array","description":"An array of string values that lists the parked domains on the cPanel account.","items":{"type":"string","format":"domain","example":"parkeddomain.com"}}}}},"type":"object"},"module":{"description":"The name of the module called.","example":"DomainInfo","type":"string"},"func":{"type":"string","example":"list_domains","description":"The name of the method called."},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}},"type":"object"}}},"description":"HTTP Request was successful."}},"x-cpanel-api-version":"UAPI","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  DomainInfo \\\n  list_domains\n","lang":"Shell","label":"CLI"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/DomainInfo/list_domains"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DomainInfo_list_domains.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DomainInfo_list_domains.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DomainInfo/,\n    q/list_domains/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DomainInfo_list_domains.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DomainInfo_list_domains.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DomainInfo',\n    'list_domains'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"summary":"Return cPanel account's domains","x-cpanel-available-version":"cPanel 11.42","description":"This function lists the cPanel account's domains.\n\n**Note:**\n\nFor this function to succeed, the `/var/cpanel/userdata/username/main` file (where `username` represents the authenticated user) **must** possess the correct permissions. If a permissions error occurs, this function returns blank values for **all** of its returns and does **not** return an error message."}}},"x-tagGroups":[{"tags":["Domain Information"],"name":"Domain Management"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"openapi":"3.0.2","servers":[{"variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"tags":[{"name":"DomainInfo","description":"The DomainInfo module for UAPI."},{"description":"Domain Management / Domain Information","name":"Domain Information"}],"security":[{"BasicAuth":[]}],"info":{"termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"}},"externalDocs":{"url":"https://cpanel.net/developers/"}},"main_domain_builtin_subdomain_aliases":{"paths":{"/DomainInfo/main_domain_builtin_subdomain_aliases":{"get":{"x-readonly":true,"operationId":"DomainInfo-main_domain_builtin_subdomain_aliases","tags":["DomainInfo","Domain Information"],"parameters":[{"required":false,"description":"Whether to hide domain aliases if the main domain is a temporary domain.\n\n* `1` — Return empty array if the main domain is a temporary domain.\n* `0` — Show aliases regardless of domain type.","schema":{"type":"integer","example":1,"enum":[1,0],"default":0},"name":"hide_temporary_domains","in":"query"}],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"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.","items":{"type":"string"},"example":["mail","www"],"type":"array"},"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"},"example":null,"type":"array","nullable":true},"metadata":{"properties":{"transformed":{"type":"integer","example":1,"enum":[1],"description":"Post-processing may have transformed the data."}}},"errors":{"example":null,"items":{"type":"string"},"description":"List of errors if the API failed.","nullable":true,"type":"array"},"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."},"status":{"type":"integer","example":1,"enum":[0,1],"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details."}},"type":"object"},"apiversion":{"example":3,"description":"The version of the API.","type":"integer"}}}}}}},"x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  DomainInfo \\\n  main_domain_builtin_subdomain_aliases\n","lang":"Shell","label":"CLI"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/DomainInfo/main_domain_builtin_subdomain_aliases","label":"URL","lang":"HTTP"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DomainInfo_main_domain_builtin_subdomain_aliases.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DomainInfo_main_domain_builtin_subdomain_aliases.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DomainInfo/,\n    q/main_domain_builtin_subdomain_aliases/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DomainInfo_main_domain_builtin_subdomain_aliases.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DomainInfo_main_domain_builtin_subdomain_aliases.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DomainInfo',\n    'main_domain_builtin_subdomain_aliases'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Return built-in subdomain aliases","x-cpanel-available-version":"cPanel 11.42","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.","x-cpanel-api-version":"UAPI"}}},"servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}}}],"openapi":"3.0.2","tags":[{"name":"DomainInfo","description":"The DomainInfo module for UAPI."},{"description":"Domain Management / Domain Information","name":"Domain Information"}],"x-tagGroups":[{"name":"Domain Management","tags":["Domain Information"]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"security":[{"BasicAuth":[]}],"info":{"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/"},"externalDocs":{"url":"https://cpanel.net/developers/"}},"primary_domain":{"tags":[{"name":"DomainInfo","description":"The DomainInfo module for UAPI."},{"description":"Domain Management / Domain Information","name":"Domain Information"}],"openapi":"3.0.2","servers":[{"variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"x-tagGroups":[{"name":"Domain Management","tags":["Domain Information"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"security":[{"BasicAuth":[]}],"info":{"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"},"license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/DomainInfo/primary_domain":{"get":{"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"module":{"description":"The name of the module called.","example":"DomainInfo","type":"string"},"result":{"properties":{"status":{"type":"integer","description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","enum":[0,1],"example":1},"data":{"type":"object","properties":{"primary_domain":{"example":"example.com","description":"The cPanel account's main domain.\n** Note: **\nThis return's value will be `null` if the `hide_temporary_domains` parameter is set to `1` and the main domain is a temporary domain.","nullable":true,"type":"string"}}},"warnings":{"nullable":true,"type":"array","example":null,"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.","items":{"type":"string"}},"metadata":{"properties":{"transformed":{"description":"Post-processing may have transformed the data.","enum":[1],"example":1,"type":"integer"}}},"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null},"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."}},"type":"object"},"func":{"type":"string","example":"primary_domain","description":"The name of the method called."}}}}}}},"parameters":[{"in":"query","name":"hide_temporary_domains","schema":{"type":"integer","example":1,"enum":[1,0],"default":0},"description":"Whether to hide temporary domains from the response.\n\n* `1` — Return `null` if the main domain is a temporary domain.\n* `0` — Return the main domain if it's a temporary domain.","required":false}],"tags":["DomainInfo","Domain Information"],"operationId":"DomainInfo-primary_domain","x-readonly":true,"x-cpanel-api-version":"UAPI","description":"This function returns the cPanel account's main domain.","x-cpanel-available-version":"cPanel 11.42","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  DomainInfo \\\n  primary_domain\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/DomainInfo/primary_domain","label":"URL","lang":"HTTP"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DomainInfo_primary_domain.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DomainInfo_primary_domain.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DomainInfo/,\n    q/primary_domain/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DomainInfo_primary_domain.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DomainInfo_primary_domain.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DomainInfo',\n    'primary_domain'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"summary":"Return the cPanel account's primary domain"}}}},"single_domain_data":{"paths":{"/DomainInfo/single_domain_data":{"get":{"x-cpanel-api-version":"UAPI","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.","x-cpanel-available-version":"cPanel 11.42","summary":"Return domain's hosting configuration","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"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DomainInfo_single_domain_data.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DomainInfo_single_domain_data.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DomainInfo/,\n    q/single_domain_data/,\n    {\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DomainInfo_single_domain_data.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DomainInfo_single_domain_data.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DomainInfo',\n    'single_domain_data',\n    array (\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"func":{"type":"string","example":"single_domain_data","description":"The name of the method called."},"module":{"example":"DomainInfo","description":"The name of the module called.","type":"string"},"result":{"properties":{"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."},"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.","example":null,"type":"array","nullable":true},"data":{"type":"object","properties":{"group":{"description":"The domain's group name.","example":"user","type":"string"},"homedir":{"description":"The absolute path to the account's home directory.","example":"/home/user","type":"string","format":"path"},"is_temporary":{"type":"integer","description":"Whether the domain is a temporary domain.\n* `1` — The domain is temporary.\n* `0` — The domain is not temporary.","enum":[0,1]},"owner":{"format":"username","type":"string","description":"The WHM account (root or a reseller) that owns the cPanel account.","example":"root"},"customlog":{"description":"An object containing Apache log information.","properties":{"target":{"example":"/usr/local/apache/domlogs/example.com","description":"The absolute path to the domain's log file.","type":"string","format":"path"},"domain":{"type":"string","example":"combined","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`."}},"type":"object"},"documentroot":{"type":"string","format":"path","description":"The absolute path to the domain's document root.","example":"/home/user/public_html/"},"serveradmin":{"type":"string","format":"email","example":"webmaster@example.com","description":"The domain's administrator's contact email address."},"servername":{"format":"domain","type":"string","description":"The domain's identifier on the server.","example":"example.com"},"usecanonicalname":{"description":"The domain's Canonical Name (CNAME) setting.\n* `On` - Use the CNAME.\n* `Off` - Do **not** use the CNAME.","example":"Off","enum":["On","Off"],"type":"string"},"serveralias":{"example":"parkeddomain.com www.parkeddomain.com www.example.com","description":"A space-separated list of the domain's aliases.","type":"string"},"ip":{"format":"ipv4","type":"string","example":"192.168.0.128","description":"The domain's IP address."},"hascgi":{"description":"Whether CGI is enabled for the domain.\n* `1` - Enabled.\n* `0` - Disabled.","example":1,"enum":[0,1],"type":"integer"},"scriptalias":{"description":"An object containing CGI information.","type":"object","properties":{"url":{"example":"/cgi-bin/","description":"The domain's CGI directory.","format":"url-path","type":"string"},"path":{"example":"/home/user/public_html/cgi-bin","description":"The absolute path to the domain's CGI directory.","format":"path","type":"string"}}},"all_aliases_valid":{"description":"Whether a valid SSL certificate exists on the domain's aliases.\n* `1` - A valid SSL certificate exists on the aliases.\n* `0` - A valid SSL certificate does **not** exist on the aliases.\n\n**Important:**\n\nThis return only appears if you set the `return_https_redirects_status` parameter to `1`.","enum":[0,1],"example":0,"type":"integer"},"user":{"description":"The cPanel account's username.","example":"user","type":"string","format":"username"},"phpopenbasedirprotect":{"type":"integer","enum":[0,1],"example":1,"description":"The domain's `open_basedir` setting.\n* `1` - Enabled.\n* `0` - Disabled.\n\n**Note:**\n\nIn EasyApache 4, change this directive in the *Editor Mode* section of WHM's\n[*MultiPHP INI Editor*](https://go.cpanel.net/whmdocsMultiPHPINIEditor) interface\n(*WHM >> Home >> Software >> MultiPHP INI Editor*)."},"port":{"minimum":1,"description":"Apache's port to access the domain.","example":80,"type":"integer","maximum":65335},"domain":{"example":"example.com","description":"The domain name on the cPanel account.","type":"string","format":"domain"},"userdirprotect":{"enum":[0,1],"example":1,"description":"The domain's [Apache `mod_userdir` Tweak](https://go.cpanel.net/whmdocsApachemod_userdirTweak) setting.\n* `1` - Enabled.\n* `0` - Disabled.","type":"integer"},"ifmodulemodsuphpc":{"type":"object","properties":{"group":{"type":"string","description":"If suPHP is enabled, the group that PHP scripts run as.","example":"user"}},"description":"An object containing information about PHP scripts and suPHP."},"can_https_redirect":{"description":"Whether a valid SSL certificate exists or AutoSSL runs on the domain.\n* `1` - A valid SSL certificate exists or AutoSSL runs.\n* `0` - A valid SSL certificate does **not** exist, and AutoSSL does not run.\n\n**Important:**\n\nThis return only appears if you set the `return_https_redirects_status` parameter to `1`.","enum":[0,1],"example":0,"type":"integer"},"type":{"type":"string","example":"main_domain","enum":["addon_domain","sub_domain","main_domain","parked_domain"],"description":"The domain type.\n* `addon_domain` - The domain is an addon domain.\n* `sub_domain` - The domain is a subdomain.\n* `main_domain` - The domain is the account's main domain.\n* `parked_domain` - The domain is a parked domain (domain alias)."},"options":{"example":"ExecCGI Includes","description":"The Apache `Options` directive for the domain.","type":"string"},"is_https_redirecting":{"description":"Whether the domain redirects to https.\n* `1` - Redirects.\n* `0` - Does **not** redirect.\n\n**Important:**\n\nThis return only appears if you set the `return_https_redirects_status` parameter to `1`.","enum":[0,1],"example":0,"type":"integer"}}},"status":{"type":"integer","description":"- 1 - Success.\n- 0 - Failed. Check the `errors` field for more details.","example":1,"enum":[0,1]},"errors":{"nullable":true,"type":"array","example":null,"description":"List of errors if the API failed.","items":{"type":"string"}},"metadata":{"properties":{}}},"type":"object"}}}}},"description":"HTTP Request was successful."}},"tags":["DomainInfo","Domain Information"],"parameters":[{"description":"The domain on the cPanel account.\n\n**Important:**\n\nDo **not** specify an alias (parked domain).","required":true,"schema":{"example":"example.com","format":"domain","type":"string"},"in":"query","name":"domain"},{"schema":{"type":"integer","default":0,"enum":[0,1],"example":1},"description":"Whether to return the secure redirect status of the addon domains.\n* `1` - Return status.\n* `0` - Do **not** return status.","required":false,"name":"return_https_redirect_status","in":"query"},{"required":false,"description":"Whether to hide temporary domains from the returned values.\n\n* `1` — Return an error if the requested domain is a temporary domain.\n* `0` — Return all domains, including the temporary domains.\n\n**Note:**\n\nIf you set this parameter's value to `1` and the requested domain is temporary,\nthe function will return an error similar to the following example: `Domain [example.com] is a temporary\ndomain and `hide_temporary_domains` is enabled.`","schema":{"example":1,"enum":[1,0],"default":0,"type":"integer"},"in":"query","name":"hide_temporary_domains"}],"x-readonly":true,"operationId":"DomainInfo-single_domain_data"}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"security":[{"BasicAuth":[]}],"servers":[{"variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"tags":[{"description":"The DomainInfo module for UAPI.","name":"DomainInfo"},{"description":"Domain Management / Domain Information","name":"Domain Information"}],"openapi":"3.0.2","components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"x-tagGroups":[{"tags":["Domain Information"],"name":"Domain Management"}]}},"Integration":{"fetch_url":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI"},"security":[{"BasicAuth":[]}],"x-tagGroups":[{"name":"API Development Tools","tags":["URL Parsing"]}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"tags":[{"description":"The Integration module for UAPI.","name":"Integration"},{"name":"URL Parsing","description":"API Development Tools / URL Parsing"}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute"}],"paths":{"/Integration/fetch_url":{"get":{"parameters":[{"in":"query","name":"app","required":true,"description":"The application's name.","schema":{"type":"string","example":"applicationname"}}],"x-rollback":"none","description":"This function returns the URL for an integrated application.","x-readonly":false,"operationId":"Integration-fetch_url","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"module":{"type":"string","description":"The name of the module called.","example":"Integration"},"result":{"properties":{"status":{"enum":[0,1],"example":1,"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","type":"integer"},"metadata":{"properties":{}},"data":{"type":"object","properties":{"url":{"type":"string","format":"url","description":"The publicly-available URL to which the application redirects visitors if the `redirect_url` location is unavailable.","example":"http://application.example.com/"},"redirect_url":{"description":"The publicly-available URL to which the application will redirect visitors.","example":"http://application.example.com/application","type":"string","format":"url"}}},"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"},"example":null,"type":"array","nullable":true},"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"},"errors":{"example":null,"description":"List of errors if the API failed.","items":{"type":"string"},"nullable":true,"type":"array"}},"type":"object"},"func":{"type":"string","description":"The name of the method called.","example":"fetch_url"},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}},"type":"object"}}},"description":"HTTP Request was successful."}},"tags":["Integration","URL Parsing"],"x-cpanel-api-version":"UAPI","summary":"Return integrated application URL","x-cpanel-available-version":"cPanel 54","x-codeSamples":[{"lang":"Shell","label":"CLI","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"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Integration_fetch_url.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Integration_fetch_url.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Integration/,\n    q/fetch_url/,\n    {\n        'app' => 'applicationname',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Integration_fetch_url.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Integration_fetch_url.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Integration',\n    'fetch_url',\n    array (\n        'app' => 'applicationname',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}]}}}}},"InProductSurvey":{"get_in_product_survey_url":{"paths":{"/InProductSurvey/get_in_product_survey_url":{"get":{"x-readonly":false,"operationId":"InProductSurvey-get_in_product_survey_url","parameters":[],"tags":["InProductSurvey"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"func":{"type":"string","example":"get_in_product_survey_url","description":"The name of the method called."},"result":{"type":"object","properties":{"data":{"example":{"display":"1","server_type":"cpanel","user_type":"cpanel","max_dismiss":"3","submit_event":"survey_submitted","link":"https://survey.example.tld/some/generated/link","new_user":"0"},"description":"The in-product survey banner data.","properties":{"max_dismiss":{"example":"3","description":"Maximum number of dismissals allowed before the banner is suppressed.","type":"string"},"display":{"description":"Whether to display the in-product survey banner.\n* `1` — Display the banner.\n* `0` — Do not display the banner.","enum":["1","0"],"example":"1","type":"string"},"link":{"description":"The fully resolved survey URL.","example":"https://survey.example.tld/some/generated/link","type":"string"},"submit_event":{"description":"Client-side analytics or event identifier emitted on successful survey submission.","example":"survey_submitted","type":"string"},"user_type":{"enum":["cpanel","webmail"],"example":"cpanel","description":"Type of authenticated user context.","type":"string"},"server_type":{"type":"string","example":"cpanel","description":"Product/server type identifier (e.g., cpanel, whm)."},"new_user":{"enum":["1","0"],"example":"0","description":"Whether the authenticated user is considered new.\n* `1` — New user experience.\n* `0` — Established user.","type":"string"}},"type":"object"},"warnings":{"nullable":true,"type":"array","example":null,"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.","items":{"type":"string"}},"metadata":{"properties":{}},"errors":{"example":null,"description":"List of errors if the API failed.","items":{"type":"string"},"nullable":true,"type":"array"},"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"},"status":{"type":"integer","description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","example":1,"enum":[1,0]}}},"module":{"type":"string","example":"InProductSurvey","description":"The name of the module called."},"apiversion":{"type":"integer","description":"The version of the API.","example":3}},"type":"object"}}}}},"x-rollback":"none","description":"\nThis function returns whether the in-product survey banner should display for the current user and the survey link.\n\n**Notes:**\n\n* The function selects a link template based on whether the authenticated user is a webmail user or a cPanel/Team user.\n* A `display` value of `0` means you should not render the banner UI.","summary":"Return in-product survey banner data","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n--user=username \\\nInProductSurvey \\\nget_in_product_survey_url\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/InProductSurvey/get_in_product_survey_url\n","label":"URL","lang":"HTTP"},{"source":"use strict;\nuse Cpanel::LiveAPI ();\nmy $cpanel = Cpanel::LiveAPI->new();\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\nmy $response = $cpanel->uapi(\n    q/InProductSurvey/,\n    q/get_in_product_survey_url/,\n);\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    print to_json($data);\n}\nelse {\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n$cpanel->end();\nsub to_json { require JSON; JSON->new->pretty->encode($_[0]) }\n","lang":"Perl","label":"LiveAPI Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\nheader('Content-Type: text/plain');\n$cpanel = new CPANEL();\n$response = $cpanel->uapi('InProductSurvey', 'get_in_product_survey_url');\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    print json_encode($data, JSON_PRETTY_PRINT);\n} else {\n    print json_encode($response['cpanelresult']['result']['errors'], JSON_PRETTY_PRINT);\n}\n$cpanel->end();"}],"x-cpanel-available-version":"11.32","x-cpanel-api-version":"UAPI"}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/","version":"11.97.0.9999","description":"Return in-product survey banner state and link.","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"security":[{"BasicAuth":[]}],"openapi":"3.0.2","servers":[{"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."}},"description":"A server running cPanel."}],"tags":[{"description":"The InProductSurvey module for cPanel UAPI.","name":"InProductSurvey"}],"x-tagGroups":[{"tags":["InProductSurvey"],"name":"InProductSurvey"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}}}},"SpamAssassin":{"get_symbolic_test_names":{"paths":{"/SpamAssassin/get_symbolic_test_names":{"get":{"x-cpanel-api-version":"UAPI","description":"This function lists the Apache SpamAssassin™ scores for each symbolic test.","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  SpamAssassin \\\n  get_symbolic_test_names\n","label":"CLI","lang":"Shell"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/SpamAssassin/get_symbolic_test_names"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\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/<theme_name>/\n#    to .../frontend/<theme_name>/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}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\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/<theme_name>/\n//    to .../frontend/<theme_name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 70","summary":"Return SpamAssassin™ symbolic test scores","tags":["SpamAssassin","Spam Management"],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"messages":{},"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"errors":{},"status":{},"func":{"description":"The name of the method called.","example":"get_symbolic_test_names","type":"string"},"result":{"properties":{"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"},"example":null,"type":"array","nullable":true},"data":{"items":{"properties":{"key":{"type":"string","description":"The name of the test.","example":"ACT_NOW_ALL_CAPS"},"rule_type":{"type":"string","enum":["body_tests","full_evals","head_evals","head_tests","meta_tests","other_tests","rawbody_tests","uri_tests"],"example":"body_tests","description":"The type and section of the email that the SpamAssassin analyses.\n* `body_tests`\n* `full_evals`\n* `head_evals`\n* `head_tests`\n* `meta_tests`\n* `other_tests`\n* `rawbody_tests`\n* `uri_tests`"},"score":{"description":"The score to assign to the email if the result of the test is true.","oneOf":[{"type":"number"},{"type":"integer"}],"example":1}},"type":"object"},"type":"array"},"metadata":{"properties":{}},"errors":{"nullable":true,"type":"array","example":null,"description":"List of errors if the API failed.","items":{"type":"string"}},"messages":{"items":{"type":"string"},"description":"List of messages generated by the API.","example":null,"type":"array","nullable":true},"status":{"type":"integer","enum":[0,1],"example":1,"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details."}},"type":"object"},"module":{"description":"The name of the module called.","example":"SpamAssassin","type":"string"}},"type":"object"}}},"description":"HTTP Request was successful."}},"parameters":[],"operationId":"SpamAssassin-get_symbolic_test_names","x-readonly":true}}},"security":[{"BasicAuth":[]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"tags":["Spam Management"],"name":"Email"}],"servers":[{"url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"name":"SpamAssassin","description":"The SpamAssassin module for UAPI."},{"name":"Spam Management","description":"Email / Spam Management"}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999"}},"clear_spam_box":{"x-tagGroups":[{"name":"Email","tags":["Spam Management"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"openapi":"3.0.2","servers":[{"url":"https://{host}:{port}/execute","variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"description":"The cPanel port.","default":"2083"}},"description":"A server running cPanel."}],"tags":[{"name":"SpamAssassin","description":"The SpamAssassin module for UAPI."},{"name":"Spam Management","description":"Email / Spam Management"}],"security":[{"BasicAuth":[]}],"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/SpamAssassin/clear_spam_box":{"get":{"x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  SpamAssassin \\\n  clear_spam_box\n"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/SpamAssassin/clear_spam_box"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\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/<theme_name>/\n#    to .../frontend/<theme_name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\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/<theme_name>/\n//    to .../frontend/<theme_name>/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\nheader('Content-Type: text/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\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"summary":"Delete spam box contents","x-cpanel-available-version":"cPanel 70","x-cpanel-api-version":"UAPI","tags":["SpamAssassin","Spam Management"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"func":{"type":"string","example":"clear_spam_box","description":"The name of the method called."},"module":{"type":"string","example":"SpamAssassin","description":"The name of the module called."},"result":{"properties":{"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."},"errors":{"example":null,"items":{"type":"string"},"description":"List of errors if the API failed.","nullable":true,"type":"array"},"metadata":{"properties":{}},"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API."},"status":{"type":"integer","description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","example":1,"enum":[0,1]}}},"apiversion":{"type":"integer","description":"The version of the API.","example":3}}}}}}},"operationId":"SpamAssassin-clear_spam_box","x-readonly":false,"description":"This function clears the spam box of all its contents for all email accounts.\n\n**Important:**\n\nThis function deletes the Spam Box folder contents for every email address on the account, which includes the system user email account.","x-rollback":"none","parameters":[]}}}},"get_user_preferences":{"paths":{"/SpamAssassin/get_user_preferences":{"get":{"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"func":{"example":"get_user_preferences","description":"The name of the method called.","type":"string"},"result":{"properties":{"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null},"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null},"data":{"type":"object","properties":{"required_score":{"items":{"example":5.1,"type":"number","format":"float"},"description":"The score to mark a message as spam. The system considers mail that matches this score to be spam.","type":"array"},"score":{"description":"The symbolic test name and score.","items":{"example":"ACT_NOW_CAPS 1","type":"string"},"type":"array"},"blacklist_from":{"type":"array","description":"The email addresses on the blacklist.","items":{"type":"string","format":"email","example":"username2@example.com"}},"whitelist_from":{"description":"The email addresses on the whitelist.","items":{"example":"username@example.com","format":"email","type":"string"},"type":"array"}}},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"metadata":{"properties":{}},"status":{"type":"integer","description":"* `1` - Success\n* `0` - Failed: Check the `errors` field for more details.","enum":[0,1],"example":1}},"type":"object"},"module":{"description":"The name of the module called.","example":"SpamAssassin","type":"string"}}}}}}},"tags":["SpamAssassin","Spam Management"],"parameters":[],"operationId":"SpamAssassin-get_user_preferences","x-readonly":true,"x-cpanel-api-version":"UAPI","x-cpanel-available-version":"cPanel 70","summary":"Return SpamAssassin™ settings","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  SpamAssassin \\\n  get_user_preferences\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/SpamAssassin/get_user_preferences","label":"URL","lang":"HTTP"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\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/<theme_name>/\n#    to .../frontend/<theme_name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\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/<theme_name>/\n//    to .../frontend/<theme_name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"description":"This function lists the Apache SpamAssassin™ settings for the account.\n\n**Note:**\n\nAdditional 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."}}},"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"x-tagGroups":[{"name":"Email","tags":["Spam Management"]}],"openapi":"3.0.2","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":[{"name":"SpamAssassin","description":"The SpamAssassin module for UAPI."},{"name":"Spam Management","description":"Email / Spam Management"}],"security":[{"BasicAuth":[]}],"info":{"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"},"termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."},"externalDocs":{"url":"https://cpanel.net/developers/"}},"update_user_preference":{"paths":{"/SpamAssassin/update_user_preference":{"get":{"x-readonly":false,"operationId":"SpamAssassin-update_user_preference","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"module":{"type":"string","example":"SpamAssassin","description":"The name of the module called."},"result":{"type":"object","properties":{"metadata":{"properties":{}},"warnings":{"type":"array","nullable":true,"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.","items":{"type":"string"},"example":null},"data":{"properties":{"required_score":{"type":"array","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,"type":"number","format":"float"}},"score":{"description":"An array of the symbolic test names and their scores.","items":{"example":"ACT_NOW_CAPS 5","type":"string"},"type":"array"},"blacklist_from":{"description":"An array of email addresses on the blacklist.","items":{"format":"email","type":"string","example":"username2@example.com"},"type":"array"},"whitelist_from":{"type":"array","items":{"example":"username@example.com","format":"email","type":"string"},"description":"An array of the email addresses on the whitelist."},"additionalProperties":{"description":"An array containing custom SpamAssassin variable values.\n\n**Note:**\n\nThe array's name is the custom SpamAssassin variable's name.","items":{"example":"mycustomscore","type":"string"}}},"type":"object","example":{"required_score":[5],"score":["ACT_NOW_CAPS 5"],"ok_locales":["all"],"whitelist_from":["username@example.com"],"blacklist_from":["username2@example.com"]}},"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."},"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"status":{"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","example":1,"enum":[0,1],"type":"integer"}}},"func":{"example":"update_user_preference","description":"The name of the method called.","type":"string"}},"type":"object"}}}}},"parameters":[{"in":"query","name":"preference","schema":{"type":"string"},"example":"score","description":"The variable that you want to manipulate.\n\n* `score`\n* `required_score`\n* `whitelist_from`\n* `blacklist_from`\n* A [custom SpamAssassin variable](https://spamassassin.apache.org/full/3.1.x/doc/Mail_SpamAssassin_Conf.html#user_preferences).\n\n**Important:**\n\n* You can **only** choose one of these possible values per call.\n* 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.","required":true},{"in":"query","name":"value","schema":{"type":"string","example":"ACT_NOW_CAPS 5.0"},"examples":{"single":{"value":"ACT_NOW_CAPS 5.0","summary":"Define a single variable value."},"multiple":{"value":"value-0=ACT_NOW_CAPS 5.0 value-1=INVALID_DATE 3.2","summary":"Define multiple variable values."}},"required":false,"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."}],"tags":["SpamAssassin","Spam Management"],"x-rollback":"none","summary":"Update SpamAssassin™ settings","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  SpamAssassin \\\n  update_user_preference \\\n  preference='score'\n","lang":"Shell","label":"CLI"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/SpamAssassin/update_user_preference?preference=score","label":"URL","lang":"HTTP"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\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/<theme_name>/\n#    to .../frontend/<theme_name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\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/<theme_name>/\n//    to .../frontend/<theme_name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-available-version":"cPanel 70","description":"This function sets the Apache SpamAssassin™ settings for the account.\n\n**Note:**\n\nAdditional customizations may appear in the function's return. For more information,\nread the [Apache SpamAssassin configuration file documentation](https://spamassassin.apache.org/full/3.1.x/doc/Mail_SpamAssassin_Conf.html#user_preferences).","x-cpanel-api-version":"UAPI"}}},"info":{"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/"},"externalDocs":{"url":"https://cpanel.net/developers/"},"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"x-tagGroups":[{"name":"Email","tags":["Spam Management"]}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute"}],"tags":[{"name":"SpamAssassin","description":"The SpamAssassin module for UAPI."},{"description":"Email / Spam Management","name":"Spam Management"}],"security":[{"BasicAuth":[]}]}},"CacheBuster":{"update":{"security":[{"BasicAuth":[]}],"openapi":"3.0.2","tags":[{"description":"The CacheBuster module for UAPI.","name":"CacheBuster"},{"name":"Browser Cache Management","description":"cPanel Theme Management / Browser Cache Management"}],"servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"description":"A server running cPanel."}],"x-tagGroups":[{"name":"cPanel Theme Management","tags":["Browser Cache Management"]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI"},"paths":{"/CacheBuster/update":{"get":{"tags":["CacheBuster","Browser Cache Management"],"parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"module":{"type":"string","description":"The name of the module called.","example":"CacheBuster"},"result":{"type":"object","properties":{"data":{"properties":{"cache_id":{"example":11381138,"description":"random integer that the system uses to work with and around a browser's caching mechanism. An eight-digit integer.","type":"integer"}},"type":"object"},"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API."},"metadata":{"properties":{}},"errors":{"nullable":true,"type":"array","example":null,"description":"List of errors if the API failed.","items":{"type":"string"}},"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"},"status":{"type":"integer","example":1,"enum":[0,1],"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details."}}},"func":{"type":"string","description":"The name of the method called.","example":"update"},"apiversion":{"type":"integer","example":3,"description":"The version of the API."}},"type":"object"}}},"description":"HTTP Request was successful."}},"operationId":"CacheBuster-update","x-readonly":false,"description":"This function generates a random integer (the CacheBuster ID). Use this ID to work with and around a browser's caching mechanism.","summary":"Create web browser cached file override ID","x-cpanel-available-version":"cPanel 11.46","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  CacheBuster \\\n  update\n","lang":"Shell","label":"CLI"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/CacheBuster/update","lang":"HTTP","label":"URL"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file CacheBuster_update.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/CacheBuster_update.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/CacheBuster/,\n    q/update/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file CacheBuster_update.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/CacheBuster_update.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'CacheBuster',\n    'update'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"x-cpanel-api-version":"UAPI","x-rollback":"none"}}}},"read":{"paths":{"/CacheBuster/read":{"get":{"x-cpanel-api-version":"UAPI","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  CacheBuster \\\n  read\n"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/CacheBuster/read"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file CacheBuster_read.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/CacheBuster_read.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/CacheBuster/,\n    q/read/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file CacheBuster_read.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/CacheBuster_read.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'CacheBuster',\n    'read'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"summary":"Return web browser cached file override ID","x-cpanel-available-version":"cPanel 11.46","description":"This function returns the current `CacheBuster` id. The system uses this ID to force the browser to fetch a new resource when that resource already exists in the web browser cache. This is useful when an application has updated the resource on the server. You should append this ID to the end of the url in the query-string. For example, if you are accessing a url like:\n\n`https://example.com/styled/basic/sprites/icon_spritemap.css`\n\n To force the browser to fetch the updated version, you would append the following:\n\n `https://example.com/styled/basic/sprites/icon_spritemap.css?<CacheBusterID>`\n\n **Note**\n\n The application that updates the resource at this url on the server **must** call the `CacheBuster::update` function when it updates the resource to signify that update.","x-readonly":true,"operationId":"CacheBuster-read","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"module":{"example":"CacheBuster","description":"The name of the module called.","type":"string"},"result":{"properties":{"status":{"example":1,"enum":[0,1],"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","type":"integer"},"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null},"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null},"metadata":{"properties":{}},"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API."},"data":{"type":"object","properties":{"cache_id":{"maximum":99999999,"type":"integer","example":11381138,"description":"An eight-digit random integer that the system uses to work around a browser's caching mechanism.","minimum":10000000}}}},"type":"object"},"func":{"type":"string","description":"The name of the method called.","example":"read"}}}}},"description":"HTTP Request was successful."}},"tags":["CacheBuster","Browser Cache Management"]}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"},"license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999"},"security":[{"BasicAuth":[]}],"x-tagGroups":[{"name":"cPanel Theme Management","tags":["Browser Cache Management"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"servers":[{"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."}},"description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"description":"The CacheBuster module for UAPI.","name":"CacheBuster"},{"description":"cPanel Theme Management / Browser Cache Management","name":"Browser Cache Management"}]}},"EmailAuth":{"fetch_dkim_private_keys":{"paths":{"/EmailAuth/fetch_dkim_private_keys":{"get":{"operationId":"EmailAuth-fetch_dkim_private_keys","x-readonly":false,"parameters":[{"schema":{"format":"domain","type":"string"},"examples":{"single":{"value":"example.com","summary":"A single domain."},"multiple":{"summary":"Multiple domains.","value":"domain=example.com&domain=example2.com&domain=example3.com"}},"required":true,"description":"The domain for which to retrieve the installed DKIM private key.\n\n**Note:**\n\nTo retrieve multiple domain DKIM keys, duplicate the parameter name. For example, use the `domain=example.com`, `domain=example2.com`, and `domain=example3.com` parameters.","in":"query","name":"domain"}],"tags":["EmailAuth","Email DNS Settings"],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"module":{"description":"The name of the module called.","example":"EmailAuth","type":"string"},"result":{"type":"object","properties":{"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null},"warnings":{"type":"array","nullable":true,"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"},"example":null},"data":{"type":"array","items":{"type":"object","properties":{"pem":{"type":"string","format":"pem-private-key","description":"The domain's DKIM private key, in PEM format.","example":"-----BEGIN RSA PRIVATE KEY-----\nMIICLDCCAdKgAwIBAgIBADAKBggqhkjOPQQDAjB9MQswCQYDVQQGEwJCRTEPMA0G\nA1UEChMGR251VExTMSUwIwYDVQQLExxHbnVUTFMgY2VydGlmaWNhdGUgYXV0aG9y\naXR5MQ8wDQYDVQQIEwZMZXV2ZW4xJTAjBgNVBAMTHEdudVRMUyBjZXJ0aWZpY2F0\nZSBhdXRob3JpdHkwHhcNMTEwNTIzMjAzODIxWhcNMTIxMjIyMDc0MTUxWjB9MQsw\nCQYDVQQGEwJCRTEPMA0GA1UEChMGR251VExTMSUwIwYDVQQLExxHbnVUTFMgY2Vy\ndGlmaWNhdGUgYXV0aG9yaXR5MQ8wDQYDVQQIEwZMZXV2ZW4xJTAjBgNVBAMTHEdu\ndVRMUyBjZXJ0aWZpY2F0ZSBhdXRob3JpdHkwWTATBgcqhkjOPQIBBggqhkjOPQMB\nBwNCAARS2I0jiuNn14Y2sSALCX3IybqiIJUvxUpj+oNfzngvj/Niyv2394BWnW4X\nuQ4RTEiywK87WRcWMGgJB5kX/t2no0MwQTAPBgNVHRMBAf8EBTADAQH/MA8GA1Ud\nDwEB/wQFAwMHBgAwHQYDVR0OBBYEFPC0gf6YEr+1KLlkQAPLzB9mTigDMAoGCCqG\nSM49BAMCA0gAMEUCIDGuwD1KPyG+hRf88MeyMQcqOFZD0TbVleF+UsAGQ4enAiEA\nl4wOuDwKQa+upc8GftXE2C//4mKANBC6It01gUaTIpo==\n-----END RSA PRIVATE KEY-----\n"},"domain":{"type":"string","format":"domain","description":"The queried domain.","example":"example.com"}}},"description":"An array of objects that contains information about the domain's DKIM private key."},"metadata":{"properties":{}},"status":{"type":"integer","enum":[0,1],"example":1,"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details."}}},"func":{"example":"fetch_dkim_private_keys","description":"The name of the method called.","type":"string"},"apiversion":{"type":"integer","example":3,"description":"The version of the API."}},"type":"object"}}},"description":"HTTP Request was successful."}},"x-rollback":"none","x-cpanel-api-version":"UAPI","x-cpanel-available-version":"cPanel 78","summary":"Return domains' DKIM private keys","x-codeSamples":[{"lang":"Shell","label":"CLI","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"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file EmailAuth_fetch_dkim_private_keys.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/EmailAuth_fetch_dkim_private_keys.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/EmailAuth/,\n    q/fetch_dkim_private_keys/,\n    {\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file EmailAuth_fetch_dkim_private_keys.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/EmailAuth_fetch_dkim_private_keys.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'EmailAuth',\n    'fetch_dkim_private_keys',\n    array (\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"description":"This function returns a domain's installed DKIM private key in [Privacy-Enhanced Mail (PEM)](https://en.wikipedia.org/wiki/Privacy-Enhanced_Mail) format.\n\n**Warning:**\n\nWe **strongly** recommend that you protect your private key. If others obtain your private DKIM key, they could sign emails and impersonate you as a sender."}}},"info":{"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/","contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"x-tagGroups":[{"name":"DNS","tags":["Email DNS Settings"]}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute"}],"tags":[{"description":"The EmailAuth module for UAPI.","name":"EmailAuth"},{"name":"Email DNS Settings","description":"DNS / Email DNS Settings"}],"security":[{"BasicAuth":[]}]},"validate_current_dmarcs":{"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"name":"DNS","tags":["Email DNS Settings"]}],"tags":[{"description":"The EmailAuth module for UAPI.","name":"EmailAuth"},{"name":"Email DNS Settings","description":"DNS / Email DNS Settings"}],"servers":[{"description":"A server running cPanel.","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel."}},"url":"https://{host}:{port}/execute"}],"openapi":"3.0.2","security":[{"BasicAuth":[]}],"info":{"termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"version":"11.123.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/EmailAuth/validate_current_dmarcs":{"get":{"x-readonly":true,"operationId":"EmailAuth-validate_current_dmarcs","parameters":[{"description":"The domain for which to check the DMARC record.\n\n**Note:**\n\nIf you do not include this argument, the system will validate DMARC records for all domains owned by the user.","required":false,"examples":{"single":{"value":"domain=example.com","summary":"Check DMARC records for a single domain."},"multiple":{"summary":"Check DMARC records for multiple domains.","value":"domain=example.com,domain=another.com,domain=yetanother.com"}},"schema":{"format":"domain","type":"string"},"name":"domain","in":"query"}],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"type":"integer","description":"The version of the API.","example":3},"func":{"type":"string","example":"validate_current_dmarcs","description":"The name of the method called."},"result":{"properties":{"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null},"errors":{"example":null,"description":"List of errors if the API failed.","items":{"type":"string"},"nullable":true,"type":"array"},"metadata":{"properties":{}},"data":{"type":"array","items":{"properties":{"subdomain":{"type":"string","format":"domain","example":"_dmarc.example.com","description":"The domain that the function used to check\nthe DMARC record. This will be the value of\nthe `domain` parameter with a `_dmarc` prefix."},"state":{"type":"string","description":"The domain's DMARC record status.\nPossible values:\n\n* `VALID` - A DMARC policy is set for the domain, along with valid SPF and DKIM records for the domain and IP address.\n* `MALFORMED` - A DMARC record is set, but it did not pass a syntax check.\n* `DKIM_SPF_ERROR` - A DMARC record exists; however, both the DKIM and SPF records for this domain did not pass validation.\n* `DKIM_ERROR` - A DMARC record exists; however, the DKIM record for this domain did not pass validation.\n* `SPF_ERROR` - A DMARC record exists; however, the SPF record for this domain did not pass validation.\n* `MISSING` - No DMARC record exists for the domain at the DMARC subdomain location.\n* `DNS_ERROR` - A DNS error prevented validation of the DMARC record.","example":"VALID","enum":["VALID","MALFORMED","DKIM_SPF_ERROR","DKIM_ERROR","SPF_ERROR","MISSING","DNS_ERROR"]},"error":{"example":"(XID 4krw35) DNS returned SERVFAIL (code 2)\nin response to the system's query for _dmarc.example.com\nTXT records.","description":"A message that details either why the DNS lookup failed, or if there is a SPF/DKIM failure.\n\n**Note:**\n\nThis will be set to `MALFORMED` if there is a syntax issue with this domain's SPF and DKIM records.","type":"string"},"domain":{"example":"example.com","description":"The target domain of the DMARC policy.","type":"string","format":"domain"},"record":{"type":"string","example":"v=DMARC1; p=none;","description":"The domain's DMARC TXT record."},"suggested":{"description":"The recommended DMARC policy.","example":"v=DMARC1; p=none;","type":"string"}},"type":"object"},"description":"An array that contains information about the\ndomain's DMARC records. "},"warnings":{"type":"array","nullable":true,"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.","items":{"type":"string"},"example":null},"status":{"enum":[0,1],"example":1,"description":"- `1` - Success.\n- `0` - Failed. Check the `errors` field for more details.","type":"integer"}},"type":"object"},"module":{"description":"The name of the module called.","example":"EmailAuth","type":"string"}}}}}}},"tags":["EmailAuth","Email DNS Settings"],"x-cpanel-api-version":"UAPI","description":"This function checks the validity of the current DMARC record for one or more domains.","summary":"Validate domains' DMARC records","x-cpanel-available-version":"cPanel 124","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  EmailAuth \\\n  validate_current_dmarcs \\\n  domain='example.com'\n","lang":"Shell","label":"CLI"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/EmailAuth/validate_current_dmarcs?domain=example.com"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file EmailAuth_validate_current_dmarcs.live.pl and put this code into that file.\n# 5) In your browser log in to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/EmailAuth_validate_current_dmarcs.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/EmailAuth/,\n    q/validate_current_dmarcs/,\n    {\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file EmailAuth_validate_current_dmarcs.live.php and put this code into that file.\n// 5) In your browser log in to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/EmailAuth_validate_current_dmarcs.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'EmailAuth',\n    'validate_current_dmarcs',\n    array (\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}]}}}},"disable_dkim":{"paths":{"/EmailAuth/disable_dkim":{"get":{"parameters":[{"name":"domain","in":"query","schema":{"type":"string"},"required":true,"description":"The domain for which to remove DKIM records on the DNS server.\n\n**Note:**\n\nTo remove multiple domain DKIM records, duplicate the parameter name. For example, use the `domain=example.com`, `domain=example2.com`, and `domain=example3.com` parameters.","examples":{"single":{"value":"example.com","summary":"A single domain."},"multiple":{"value":"domain=example.com&domain=example2.com&domain=example.com","summary":"Multiple domains."}}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"apiversion":{"type":"integer","description":"The version of the API.","example":3},"func":{"type":"string","description":"The name of the method called.","example":"disable_dkim"},"module":{"type":"string","description":"The name of the module called.","example":"EmailAuth"},"result":{"type":"object","properties":{"messages":{"example":null,"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"},"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"metadata":{"properties":{}},"warnings":{"type":"array","nullable":true,"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"},"example":null},"data":{"items":{"type":"object","properties":{"status":{"type":"integer","description":"Whether the system removed the domain's DKIM record on the DNS server.\n* `1` - The system removed the domain's DKIM record.\n* `0` - The system did **not** remove the domain's DKIM record.","example":1,"enum":[0,1]},"msg":{"type":"string","description":"Information about the removed DKIM record.","example":"[REMOVE:TXT@default._domainkey:v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiLMNOpQDw5nw4NP1RsWXlfmiMzByDfOT16QCZO/xJtrPZKskZF8/sU0zWGTqKUOErlyJfoJzMDUv3/zzjGswc2nEmYqxxoQZaBkN4QaS6MvJQxysAr+sK8C248/r9zMperQdhJedUVejtpFQHJwgqpHy1tQMxY37L7sQjdxmQ5WnQ1acXiwIDAQAB\\;]"},"domain":{"type":"string","format":"domain","description":"The domain for which the system removed the DKIM record.","example":"example.com"}}},"description":"An array of objects that contain information about the removal of a domain's DKIM record on the DNS server.","type":"array"},"status":{"type":"integer","description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","enum":[0,1],"example":1}}}},"type":"object"}}},"description":"HTTP Request was successful."}},"tags":["EmailAuth","Email DNS Settings"],"operationId":"EmailAuth-disable_dkim","x-readonly":false,"description":"This function removes the DomainKeys Identified Mail (DKIM) records on the DNS server for one or more domains.","x-cpanel-available-version":"cPanel 78","summary":"Remove domains' DKIM records","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  EmailAuth \\\n  disable_dkim \\\n  domain='example.com'\n","label":"CLI","lang":"Shell"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/EmailAuth/disable_dkim?domain=example.com"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file EmailAuth_disable_dkim.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/EmailAuth_disable_dkim.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/EmailAuth/,\n    q/disable_dkim/,\n    {\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file EmailAuth_disable_dkim.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/EmailAuth_disable_dkim.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'EmailAuth',\n    'disable_dkim',\n    array (\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"x-cpanel-api-version":"UAPI","x-rollback":"none"}}},"openapi":"3.0.2","tags":[{"name":"EmailAuth","description":"The EmailAuth module for UAPI."},{"name":"Email DNS Settings","description":"DNS / Email DNS Settings"}],"servers":[{"variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"x-tagGroups":[{"tags":["Email DNS Settings"],"name":"DNS"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"security":[{"BasicAuth":[]}],"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI"},"externalDocs":{"url":"https://cpanel.net/developers/"}},"install_spf_records":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."},"security":[{"BasicAuth":[]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"x-tagGroups":[{"name":"DNS","tags":["Email DNS Settings"]}],"servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"name":"EmailAuth","description":"The EmailAuth module for UAPI."},{"description":"DNS / Email DNS Settings","name":"Email DNS Settings"}],"paths":{"/EmailAuth/install_spf_records":{"get":{"operationId":"EmailAuth-install_spf_records","x-readonly":false,"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"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":{"example":"example.com","description":"The SPF record's associated domain on the DNS server.","type":"string","format":"domain"},"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":{"type":"integer","description":"Whether the system installed the SPF record to the DNS server.\n- `1` - The system installed the SPF record on the DNS server.\n- `0` - The system **cannot** install the SPF record on the DNS server.","example":1,"enum":[0,1]}},"type":"object"},"type":"array"},"warnings":{"nullable":true,"type":"array","example":null,"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"}},"metadata":{"properties":{}},"errors":{"example":null,"items":{"type":"string"},"description":"List of errors if the API failed.","nullable":true,"type":"array"},"messages":{"description":"List of messages generated by the API.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"status":{"description":"- 1 - Success.\n- 0 - Failed. Check the `errors`  field for more details.","example":1,"enum":[0,1],"type":"integer"}},"type":"object"},"module":{"type":"string","example":"EmailAuth","description":"The name of the module called."},"func":{"type":"string","example":"install_spf_records","description":"The name of the method called."},"apiversion":{"type":"integer","description":"The version of the API.","example":3}},"type":"object"}}},"description":"HTTP Request was successful."}},"tags":["EmailAuth","Email DNS Settings"],"parameters":[{"schema":{"type":"string"},"description":"The domain for which to install an SPF record on the DNS server.\n\n**Note:**\n\nTo install multiple SPF records, duplicate the parameter name. For example, use the `domain=example.com`, `domain=example2.com`, and `domain=example3.com` parameters.","required":true,"examples":{"single":{"summary":"A single domain.","value":"example.com"},"multiple":{"summary":"Multiple domains.","value":"domain=example.com&domain=example2.com&domain=example3.com"}},"name":"domain","in":"query"},{"schema":{"example":"\"v=spf1 ip4:10.0.0.1 %2Ba %2Bmx %2Bip4:10.0.0.2 %2Bip4:10.0.0.3 -all\"","type":"string"},"required":true,"description":"An SPF record.\n\n**Note:**\n\nYou **must** provide this parameter for each `domain` parameter.","name":"record","in":"query"}],"x-rollback":"none","x-cpanel-available-version":"cPanel 78","x-codeSamples":[{"lang":"Shell","label":"CLI","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"},{"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":"URL","lang":"HTTP"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file EmailAuth_install_spf_records.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/EmailAuth_install_spf_records.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/EmailAuth/,\n    q/install_spf_records/,\n    {\n        'domain' => 'example.com',\n        'record' => '\"v=spf1 ip4:10.0.0.1 %2Ba %2Bmx %2Bip4:10.0.0.2 %2Bip4:10.0.0.3 -all\"',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file EmailAuth_install_spf_records.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/EmailAuth_install_spf_records.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'EmailAuth',\n    'install_spf_records',\n    array (\n        'domain' => 'example.com',\n        'record' => '\"v=spf1 ip4:10.0.0.1 %2Ba %2Bmx %2Bip4:10.0.0.2 %2Bip4:10.0.0.3 -all\"',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"summary":"Add domains' SPF records","description":"This function installs a Sender Policy Framework (SPF) record for a domain on the DNS server.","x-cpanel-api-version":"UAPI"}}}},"validate_current_ptrs":{"paths":{"/EmailAuth/validate_current_ptrs":{"get":{"parameters":[{"description":"The domain for which to validate the PTR records.","required":true,"examples":{"single":{"value":"example.com","summary":"Check PTR records for a single domain."},"multiple":{"summary":"Check PTR records for a multiple domains.","value":"`domain`=example.com,`domain`=another.com,`domain`=yetanother.com\n`domain`=example.com,`domain-1`=another.com,`domain-2`=yetanother.com"}},"schema":{"type":"string","format":"domain"},"name":"domain","in":"query"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"module":{"type":"string","description":"The name of the module called.","example":"EmailAuth"},"result":{"type":"object","properties":{"status":{"type":"integer","example":1,"enum":[0,1],"description":"- `1` - Success.\n- `0` - Failed. Check the `errors` field for more details."},"metadata":{"properties":{}},"data":{"type":"array","description":"An array that contains information about the account's PTR records.","items":{"type":"object","properties":{"state":{"description":"Whether the PTR records are valid for the domain.\n* `ERROR` - The domain's IP address is invalid. The function returns the reason in the error return.\n* `IP_IS_PRIVATE` - The IP address exists within a range of private IP addresses.\n* `VALID` - The PTR record is valid.\n* `MISSING_PTR` - No PTR records exist for the IP address.\n* `PTR_MISMATCH` - One or more PTR records point to a domain that does not point back to the correct IP address.\n\n**Note:**\n\n* DNS does not define PTR records for private IP addresses.\n* The function only returns a VALID response if all of an IP address's PTR records are valid.","example":"VALID","enum":["ERROR","IP_IS_PRIVATE","VALID","MISSING_PTR","PTR_MISMATCH"],"type":"string"},"error":{"example":"1.1.1.1.1 is not a valid IP address.","description":"A mmessage that details the reason why the domain's IP address validation failed.\n\n**Note:**\n\nThe function only returns this value when the `state` returned is\nthe `ERROR` value.","type":"string"},"arpa_domain":{"example":"1.0.0.10.in-addr.arpa","description":"The IP address used to perform a reverse DNS (rDNS) lookup.\nFor more information about rDNS, read our\n[How to Configure Reverse DNS for BIND in WHM](https://go.cpanel.net/HowtoConfigureReverseDNSforBINDinWHM)\ndocumentation.\nA valid reversed IP address appended with one of the following:\n* in-addr.arpa - An IPv4 address.\n* ip6.arpa - An IPv6 address.\n\nFor information about .arpa domains, read Wikipedia's\n[Reverse DNS lookup](https://en.wikipedia.org/wiki/Reverse_DNS_lookup)\narticle.\n\n**Note:**\n\nThe function does not return this value for a domain with an invalid IP address.","type":"string"},"domain":{"format":"domain","type":"string","description":"The queried domain.","example":"example.com"},"ptr_records":{"description":"The domain's PTR records.\n\n**Note:**\n\nThe function does **not** return this for a domain with an invalid IP address.","items":{"type":"object","properties":{"domain":{"description":"The fully-qualified domain name (FQDN)\nthat a PTR record points to.","example":"example.com","format":"domain","type":"string"},"forward_records":{"type":"array","items":{"type":"string","example":"10.0.0.1"},"description":"A list of IP addresses that the domain\nresolves to for A (IPv4) and AAAA (IPv6) records."},"state":{"description":"The state of the domain's PTR record.\n* `VALID` - The PTR record is valid.\n* `MISSING_FWD` - The PTR points to a domain without an A or AAAA record.\n* `FWD_MISMATCH` - The PTR record points to a domain without an A or AAAA record that points back to the IP address.","example":"VALID","enum":["VALID","MISSING_FWD","FWD_MISMATCH"],"type":"string"}}},"type":"array"},"ip_version":{"enum":[4,6],"example":4,"description":"The IP version number.\n* 4\n* 6\n\n**Note:**\n\nThe function does **not** return this value for a domain with an invalid IP address.","type":"integer"},"ip_address":{"type":"string","example":"10.0.0.1","description":"The IP address.\n\n**Note:**\n\nThe function does **not** return this value for a domain with an invalid IP address."},"nameservers":{"type":"array","items":{"example":"ns1.example.com","format":"domain","type":"string"},"description":"The authoritative nameservers for the domain's PTR record."},"helo":{"description":"The hostname that the domain uses to identify\nitself to remote SMTP servers. A valid hostname.","example":"example.com","type":"string","format":"domain"}}}},"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"},"example":null,"type":"array","nullable":true},"messages":{"example":null,"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true}}},"func":{"example":"validate_current_ptrs","description":"The name of the method called.","type":"string"},"apiversion":{"type":"integer","example":3,"description":"The version of the API."}}}}},"description":"HTTP Request was successful."}},"tags":["EmailAuth","Email DNS Settings"],"x-readonly":true,"operationId":"EmailAuth-validate_current_ptrs","x-cpanel-api-version":"UAPI","summary":"Validate domains' PTR records","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  EmailAuth \\\n  validate_current_ptrs \\\n  domain='example.com'\n","lang":"Shell","label":"CLI"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/EmailAuth/validate_current_ptrs?domain=example.com","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file EmailAuth_validate_current_ptrs.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/EmailAuth_validate_current_ptrs.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/EmailAuth/,\n    q/validate_current_ptrs/,\n    {\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file EmailAuth_validate_current_ptrs.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/EmailAuth_validate_current_ptrs.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'EmailAuth',\n    'validate_current_ptrs',\n    array (\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 78","description":"This function validates the pointer records (PTR) for IPv4 and\nIPv6 addresses that the account's domains send mail from. It retrieves the\nPTR records for each IP address and determines which of the domain's IP addresses\nsend mail. It then validates the PTR records for each IP address and validates\nthe A or AAAA records pointing to each domain. This function also ensures\nthat at least one of that domain's A or AAAA records points back to the IP\naddress."}}},"security":[{"BasicAuth":[]}],"x-tagGroups":[{"tags":["Email DNS Settings"],"name":"DNS"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"tags":[{"name":"EmailAuth","description":"The EmailAuth module for UAPI."},{"name":"Email DNS Settings","description":"DNS / Email DNS Settings"}],"servers":[{"description":"A server running cPanel.","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute"}],"openapi":"3.0.2","externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}}},"validate_current_dkims":{"paths":{"/EmailAuth/validate_current_dkims":{"get":{"x-readonly":true,"operationId":"EmailAuth-validate_current_dkims","tags":["EmailAuth","Email DNS Settings"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"description":"The version of the API.","example":3,"type":"integer"},"func":{"type":"string","description":"The name of the method called.","example":"validate_current_dkims"},"module":{"description":"The name of the module called.","example":"EmailAuth","type":"string"},"result":{"properties":{"status":{"type":"integer","enum":[0,1],"example":1,"description":"- `1` - Success.\n- `0` - Failed. Check the `errors` field for more details."},"messages":{"items":{"type":"string"},"description":"List of messages generated by the API.","example":null,"type":"array","nullable":true},"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null},"metadata":{"properties":{}},"data":{"type":"array","description":"An array that contains information about the\ndomain's DKIM records. ","items":{"type":"object","properties":{"state":{"type":"string","description":"The domain's DKIM record status.\nPossible values:\n\n* `VALID` The DKIM record is valid.\n* `MALFORMED` A single DKIM record exists, but the record does not match the expected DKIM specifications.\n* `MISMATCH` A DKIM record exists, but it does not match the expected public key.\n* `MISSING` No DKIM record exists for the domain.\n* `MULTIPLE` Multiple DKIM records exist.\n* `NOPUB` No key exists on the local server for the domain.\n* `ERROR` The record's DNS lookup failed. The function returns the reason in the error return.","enum":["VALID","MALFORMED","MISMATCH","MISSING","MULTIPLE","NOPUB","ERROR"],"example":"VALID"},"error":{"type":"string","description":"A message that details the reason why the DNS lookup failed.\n\n**Note:**\n\nThe function only returns this value when the `state` returned\nis the `ERROR` value.","example":"(XID 4krw35) DNS returned SERVFAIL (code 2)\nin response to the systems query for default._domainkey.example2.coms\nTXT records."},"records":{"type":"array","description":"The domain's DNS DKIM TXT records.\n\n**Important:**\n\nThis function may fail to preserve whitespace in DKIM records.","items":{"type":"object","properties":{"state":{"description":"The DKIM TXT record's status:\n* `VALID` - The DKIM TXT record matches the local server's public key.\n* `MISMATCH` - The DKIM TXT record does not match the local server's public key.\n* `PERMFAIL` - Multiple DKIM TXT records for the domain exist or a misconfigured DKIM TXT record exists.","example":"VALID","enum":["VALID","MISMATCH","PERMFAIL"],"type":"string"},"current":{"type":"string","example":"v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDw5nw4NP1RsWXlfmiMzByDfOT16QCZO\\/xJtrPZKskZF8\\/sU0zWGTqKUOErlyJfoJzMDUv3\\/zzjGswc2nEmYqxxoQZaBkN4QaS6MvJQxysAr+sK8C248\\/r9zMperQdhJedUVejtpFQHJwgqpHy1tQMxY37L7sQjdxmQ5WnQ1acXiwIDAQAB","description":"The domain's DKIM TXT record data contents.\n\n**Important:**\n\n This function may fail to preserve whitespace in DKIM records."},"reason":{"description":"The reason why the DKIM TXT record is not correct, if one exists.\n\n**Note:**\n\nThis function **only** returns this value when the `state` value is `PERMFAIL`.","example":"example.com: The DKIM version must be \"DKIM1\".","type":"string"}}}},"domain":{"description":"The domain that the function used to check\nthe DKIM record. This will be the value of\nthe domain parameter with a `default._domainkey` prefix.","example":"default._domainkey.example.com","type":"string","format":"domain"},"validity_cache_update":{"type":"string","description":"The result of the DKIM record's validity cache update operation:\n* `set` The domain is invalid but passed its validity check. The validity check now passes the domain as valid.\n* `unset` The domain is invalid and did not pass its validity check. The validity check does not pass the domain as valid.\n* `valid` The domain is valid and passed its validity check. There are no changes required.\n* `invalid` The domain is invalid and failed its validity check. There are no changes required.\n* `none` The domain is invalid, but the system will not take further action.\n* `error` The domain's validity check operation failed.","example":"valid","enum":["set","unset","valid","invalid","none","error"]},"expected":{"type":"string","description":"The DKIM record's contents.","example":"v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDw5nw4NP1RsWXlfmiMzByDfOT16QCZO\\/xJtrPZKskZF8\\/sU0zWGTqKUOErlyJfoJzMDUv3\\/zzjGswc2nEmYqxxoQZaBkN4QaS6MvJQxysAr+sK8C248\\/r9zMperQdhJedUVejtpFQHJwgqpHy1tQMxY37L7sQjdxmQ5WnQ1acXiwIDAQAB"}}}},"warnings":{"example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","nullable":true,"type":"array"}},"type":"object"}},"type":"object"}}}}},"parameters":[{"in":"query","name":"domain","schema":{"type":"string","format":"domain"},"examples":{"single":{"value":"example.com","summary":"Check DKIM records for a single domain."},"multiple":{"summary":"Check DKIM records for a multiple domains.","value":"domain=example.com,domain=another.com,domain=yetanother.com\ndomain=example.com,domain-1=another.com,domain-2=yetanother.com"}},"required":true,"description":"The domain for which to check the DKIM records."}],"x-cpanel-api-version":"UAPI","description":"This function retrieves and checks the DomainKeys Identified Mail\n(DKIM) records for one or more domains.","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"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file EmailAuth_validate_current_dkims.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/EmailAuth_validate_current_dkims.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/EmailAuth/,\n    q/validate_current_dkims/,\n    {\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file EmailAuth_validate_current_dkims.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/EmailAuth_validate_current_dkims.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'EmailAuth',\n    'validate_current_dkims',\n    array (\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"summary":"Validate domains' DKIM records","x-cpanel-available-version":"cPanel 78"}}},"security":[{"BasicAuth":[]}],"openapi":"3.0.2","tags":[{"name":"EmailAuth","description":"The EmailAuth module for UAPI."},{"description":"DNS / Email DNS Settings","name":"Email DNS Settings"}],"servers":[{"variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"tags":["Email DNS Settings"],"name":"DNS"}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}}},"ensure_dkim_keys_exist":{"paths":{"/EmailAuth/ensure_dkim_keys_exist":{"get":{"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"func":{"example":"ensure_dkim_keys_exist","description":"The name of the method called.","type":"string"},"module":{"description":"The name of the module called.","example":"EmailAuth","type":"string"},"result":{"type":"object","properties":{"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"messages":{"items":{"type":"string"},"description":"List of messages generated by the API.","example":null,"type":"array","nullable":true},"data":{"type":"array","description":"An array of objects that contains information about the domain's DKIM key validity.","items":{"type":"object","properties":{"msg":{"description":"The domain's DKIM key status message.","example":"created new key","type":"string"},"status":{"description":"Whether the system verified that the domain's DKIM key exists.\n* `1` - The system verified the existence of the domain's DKIM key.\n* `0` - The system did **not** verify the existence of the domain's DKIM key.","example":1,"enum":[0,1],"type":"integer"},"domain":{"example":"example.com","description":"The domain for which the system confirmed that a valid DKIM key exists.","format":"domain","type":"string"}}}},"warnings":{"example":null,"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"},"metadata":{"properties":{}},"status":{"type":"integer","description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","example":1,"enum":[0,1]}}},"apiversion":{"type":"integer","example":3,"description":"The version of the API."}}}}},"description":"HTTP Request was successful."}},"tags":["EmailAuth","Email DNS Settings"],"operationId":"EmailAuth-ensure_dkim_keys_exist","x-readonly":false,"x-cpanel-api-version":"UAPI","x-cpanel-available-version":"cPanel 78","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  EmailAuth \\\n  ensure_dkim_keys_exist \\\n  domain='example.com'\n","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/EmailAuth/ensure_dkim_keys_exist?domain=example.com","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file EmailAuth_ensure_dkim_keys_exist.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/EmailAuth_ensure_dkim_keys_exist.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/EmailAuth/,\n    q/ensure_dkim_keys_exist/,\n    {\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file EmailAuth_ensure_dkim_keys_exist.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/EmailAuth_ensure_dkim_keys_exist.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'EmailAuth',\n    'ensure_dkim_keys_exist',\n    array (\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"summary":"Validate domains' DKIM private keys","parameters":[{"name":"domain","in":"query","required":true,"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":{"single":{"value":"example.com","summary":"A single domain."},"multiple":{"value":"domain=example.com&domain=example2.com&domain=example3.com","summary":"Multiple domains."}},"schema":{"format":"domain","type":"string"}}],"description":"This function confirms the validity of a DomainKeys Identified Mail (DKIM) key for one or more domains.\n\n**Notes:**\n\n* If an existing DKIM key does **not** meet the server's security requirements, the system replaces the existing DKIM key.\n* If no DKIM key exists, the system creates a new key for the domain.","x-rollback":"none"}}},"info":{"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"x-tagGroups":[{"name":"DNS","tags":["Email DNS Settings"]}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"description":"A server running cPanel."}],"tags":[{"name":"EmailAuth","description":"The EmailAuth module for UAPI."},{"description":"DNS / Email DNS Settings","name":"Email DNS Settings"}],"openapi":"3.0.2","security":[{"BasicAuth":[]}]},"remove_dmarc":{"paths":{"/EmailAuth/remove_dmarc":{"get":{"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"module":{"description":"The name of the module called.","example":"EmailAuth","type":"string"},"result":{"properties":{"warnings":{"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"data":{"type":"array","description":"An array of objects that contain information about the removed DMARC records.","items":{"type":"object","properties":{"domain":{"format":"domain","type":"string","description":"The domain for which the DMARC record was removed.","example":"example.com"},"msg":{"type":"string","description":"Information about the removed DMARC record.","example":"[REMOVE:TXT@_dmarc.example.com:v=DMARC1; p=reject;]"},"status":{"type":"integer","description":"Whether the system removed the domain's DMARC record.\n* `1` - The system removed the domain's DMARC record.\n* `0` - The system did **not** remove the domain's DMARC record.","example":1,"enum":[0,1]}}}},"metadata":{"properties":{}},"errors":{"nullable":true,"type":"array","example":null,"description":"List of errors if the API failed.","items":{"type":"string"}},"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null},"status":{"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","enum":[0,1],"example":1,"type":"integer"}},"type":"object"},"func":{"type":"string","description":"The name of the method called.","example":"remove_dmarc"},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}},"type":"object"}}}}},"tags":["EmailAuth","Email DNS Settings"],"x-readonly":false,"operationId":"EmailAuth-remove_dmarc","summary":"Remove DMARC record from domain(s)","x-cpanel-available-version":"124","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  EmailAuth \\\n  remove_dmarc \\\n  domain='example.com'\n"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/EmailAuth/remove_dmarc?domain=example.com"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file EmailAuth_remove_dmarc.live.pl and put this code into that file.\n# 5) In your browser log in to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/EmailAuth_remove_dmarc.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/EmailAuth/,\n    q/remove_dmarc/,\n    {\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html-printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file EmailAuth_remove_dmarc.live.php and put this code into that file.\n// 5) In your browser log in to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/EmailAuth_remove_dmarc.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'EmailAuth',\n    'remove_dmarc',\n    array (\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html-printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-api-version":"UAPI","parameters":[{"required":false,"in":"query","examples":{"single":{"summary":"A single domain.","value":"example.com"},"multiple":{"value":"domain=example.com&domain=example2.com&domain=example.com","summary":"Multiple domains."}},"description":"The domain from which to remove the DMARC record.\n\n**Note:**\n\nIf you do not include this argument, the system will remove **all** DMARC records from **all** domains owned by the user.\n\nTo remove multiple domain DMARC records, duplicate the parameter name. For example, use the `domain=example.com`, `domain=example2.com`, and `domain=example3.com` parameters.\n\nYou **cannot** remove DMARC records on temporary domains.","schema":{"type":"string"},"name":"domain"}],"description":"This function removes the DMARC record for domains.","x-rollback":"none"}}},"info":{"termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","version":"11.123.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"openapi":"3.0.2","tags":[{"name":"EmailAuth","description":"The EmailAuth module for UAPI."},{"name":"Email DNS Settings","description":"DNS / Email DNS Settings"}],"servers":[{"variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel."}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"x-tagGroups":[{"name":"DNS","tags":["Email DNS Settings"]}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"security":[{"BasicAuth":[]}]},"enable_dkim":{"paths":{"/EmailAuth/enable_dkim":{"get":{"parameters":[{"name":"domain","in":"query","description":"The domain for which to enable DKIM records on the DNS server.\n\n**Note:**\n\nTo enable multiple domain DKIM records, duplicate or increment the parameter. For example, to perform this for three domains, you could:\n\n* Use the `domain` parameter multiple times.\n* Use the `domain`, `domain-1`, and `domain-2` parameters.","required":true,"examples":{"multiple-alternative":{"value":"domain=example1.com domain=example2.com domain=example3.com","summary":"Enable multiple domains' DKIM records."},"multiple":{"summary":"Enable multiple domains' DKIM records.","value":"domain-1=example1.com domain-2=example2.com domain-3=example3.com"},"single":{"value":"example.com","summary":"Enable a single domain's DKIM records."}},"schema":{"type":"string","format":"domain"}}],"description":"This function enables DomainKeys Identified Mail (DKIM) records on the DNS server for one or more domains.\n\n**Note:**\n\nIf a DKIM record does **not** exist on the server, this function will install a new DKIM record.","x-rollback":"none","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"type":"integer","description":"The version of the API.","example":3},"module":{"type":"string","description":"The name of the module called.","example":"EmailAuth"},"result":{"properties":{"status":{"type":"integer","example":1,"enum":[0,1],"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details."},"warnings":{"nullable":true,"type":"array","example":null,"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"}},"data":{"description":"An array that contains information about the enabled state of a domain's DKIM records on the DNS server.","items":{"type":"object","properties":{"domain":{"type":"string","format":"domain","description":"The domain for which the system enabled the DKIM record.","example":"example.com"},"status":{"type":"integer","description":"Whether the system enabled the domain's DKIM record on the DNS server.\n* `1` - Enabled.\n* `0` - The system did **not** enable the domain's DKIM record.","enum":[0,1],"example":1},"msg":{"description":"The domain's DKIM record status message.","example":"[no changes needed]","type":"string"}}},"type":"array"},"metadata":{"properties":{}},"errors":{"example":null,"description":"List of errors if the API failed.","items":{"type":"string"},"nullable":true,"type":"array"},"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null}},"type":"object"},"func":{"example":"enable_dkim","description":"The name of the method called.","type":"string"}}}}},"description":"HTTP Request was successful."}},"tags":["EmailAuth","Email DNS Settings"],"x-readonly":false,"operationId":"EmailAuth-enable_dkim","x-cpanel-api-version":"UAPI","summary":"Enable domains' DKIM records","x-codeSamples":[{"lang":"Shell","label":"CLI","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"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file EmailAuth_enable_dkim.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/EmailAuth_enable_dkim.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/EmailAuth/,\n    q/enable_dkim/,\n    {\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file EmailAuth_enable_dkim.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/EmailAuth_enable_dkim.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'EmailAuth',\n    'enable_dkim',\n    array (\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 78"}}},"security":[{"BasicAuth":[]}],"tags":[{"name":"EmailAuth","description":"The EmailAuth module for UAPI."},{"description":"DNS / Email DNS Settings","name":"Email DNS Settings"}],"openapi":"3.0.2","servers":[{"url":"https://{host}:{port}/execute","variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"description":"The cPanel port.","default":"2083"}},"description":"A server running cPanel."}],"x-tagGroups":[{"name":"DNS","tags":["Email DNS Settings"]}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}}},"apply_dmarc":{"info":{"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"},"termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.123.0.9999"},"externalDocs":{"url":"https://cpanel.net/developers/"},"x-tagGroups":[{"tags":["Email DNS Settings"],"name":"DNS"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel.","default":"cpanel-server.tld"}},"description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"name":"EmailAuth","description":"The EmailAuth module for UAPI."},{"description":"DNS / Email DNS Settings","name":"Email DNS Settings"}],"security":[{"BasicAuth":[]}],"paths":{"/EmailAuth/apply_dmarc":{"get":{"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"type":"integer","description":"The version of the API.","example":3},"result":{"properties":{"messages":{"items":{"type":"string"},"description":"List of messages generated by the API.","example":null,"type":"array","nullable":true},"errors":{"example":null,"description":"List of errors if the API failed.","items":{"type":"string"},"nullable":true,"type":"array"},"metadata":{"properties":{}},"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.","example":null,"type":"array","nullable":true},"data":{"items":{"properties":{"domain":{"description":"The domain for which the DMARC record was applied.","example":"example.com","format":"domain","type":"string"},"status":{"description":"Whether the system applied a DMARC record to the domain.\n* `1` - Applied.\n* `0` - The system did **not** apply a DMARC record.","example":1,"enum":[0,1],"type":"integer"},"msg":{"description":"The domain's DMARC record status message.","example":"[ADD:TXT@_dmarc.example.com:v=DMARC1; p=reject;]","type":"string"}},"type":"object"},"description":"An array that contains information about the DMARC records applied to domains.","type":"array"},"status":{"type":"integer","description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","enum":[0,1],"example":1}},"type":"object"},"module":{"type":"string","description":"The name of the module called.","example":"EmailAuth"},"func":{"type":"string","example":"apply_dmarc","description":"The name of the method called."}},"type":"object"}}}}},"parameters":[{"schema":{"type":"string","format":"domain"},"examples":{"multiple":{"value":"domain-1=example1.com domain-2=example2.com domain-3=example3.com","summary":"Enable multiple domains' DMARC records."},"multiple-alternative":{"summary":"Enable multiple domains' DMARC records.","value":"domain=example1.com domain=example2.com domain=example3.com"},"single":{"value":"example.com","summary":"Enable a single domain's DMARC records."}},"description":"The domain for which to apply the DMARC record.\n\n**Note:**\n\nTo enable multiple domain DMARC records, duplicate or increment the parameter. For example, to enable DMARC records for three domains, perform either of the following actions:\n\n* Use the `domain` parameter three times.\n* Use the `domain`, `domain-1`, and `domain-2` parameters.\n\nIf you do not include this argument, the system applies the DMARC record to all the user's domains.\n\nYou cannot use this function to edit temporary domains' DMARC records.","required":false,"in":"query","name":"domain"},{"in":"query","name":"policy","example":"v=DMARC1;p=reject;pct=100;rua=mailto:postmaster@example.com","description":"The DMARC record to apply to the requested domains.\n\n**Note:**\n\nVisit the following link for more information about the DMARC record specification: https://dmarc.org/resources/specification/","required":true,"schema":{"type":"string"}}],"tags":["EmailAuth","Email DNS Settings"],"x-readonly":false,"operationId":"EmailAuth-apply_dmarc","description":"This function applies a DMARC record to the specified domain(s)","x-cpanel-available-version":"124","summary":"Apply DMARC records to domains.","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  EmailAuth \\\n  apply_dmarc \\\n  domain='example.com' \\\n  policy='v=DMARC1; p=reject;'\n","label":"CLI","lang":"Shell"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/EmailAuth/apply_dmarc?domain=example.com&policy='v=DMARC1; p=reject;'"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file EmailAuth_apply_dmarc.live.pl and put this code into that file.\n# 5) In your browser log in to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/EmailAuth_apply_dmarc.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/EmailAuth/,\n    q/apply_dmarc/,\n    {\n        'domain' => 'example.com',\n        'policy' => 'v=DMARC1; p=reject;'\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html-printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file EmailAuth_apply_dmarc.live.php and put this code into that file.\n// 5) In your browser log in to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/EmailAuth_apply_dmarc.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'EmailAuth',\n    'apply_dmarc',\n    array (\n        'domain' => 'example.com',\n        'policy' => 'v=DMARC1; p=reject;'\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-api-version":"UAPI","x-rollback":"none"}}}},"validate_current_spfs":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"}},"security":[{"BasicAuth":[]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"x-tagGroups":[{"tags":["Email DNS Settings"],"name":"DNS"}],"openapi":"3.0.2","servers":[{"url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"description":"A server running cPanel."}],"tags":[{"name":"EmailAuth","description":"The EmailAuth module for UAPI."},{"description":"DNS / Email DNS Settings","name":"Email DNS Settings"}],"paths":{"/EmailAuth/validate_current_spfs":{"get":{"x-readonly":true,"operationId":"EmailAuth-validate_current_spfs","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"result":{"type":"object","properties":{"status":{"type":"integer","example":1,"enum":[0,1],"description":"- `1` - Success.\n- `0` - Failed. Check the `errors` field for more details."},"messages":{"items":{"type":"string"},"description":"List of messages generated by the API.","example":null,"type":"array","nullable":true},"errors":{"nullable":true,"type":"array","example":null,"description":"List of errors if the API failed.","items":{"type":"string"}},"metadata":{"properties":{}},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"data":{"items":{"properties":{"domain":{"type":"string","format":"domain","example":"example.com","description":"The queried domain."},"records":{"type":"array","description":"The SPF records of the domain's DNS.","items":{"properties":{"reason":{"type":"string","description":"The reason why the SPF record is **not** correct, if one exists.\n\n**Note:**\n\nIf no errors exist, the function does **not** return this value.","example":"'example.com: Sender\nis not authorized by default to use ''example.com''\nin ''helo'' identity, however domain is not\ncurrently prepared for false failures (mechanism\n''~all'' matched)'"},"current":{"type":"string","example":"v=spf1 +a +mx ip6:0:0:0:0:0:ffff:c0a8:101 ~all","description":"The SPF record's contents."},"state":{"enum":["PASS","NEUTRAL","FAIL","SOFTFAIL","TEMPERROR","PERMERROR"],"example":"PASS","description":"The SPF record's status:\n* `PASS` - The `SPF` record confirms that the `ip_address` value is a valid sender.\n* `NEUTRAL` - The current `SPF` record configuration does not determine the `ip_address` value's validity.\n* `FAIL` - The `SPF` record states that the `ip_address` value is **not** a valid sender.\n* `SOFTFAIL` - The `SPF` record states that the `ip_address` value is **not** a valid sender, but does not `FAIL` state it.\n* `TEMPERROR` - The `SPF` record check resulted in a failure. For example, a network failure.\n* `PERMERROR` - The domain's `SPF` records are **incorrect** and require manual correction.\n\n**Note:**\n\nThese values correspond with [RFC7208 section 2.6](https://tools.ietf.org/html/rfc7208#section-2.6).","type":"string"}},"type":"object"}},"state":{"description":"The SPF record's status:\n* `VALID` - A single `SPF TXT` record exists in the domain's DNS with the correct `ip_address` value or redirect mechanism.\n* `MISMATCHED` - An `SPF TXT` record exists for the domain that does **not** match the `ip_address` value.\n* `MULTIPLE` - Multiple `SPF TXT` records exist in the domain's DNS.\n* `MISSING` - No `SPF TXT` record exists for the domain's DNS.\n* `ERROR` - The record's DNS lookup failed. The function returns the reason in the error return.","enum":["VALID","MISMATCHED","MULTIPLE","MISSING","ERROR"],"example":"VALID","type":"string"},"error":{"example":"(XID rm8h9f) DNS returned SERVFAIL (code 2)\nin response to the systems query for example2.coms\nTXT records.","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.","type":"string"},"ip_version":{"description":"The IP address version.\n* `4`\n* `6`","example":6,"enum":[4,6],"type":"integer"},"ip_address":{"type":"string","description":"The domain's IP address.","example":"0:0:0:0:0:ffff:c0a8:101"},"expected":{"description":"The SPF record for the domain in the DNS.","example":"ip6:0:0:0:0:0:ffff:c0a8:101","type":"string"}},"type":"object"},"description":"A list of information about a domain's SPF records.","type":"array"}}},"module":{"example":"EmailAuth","description":"The name of the module called.","type":"string"},"func":{"description":"The name of the method called.","example":"validate_current_spfs","type":"string"},"apiversion":{"type":"integer","description":"The version of the API.","example":3}},"type":"object"}}},"description":"HTTP Request was successful."}},"parameters":[{"examples":{"multiple":{"summary":"Check `SPF` records for a multiple domains.","value":"`domain`=example.com,`domain`=another.com,`domain`=yetanother.com\n`domain`=example.com,`domain-1`=another.com,`domain-2`=yetanother.com"},"single":{"value":"example.com","summary":"Check `SPF` records for a single domain."}},"description":"The domain for which to check the `SPF` records.","required":true,"schema":{"format":"domain","type":"string"},"in":"query","name":"domain"}],"tags":["EmailAuth","Email DNS Settings"],"description":"This function retrieves the the Sender Policy Framework (SPF) records\nfor one or more domains.","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  EmailAuth \\\n  validate_current_spfs \\\n  domain='example.com'\n","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/EmailAuth/validate_current_spfs?domain=example.com","lang":"HTTP","label":"URL"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file EmailAuth_validate_current_spfs.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/EmailAuth_validate_current_spfs.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/EmailAuth/,\n    q/validate_current_spfs/,\n    {\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file EmailAuth_validate_current_spfs.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/EmailAuth_validate_current_spfs.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'EmailAuth',\n    'validate_current_spfs',\n    array (\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Validate domains' SPF records","x-cpanel-available-version":"cPanel 78","x-cpanel-api-version":"UAPI"}}}},"install_dkim_private_keys":{"paths":{"/EmailAuth/install_dkim_private_keys":{"get":{"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.","x-cpanel-available-version":"cPanel 78","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"},{"lang":"HTTP","label":"URL","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"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file EmailAuth_install_dkim_private_keys.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/EmailAuth_install_dkim_private_keys.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/EmailAuth/,\n    q/install_dkim_private_keys/,\n    {\n        'domain' => 'example',\n        'key' => '-----BEGIN%20RSA%20PRIVATE%20KEY-----%0aAAAAB3NzaC1yc2EAAAABIwAAAQEA5kSivOqhs0U9ZMN20nxFe27QZ3t0lT2zbH7OSXylKd%0a1rjAjYXGnSXC9j2uaZlemHlptBKVziMJC86ha7Hcj6dVOVrDQ6vF4q34bOCjtKLphQ0IjB%0azVIvqILH9eLJdRaOrS34CmgmPaisrCk5wKVlakygvUfcj3HzaTKS6THyZDGx5shdTpa9lb%0ay8tpOD3JceV7ay4w8r0DipoKPC0OLpvS4EABEeMo9sx8zQEaKv03XygjNCCYtFvxlQQIRG%0alVoL7mPaHSaL3anI05RpNbm/PS+9BhZg+BqNjU4ofHBbfkXk5MiN6M7ieR4Sk5BquccboG%0aF13U5slNgmCEekdt0amw%0a-----END%20RSA%20PRIVATE%20KEY-----%0a',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file EmailAuth_install_dkim_private_keys.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/EmailAuth_install_dkim_private_keys.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'EmailAuth',\n    'install_dkim_private_keys',\n    array (\n        'domain' => 'example',\n        'key' => '-----BEGIN%20RSA%20PRIVATE%20KEY-----%0aAAAAB3NzaC1yc2EAAAABIwAAAQEA5kSivOqhs0U9ZMN20nxFe27QZ3t0lT2zbH7OSXylKd%0a1rjAjYXGnSXC9j2uaZlemHlptBKVziMJC86ha7Hcj6dVOVrDQ6vF4q34bOCjtKLphQ0IjB%0azVIvqILH9eLJdRaOrS34CmgmPaisrCk5wKVlakygvUfcj3HzaTKS6THyZDGx5shdTpa9lb%0ay8tpOD3JceV7ay4w8r0DipoKPC0OLpvS4EABEeMo9sx8zQEaKv03XygjNCCYtFvxlQQIRG%0alVoL7mPaHSaL3anI05RpNbm/PS+9BhZg+BqNjU4ofHBbfkXk5MiN6M7ieR4Sk5BquccboG%0aF13U5slNgmCEekdt0amw%0a-----END%20RSA%20PRIVATE%20KEY-----%0a',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Add domains' DKIM record keys","x-cpanel-api-version":"UAPI","x-readonly":false,"operationId":"EmailAuth-install_dkim_private_keys","parameters":[{"schema":{"format":"domain","type":"string"},"description":"The domain for which to install a DKIM private key on the local server.\n\n**Note:**\n\nTo install multiple RSA private keys for multiple domains, duplicate the parameter name. For example, use the `domain=example.com`, `domain=example2.com`, and `domain=example3.com` parameters.","required":true,"examples":{"single":{"value":"example","summary":"A single domain."},"multiple":{"value":"domain=example&domain=example2.com&domain=example3.com","summary":"Multiple domains."}},"name":"domain","in":"query"},{"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"},"required":true,"description":"An RSA key in [Privacy-Enhanced Mail (PEM)](https://en.wikipedia.org/wiki/Privacy-Enhanced_Mail) format.\n\n**Note:**\n\nYou **must** provide this parameter for each `domain` parameter.","name":"key","in":"query"}],"tags":["EmailAuth","Email DNS Settings"],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"module":{"example":"EmailAuth","description":"The name of the module called.","type":"string"},"result":{"type":"object","properties":{"status":{"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","example":1,"enum":[0,1],"type":"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"},"example":null,"type":"array","nullable":true},"data":{"type":"array","items":{"properties":{"domain":{"type":"string","format":"domain","example":"example.com","description":"The DKIM private key's associated domain."},"status":{"type":"integer","description":"Whether the system installed the DKIM private key to the local server.\n* `1` - The system installed the DKIM private key.\n* `0` - The system **cannot** install the DKIM private key.","enum":[0,1],"example":1},"msg":{"example":"[ADD:TXT@default._domainkey:v=DKIM1; k=rsa; p=AAAAB3NzaC1yc2EAAAABIwAAAQEA5kSivOqhs0U9ZMN20nxFe27QZ3t0lT2zbH7OSXylKd1rjAjYXGnSXC9j2uaZlemHlptBKVziMJC86ha7Hcj6dVOVrDQ6vF4q34bOCjtKLphQ0IjBzVIvqILH9eLJdRaOrS34CmgmPaisrCk5wKVlakygvUfcj3HzaTKS6THyZDGx5shdTpa9lby8tpOD3JceV7ay4w8r0DipoKPC0OLpvS4EABEeMo9sx8zQEaKv03XygjNCCYtFvxlQQIRGlVoL7mPaHSaL3anI05RpNbm/PS+9BhZg+BqNjU4ofHBbfkXk5MiN6M7ieR4Sk5BquccboGF13U5slNgmCEekdt0amw;]","description":"The DKIM private key's installation status message.","type":"string"}},"type":"object"},"description":"An array of objects that contains information about the DKIM private key installation to the local server."},"metadata":{"properties":{}},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null}}},"func":{"example":"install_dkim_private_keys","description":"The name of the method called.","type":"string"},"apiversion":{"example":3,"description":"The version of the API.","type":"integer"}}}}},"description":"HTTP Request was successful."}}}}},"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999"},"externalDocs":{"url":"https://cpanel.net/developers/"},"openapi":"3.0.2","tags":[{"description":"The EmailAuth module for UAPI.","name":"EmailAuth"},{"description":"DNS / Email DNS Settings","name":"Email DNS Settings"}],"servers":[{"description":"A server running cPanel.","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"url":"https://{host}:{port}/execute"}],"x-tagGroups":[{"name":"DNS","tags":["Email DNS Settings"]}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"security":[{"BasicAuth":[]}]}},"Pushbullet":{"send_test_message":{"paths":{"/Pushbullet/send_test_message":{"get":{"x-cpanel-available-version":"cPanel 11.52","summary":"Validate Pushbullet token","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Pushbullet \\\n  send_test_message \\\n  access_token='a1b2c3d4e5f6g7h8i9j0'\n"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/Pushbullet/send_test_message?access_token=a1b2c3d4e5f6g7h8i9j0"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Pushbullet_send_test_message.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/Pushbullet_send_test_message.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Pushbullet/,\n    q/send_test_message/,\n    {\n        'access_token' => 'a1b2c3d4e5f6g7h8i9j0',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Pushbullet_send_test_message.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/Pushbullet_send_test_message.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Pushbullet',\n    'send_test_message',\n    array (\n        'access_token' => 'a1b2c3d4e5f6g7h8i9j0',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-api-version":"UAPI","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"description":"The version of the API.","example":3,"type":"integer"},"module":{"type":"string","description":"The name of the module called.","example":"Pushbullet"},"result":{"properties":{"status":{"enum":[1,0],"example":1,"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","type":"integer"},"metadata":{"properties":{}},"data":{"properties":{"payload":{"type":"object","description":"The payload from the Pushbullet server. For more information, read\n[Pushbullet's API documentation](https://docs.pushbullet.com/).\n\n**Warning:**\n\nThis return may contain values that are Boolean primitives. JSON\nproperly represents these, but XML represents them as `0` or `1`.","example":{"body":"This message confirms that “hostname.example.com“ (192.168.0.20)\ncan send a message to you via Pushbullet.\n\nThis message was sent on Monday, May 18, 2015 at 7:12:20 PM UTC.","sender_iden":"ujw5ScArtjU","dismissed":false,"receiver_email":"user@example.com","active":true,"title":"Test message (ID: 555a3994-173a4a271062d)","receiver_iden":"ujw5ScArtjU","created":1431976341.38872,"sender_email_normalized":"user@example.com","sender_email":"user@example.com","iden":"ujw5ScArtjUsjAeRXXMLGS","receiver_email_normalized":"user@example.com","modified":1431976341.39182,"type":"note","direction":"self","sender_name":"Firstname Lastname"}},"message_id":{"description":"The test message's ID.","example":"554d2cbd-efe61da3cacb","type":"string"}}},"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"},"example":null,"type":"array","nullable":true},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}},"errors":{"nullable":true,"type":"array","example":null,"description":"List of errors if the API failed.","items":{"type":"string"}}},"type":"object"},"func":{"description":"The name of the method called.","example":"send_test_message","type":"string"}}}}},"description":"HTTP Request was successful."}},"tags":["Pushbullet"],"operationId":"Pushbullet-send_test_message","x-readonly":false,"description":"This function sends a Pushbullet™ test message to determine that the token is valid and that the account holder can receive the message.","x-rollback":"none","parameters":[{"required":true,"description":"The Pushbullet access token.\n\n**Note:**\n\n* Your Pushbullet token is available on\n[Pushbullet's My Account](https://www.pushbullet.com/account) page under\nthe *Access Token* heading.\n* This is confidential information that your server sends via a secure channel.","schema":{"type":"string","example":"a1b2c3d4e5f6g7h8i9j0"},"in":"query","name":"access_token"}]}}},"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999"},"externalDocs":{"url":"https://cpanel.net/developers/"},"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"x-tagGroups":[{"tags":["Pushbullet"],"name":"Notifications"}],"servers":[{"variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"description":"The Pushbullet module for UAPI.","name":"Pushbullet"}],"security":[{"BasicAuth":[]}]}},"ZoneEdit":{"resetzone":{"paths":{"/ZoneEdit/resetzone":{"get":{"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"status":{"enum":[0,1],"example":1,"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","type":"integer"},"warnings":{"items":{"type":"string"},"type":"array","nullable":true},"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":{"properties":{"status":{"type":"integer","example":1,"enum":[0,1],"description":"Whether the system rebuilt the zone.\n* `1` - The system rebuilt the zone.\n* `0` - The rebuild failed. Check the `statusmsg` field for more details."},"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.","type":"object","nullable":true},"statusmsg":{"type":"string","example":"Zone Reset","description":"A message that describes the rebuild's outcome."}},"type":"object","description":"The reply from the zone rebuild."}},"type":"object"},"type":"array"},"messages":{"type":"array","nullable":true,"items":{"type":"string"}},"metadata":{"properties":{"transformed":{"type":"integer"}},"type":"object"},"errors":{"nullable":true,"type":"array","items":{"type":"string"}}},"type":"object"}}}}},"tags":["ZoneEdit"],"operationId":"ZoneEdit-resetzone","x-readonly":false,"x-cpanel-api-version":"UAPI","summary":"Reset a DNS zone to the server defaults","x-cpanel-available-version":"cPanel 138","x-codeSamples":[{"lang":"Shell","label":"CLI","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# <theme-name> is the theme assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file 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/<theme-name>/\n#    to .../frontend/<theme-name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file 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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}\n","label":"LiveAPI PHP","lang":"PHP"}],"parameters":[{"name":"domain","in":"query","schema":{"example":"example.com","type":"string","format":"domain"},"required":true,"description":"The domain whose DNS zone to reset."}],"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\nWhen you disable the [DNS role](https://go.cpanel.net/serverroles#roles),\nthe system **disables** this function.","x-rollback":"none"}}},"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"x-tagGroups":[{"name":"DNS","tags":["ZoneEdit"]}],"servers":[{"description":"A server running cPanel.","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel.","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute"}],"openapi":"3.0.2","tags":[{"description":"The ZoneEdit module for UAPI.","name":"ZoneEdit"}],"security":[{"BasicAuth":[]}],"info":{"contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"},"title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/","version":"11.138.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."},"externalDocs":{"url":"https://cpanel.net/developers/"}}},"Notifications":{"get_notifications_count":{"paths":{"/Notifications/get_notifications_count":{"get":{"tags":["Notifications"],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"result":{"properties":{"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"messages":{"items":{"type":"string"},"description":"List of messages generated by the API.","example":null,"type":"array","nullable":true},"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.","example":null,"type":"array","nullable":true},"data":{"example":3,"description":"The number of server-wide notifications.","minimum":0,"type":"integer"},"metadata":{"properties":{}},"status":{"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","example":1,"enum":[0,1],"type":"integer"}},"type":"object"},"module":{"type":"string","description":"The name of the module called.","example":"Notifications"},"func":{"type":"string","description":"The name of the method called.","example":"get_notifications_count"},"apiversion":{"example":3,"description":"The version of the API.","type":"integer"}}}}},"description":"HTTP Request was successful."}},"parameters":[],"operationId":"Notifications-get_notifications_count","x-readonly":true,"x-cpanel-api-version":"UAPI","description":"This function returns the number of server-wide notifications on an account.","summary":"Return server notifications total","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Notifications \\\n  get_notifications_count\n","lang":"Shell","label":"CLI"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Notifications/get_notifications_count","lang":"HTTP","label":"URL"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Notifications_get_notifications_count.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Notifications_get_notifications_count.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Notifications/,\n    q/get_notifications_count/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Notifications_get_notifications_count.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Notifications_get_notifications_count.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Notifications',\n    'get_notifications_count'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 54"}}},"security":[{"BasicAuth":[]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"name":"Server Information","tags":["Notifications"]}],"openapi":"3.0.2","servers":[{"variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"tags":[{"name":"Notifications","description":"The Notifications module for UAPI."}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","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.","version":"11.89.0.9999","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/"}}},"DCV":{"check_domains_via_http":{"paths":{"/DCV/check_domains_via_http":{"get":{"x-rollback":"none","x-cpanel-api-version":"UAPI","summary":"Verify domain ownership via HTTP","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"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DCV_check_domains_via_http.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DCV_check_domains_via_http.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DCV/,\n    q/check_domains_via_http/,\n    {\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DCV_check_domains_via_http.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DCV_check_domains_via_http.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DCV',\n    'check_domains_via_http',\n    array (\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 60","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","x-readonly":false,"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"result":{"type":"object","properties":{"status":{"enum":[0,1],"example":1,"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","type":"integer"},"errors":{"example":null,"items":{"type":"string"},"description":"List of errors if the API failed.","nullable":true,"type":"array"},"messages":{"items":{"type":"string"},"description":"List of messages generated by the API.","example":null,"type":"array","nullable":true},"data":{"type":"array","items":{"properties":{"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":{"protocol":{"example":"HTTP/1.1","description":"The URL's HTTP protocol.","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"},"content":{"example":"<!DOCTYPE HTML PUBLIC \\\"-//IETF//DTD HTML 2.0//EN\\\">\\n<html><head>\\n<title>301 Moved Permanently</title>\\n </head><body>\\n<h1>Moved Permanently</h1>\\n <p>The document has moved <a href=\\\"http://www.example.com/.well-known/pki-validation/770102 17B0CCF0CCF6211602F9A1B2B2.txt\\\">here</a>.</p>\\n</body></html>\\n","description":"A message that explains why the function failed.","type":"string"},"url":{"format":"url","type":"string","example":"http://example.com/.well-known/pki-validation/77010217B0CCF0CCF6211602F9A1B2B2.txt","description":"The URL that the function searches for the DCV file."},"success":{"description":"Whether the server returns a [2XX HTTP status code](https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#2xx_Success).\n* `1` — The server returns a 2XX status code.\n* `0` or an empty string — The server does **not** return a 2XX status code.","oneOf":[{"enum":[""],"type":"string"},{"type":"integer","enum":[0,1]}],"example":""},"reason":{"example":"Moved Permanently","description":"The HTTP response status message.","type":"string"},"redirects":{"items":{"type":"object"},"description":"An array of objects containing the redirects, if the value exists.","example":null,"type":"array","nullable":true},"status":{"type":"integer","example":301,"description":"The [HTTP response status code](https://en.wikipedia.org/wiki/List_of_HTTP_status_codes)."}},"type":"object"},"type":"array"},"redirects_count":{"minimum":0,"description":"The number of HTTP redirects that the DCV check follows.","example":0,"type":"integer"},"failure_reason":{"type":"string","nullable":true,"description":"The reason that the DCV check failed.\n* `null` — The domain passed the DCV check.","example":"The system queried for a temporary file at http://example.com/.well-known/pki-validationD01511F4E E535A5442FC378AA946CF41.txt, but the web server responded with the following error: 404 (Not Found). A DNS (Domain Name System) or web server misconfiguration may exist. The domain example.com resolved to an IP address 93.184.216.34 that does not exist on this server."}},"type":"object"},"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."},"warnings":{"nullable":true,"type":"array","example":null,"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"}},"metadata":{"properties":{"transformed":{"example":1,"enum":[1],"description":"Post-processing may have transformed the data.","type":"integer"}}}}},"module":{"type":"string","example":"DCV","description":"The name of the module called."},"func":{"type":"string","description":"The name of the method called.","example":"check_domains_via_http"},"apiversion":{"type":"integer","description":"The version of the API.","example":3}}}}}}},"parameters":[{"name":"domain","in":"query","description":"The domains to check.\n\n**Note:**\n\nTo check more than one domain, repeat or increment the parameter name. For\nexample, `domain-1`, `domain-2`, and `domain-3`.","required":true,"examples":{"single":{"summary":"Check a single domain.","value":"example.com"},"multiple":{"summary":"Check multiple domains.","value":"domain-1=example.com&domain-2=example2.com&domain-3=example2.com"}},"schema":{"type":"string","format":"domain"}},{"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"},"required":false,"description":"An array of characters that the certificate provider allows in the DCV check file's filename.","name":"dcv_file_allowed_characters","in":"query"},{"schema":{"minimum":1,"default":100,"example":32,"type":"integer"},"description":"The number of characters that the certificate provider allows in the DCV check file's filename.","required":false,"in":"query","name":"dcv_file_random_character_count"},{"description":"The DCV check file extension that the certificate provider requires.","required":false,"schema":{"example":"txt","default":"","type":"string"},"in":"query","name":"dcv_file_extension"},{"required":false,"description":"The DCV check file's file path, relative to the domain's document `root` directory.","schema":{"example":".well-known/pki-validation","default":".well-known/pki-validation","type":"string"},"in":"query","name":"dcv_file_relative_path"},{"description":"The [user agent string](https://wikipedia.org/wiki/User_agent) that the system uses for the imitated local DCV check.\n\n**Important:**\n\nThe default value can change at any time.","required":false,"schema":{"type":"string","example":"SECTIGO+DCV"},"name":"dcv_user_agent_string","in":"query"},{"description":"The number of domain redirects the system permits the DCV check to follow. The function checks the provider's supported number of redirects.\nIt will then return the `redirect` array of objects for the passed value, plus one. This ensures the function will display any redirects causing DCV failures, if any exist.\n\n**Note:**\n\n* If you pass a `0` value, this function does **not** limit the number of redirect returns.\n* Use the `Market::get_provider_specific_dcv_constraints` UAPI function to list a provider's supported number of redirects.","required":false,"schema":{"example":2,"default":null,"minimum":0,"nullable":true,"type":"integer"},"in":"query","name":"dcv_max_redirects"}],"tags":["DCV","Verify Domain Ownership"]}}},"security":[{"BasicAuth":[]}],"openapi":"3.0.2","servers":[{"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."}},"description":"A server running cPanel."}],"tags":[{"description":"The DCV module for UAPI.","name":"DCV"},{"name":"Verify Domain Ownership","description":"SSL Certificates / Verify Domain Ownership"}],"x-tagGroups":[{"name":"SSL Certificates","tags":["Verify Domain Ownership"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"}}},"ensure_domains_can_pass_dcv":{"paths":{"/DCV/ensure_domains_can_pass_dcv":{"get":{"x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  DCV \\\n  ensure_domains_can_pass_dcv \\\n  domain='example.com'\n","lang":"Shell","label":"CLI"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/DCV/ensure_domains_can_pass_dcv?domain=example.com"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DCV_ensure_domains_can_pass_dcv.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DCV_ensure_domains_can_pass_dcv.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DCV/,\n    q/ensure_domains_can_pass_dcv/,\n    {\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DCV_ensure_domains_can_pass_dcv.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DCV_ensure_domains_can_pass_dcv.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DCV',\n    'ensure_domains_can_pass_dcv',\n    array (\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Verify domain ownership","x-cpanel-available-version":"cPanel 56","x-cpanel-api-version":"UAPI","operationId":"DCV-ensure_domains_can_pass_dcv","x-readonly":false,"tags":["DCV","Verify Domain Ownership"],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"func":{"type":"string","description":"The name of the method called.","example":"ensure_domains_can_pass_dcv"},"result":{"type":"object","properties":{"status":{"example":1,"enum":[1,0],"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","type":"integer"},"messages":{"items":{"type":"string"},"description":"List of messages generated by the API.","example":null,"type":"array","nullable":true},"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"metadata":{"properties":{"transformed":{"type":"integer","enum":[1],"example":1,"description":"Post-processing may have transformed the data."}}},"warnings":{"type":"array","nullable":true,"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"},"example":null},"data":{"type":"array","items":{"type":"string","nullable":true},"description":"A list of results from each domain parameter's DCV check.\n\n* `null` — The domain passes the DCV check.\n\n**Note:**\n\nThe function returns the results from the domains in the same order\nin which you called them.","example":[null,null,"The domain resolves to Mars. Beep beep beep."]}}},"module":{"type":"string","description":"The name of the module called.","example":"DCV"},"apiversion":{"type":"integer","example":3,"description":"The version of the API."}}}}},"description":"HTTP Request was successful."}},"deprecated":true,"x-rollback":"none","description":"This function indicates whether the account's domains can pass a Domain Control\nValidation (DCV) check.\n\n**Warning:**\n\nWe deprecated this function. Use UAPI's `DCV::check_domains_via_http` function.","parameters":[{"in":"query","name":"domain","examples":{"single":{"summary":"Check a single domain.","value":"example.com"},"multiple":{"value":"domain-1=example1.com domain-2=example2.com domain-3=example3.com","summary":"Check multiple domains."},"multiple-alternative":{"summary":"Check multiple domains.","value":"domain=example1.com domain=example2.com domain=example3.com"}},"required":true,"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`.","schema":{"type":"string"}}]}}},"x-tagGroups":[{"name":"SSL Certificates","tags":["Verify Domain Ownership"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"tags":[{"name":"DCV","description":"The DCV module for UAPI."},{"description":"SSL Certificates / Verify Domain Ownership","name":"Verify Domain Ownership"}],"openapi":"3.0.2","servers":[{"variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"security":[{"BasicAuth":[]}],"info":{"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"externalDocs":{"url":"https://cpanel.net/developers/"}},"check_domains_via_dns":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"},"version":"11.89.0.9999","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/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/"},"security":[{"BasicAuth":[]}],"servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}}}],"openapi":"3.0.2","tags":[{"description":"The DCV module for UAPI.","name":"DCV"},{"name":"Verify Domain Ownership","description":"SSL Certificates / Verify Domain Ownership"}],"x-tagGroups":[{"name":"SSL Certificates","tags":["Verify Domain Ownership"]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"paths":{"/DCV/check_domains_via_dns":{"post":{"parameters":[{"in":"query","name":"domain","examples":{"multiple":{"summary":"Check multiple domains.","value":"domain-0=example.com&domain-1=example2.com"},"single":{"summary":"Check a single domain.","value":"example.com"}},"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`.","required":true,"schema":{"type":"string","format":"domain","example":"example.com"}}],"tags":["DCV","Verify Domain Ownership"],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"result":{"type":"object","properties":{"status":{"example":1,"enum":[0,1],"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","type":"integer"},"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null},"messages":{"items":{"type":"string"},"description":"List of messages generated by the API.","example":null,"type":"array","nullable":true},"warnings":{"example":null,"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"},"data":{"type":"array","items":{"properties":{"domain":{"format":"domain","type":"string","description":"The domain that the system verified.","example":"example.com"},"query_results":{"example":["_dcv-test-record=wsWRlG9IsG7KNnLdIsx9Oz2oTw8m5q0imRR9L6LnDBz14sZelvDHqrJyJc6LA0DY"],"items":{"type":"string"},"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.","type":"array"},"succeeded":{"type":"integer","description":"Whether the DCV check succeeded.\n- `1` - At least one of the `query_results` values equals the `dcv_string` value.\n- `0` - None of the `query_results` values equal the `dcv_string` value.","enum":[1,0],"example":1},"failure_reason":{"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.","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.","type":"string"},"zone":{"format":"domain","type":"string","example":"example.com","description":"The altered and queried DNS zone name."},"dcv_string":{"example":"_dcv-test-record=wsWRlG9IsG7KNnLdIsx9Oz2oTw8m5q0imRR9L6LnDBz14sZelvDHqrJyJc6LA0DY","description":"The expected value of the queried DNS record.","type":"string"}},"type":"object"},"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."},"metadata":{"properties":{"transformed":{"example":1,"enum":[1],"description":"Post-processing may have transformed the data.","type":"integer"}}}}},"module":{"type":"string","description":"The name of the module called.","example":"DCV"},"func":{"type":"string","example":"check_domains_via_dns","description":"The name of the method called."}},"type":"object"}}},"description":"HTTP Request was successful."}},"operationId":"DCV-check_domains_via_dns","x-readonly":false,"x-cpanel-api-version":"UAPI","summary":"Verify domain ownership via DNS","x-codeSamples":[{"lang":"Shell","label":"CLI","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"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DCV_check_domains_via_dns.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DCV_check_domains_via_dns.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DCV/,\n    q/check_domains_via_dns/,\n    {\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DCV_check_domains_via_dns.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DCV_check_domains_via_dns.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DCV',\n    'check_domains_via_dns',\n    array (\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"x-cpanel-available-version":"cPanel 74","description":"This function checks whether the account's domains can pass Domain Control Validation (DCV) via a DNS request.","x-rollback":"none"}}}}},"ServerInformation":{"get_information":{"info":{"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"x-tagGroups":[{"tags":["cPanel Server Information"],"name":"Server Information"}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"tags":[{"description":"The ServerInformation module for UAPI.","name":"ServerInformation"},{"name":"cPanel Server Information","description":"Server Information / Server Information"}],"openapi":"3.0.2","servers":[{"url":"https://{host}:{port}/execute","variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"description":"The cPanel port.","default":"2083"}},"description":"A server running cPanel."}],"security":[{"BasicAuth":[]}],"paths":{"/ServerInformation/get_information":{"get":{"x-readonly":true,"operationId":"ServerInformation-get_information","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"type":"integer","description":"The version of the API.","example":3},"module":{"type":"string","description":"The name of the module called.","example":"ServerInformation"},"result":{"properties":{"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null},"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null},"metadata":{"properties":{"transformed":{"enum":[1],"example":1,"description":"Post-processing may have transformed the data.","type":"integer"}}},"data":{"type":"array","description":"An array of objects containing the server's status.","items":{"properties":{"version":{"example":"exim-4.92-1.cp1178.x86_64","description":"The resource's software version.\n\n**Important:**\n\nThe function **only** returns this value if a valid software\nversion exists.","type":"string"},"value":{"description":"The resource's status.\n\n* `up`\n* `down`\n* `unknown`\n* The current resource usage.","anyOf":[{"type":"string","description":"The resource's status.","enum":["up","down","unknown"]},{"type":"string","description":"The resource's current usage."}]},"name":{"example":"cpsrvd","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.","type":"string"},"error":{"type":"string","example":"nscd is reporting errors.","description":"An error message about why system couldn't read a resource's status file."},"status":{"oneOf":[{"enum":[1,0],"description":"Whether the resource is enabled or disabled.","type":"integer"},{"type":"string","enum":["unknown"],"description":"The system couldn't determine the resource's status."}],"description":"Whether the resource is enabled or disabled.\n\n* `1` — Enabled.\n* `0` — Disabled.\n* `unknown` — The system couldn't determine the resource's status.","example":1},"type":{"type":"string","enum":["device","metric","service"],"example":"service","description":"The type of resource.\n\n* `device`\n* `metric`\n* `service`"}},"type":"object"},"example":[{"name":"apache_php_fpm","type":"service","status":1,"value":"up"},{"value":"up","status":1,"name":"cpanel-dovecot-solr","type":"service"},{"value":"up","name":"cpanellogd","type":"service","status":1},{"status":1,"type":"service","name":"cpdavd","value":"up"},{"status":1,"name":"cphulkd","type":"service","value":"up"},{"status":1,"name":"cpsrvd","type":"service","value":"up"},{"status":1,"type":"service","name":"crond","value":"up"},{"type":"service","name":"dnsadmin","status":1,"value":"up"},{"status":1,"type":"service","name":"exim","value":"up","version":"exim-4.92-1.cp1180.x86_64"},{"status":1,"type":"service","name":"ftpd","value":"up"},{"version":"2.4.39","status":1,"name":"httpd","type":"service","value":"up"},{"type":"service","name":"imap","status":1,"value":"up"},{"value":"up","name":"ipaliases","type":"service","status":1},{"status":1,"type":"service","name":"lmtp","value":"up"},{"value":"up","type":"service","name":"mailman","status":1},{"value":"up","name":"mysql","type":"service","status":1,"version":"5.7.25"},{"status":1,"name":"named","type":"service","value":"up"},{"value":"up","status":1,"type":"service","name":"nscd"},{"status":1,"type":"service","name":"pop","value":"up"},{"status":1,"name":"queueprocd","type":"service","value":"up"},{"status":1,"type":"service","name":"rsyslogd","value":"up"},{"value":"up","status":1,"type":"service","name":"spamd"},{"type":"service","name":"sshd","status":1,"value":"up"},{"value":"1.73","status":1,"name":"Server Load","type":"metric"},{"value":"2","type":"metric","name":"CPU Count","status":1},{"value":"44.12%","status":1,"name":"Memory Used","type":"device"},{"name":"Swap","type":"device","status":1,"value":"0.73%"},{"name":"Disk / (/)","type":"device","status":1,"value":"26%"},{"status":1,"type":"device","name":"Disk /tmp (/tmp)","value":"0%"},{"status":1,"type":"device","name":"Disk /var/tmp (/var/tmp)","value":"0%"}]},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"status":{"enum":[1,0],"example":1,"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","type":"integer"}},"type":"object"},"func":{"type":"string","example":"get_information","description":"The name of the method called."}}}}}}},"tags":["ServerInformation","cPanel Server Information"],"parameters":[],"x-cpanel-api-version":"UAPI","x-cpanel-available-version":"cPanel 82","summary":"Return service and device status","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  ServerInformation \\\n  get_information\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/ServerInformation/get_information","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\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/<theme_name>/\n#    to .../frontend/<theme_name>/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}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\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/<theme_name>/\n//    to .../frontend/<theme_name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"description":"This function returns the status of each\n[cPanel service (daemon)](https://go.cpanel.net/ThecPanelWHMServiceDaemons),\ndevice, and server health check point on your server."}}}}},"Session":{"create_webmail_session_for_mail_user_check_password":{"paths":{"/Session/create_webmail_session_for_mail_user_check_password":{"get":{"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).\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```","x-rollback":"none","parameters":[{"schema":{"type":"string","example":"username"},"required":true,"description":"The Webmail account's username.","in":"query","name":"login"},{"schema":{"example":"example.com","type":"string"},"required":true,"description":"The domain for the Webmail account.","name":"domain","in":"query"},{"in":"query","name":"password","required":true,"description":"The password for the Webmail account.","schema":{"example":"luggage12345","type":"string"}},{"schema":{"type":"string","example":"en"},"description":"The [locale](https://go.cpanel.net/localedocs) that the new session will use.\n\n**Note:**\n\n* You must **only** enter lowercase characters.\n* This parameter defaults to the cPanel user's locale.","required":false,"name":"locale","in":"query"},{"name":"remote_address","in":"query","schema":{"type":"string","format":"ipv4","example":"192.168.0.1"},"description":"The session's account's client IP address.\n\n**Note:**\n\n* If you run this function from the command line, this parameter is **required**.\n* This parameter defaults to the API caller's IP address.","required":false}],"x-cpanel-api-version":"UAPI","x-cpanel-available-version":"cPanel 86","x-codeSamples":[{"lang":"Shell","label":"CLI","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"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Session/create_webmail_session_for_mail_user_check_password?login=username&domain=example.com&password=luggage12345","lang":"HTTP","label":"URL"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\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/<theme_name>/\n#    to .../frontend/<theme_name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\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/<theme_name>/\n//    to .../frontend/<theme_name>/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\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Create Webmail session with credentials","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"func":{"type":"string","example":"create_webmail_session_for_mail_user_check_password","description":"The name of the method called."},"result":{"properties":{"status":{"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","enum":[0,1],"example":1,"type":"integer"},"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}},"data":{"type":"object","properties":{"hostname":{"example":"hostname.example.com","description":"The Webmail server's hostname.\n\n**Note:**\n\nThe function returns a `null` value when the Webmail server is not remote.","nullable":true,"type":"string"},"session":{"example":"username:D7NiAZv1nf4bXeg9:CREATE_WEBMAIL_SESSION_FOR_MAIL_USER,728fb86a7df1cf20690c65f349ac3137","description":"The session value to submit via POST to begin using the new session.","type":"string"},"token":{"type":"string","description":"A new security token.","example":"/cpsess2462418786"}}},"warnings":{"type":"array","nullable":true,"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"},"example":null},"metadata":{"properties":{"transformed":{"enum":[1],"example":1,"description":"Post-processing may have transformed the data.","type":"integer"}}}},"type":"object"},"module":{"example":"Session","description":"The name of the module called.","type":"string"},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}},"type":"object"}}}}},"tags":["Session","Webmail Sessions"],"x-readonly":false,"operationId":"Session-create_webmail_session_for_mail_user_check_password"}}},"info":{"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","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.","version":"11.89.0.9999","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/"},"externalDocs":{"url":"https://cpanel.net/developers/"},"servers":[{"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."}},"description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"description":"The Session module for UAPI.","name":"Session"},{"description":"Email / Webmail Sessions","name":"Webmail Sessions"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"tags":["Webmail Sessions"],"name":"Email"}],"security":[{"BasicAuth":[]}]},"create_temp_user":{"paths":{"/Session/create_temp_user":{"get":{"x-readonly":false,"operationId":"Session-create_temp_user","tags":["Session","Webmail Sessions"],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"type":"integer","description":"The version of the API.","example":3},"func":{"description":"The name of the method called.","example":"create_temp_user","type":"string"},"result":{"properties":{"status":{"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","example":1,"enum":[0,1],"type":"integer"},"messages":{"items":{"type":"string"},"description":"List of messages generated by the API.","example":null,"type":"array","nullable":true},"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null},"metadata":{"properties":{}},"data":{"type":"object","properties":{"created":{"enum":[0,1],"example":1,"description":"Whether the function successfully created the temporary user session.\n* `1` - Success.\n* `0` - Failure.","type":"integer"},"session_temp_user":{"description":"The temporary user's session ID.","example":"cpses_reviY3ZSQK","type":"string"}}},"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"},"example":null,"type":"array","nullable":true}},"type":"object"},"module":{"description":"The name of the module called.","example":"Session","type":"string"}}}}},"description":"HTTP Request was successful."}},"summary":"Create user session with existing session","x-cpanel-available-version":"cPanel 54.0.16","x-codeSamples":[{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/Session/create_temp_user"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\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/<theme_name>/\n#    to .../frontend/<theme_name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\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/<theme_name>/\n//    to .../frontend/<theme_name>/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\nheader('Content-Type: text/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\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"x-cpanel-api-version":"UAPI","x-cpanel-cli-support":false,"parameters":[],"x-rollback":"none","description":"This function creates a temporary user session.\n\n**Important:**\n\n* 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.\n* 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.\n* If you **cannot** update your system, update your scripts to call the `Cgi::phpmyadminlink` function. This will create a temporary user session for you."}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"},"title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."},"security":[{"BasicAuth":[]}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}}}],"tags":[{"name":"Session","description":"The Session module for UAPI."},{"name":"Webmail Sessions","description":"Email / Webmail Sessions"}],"x-tagGroups":[{"name":"Email","tags":["Webmail Sessions"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}}},"create_webmail_session_for_mail_user":{"security":[{"BasicAuth":[]}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute"}],"tags":[{"description":"The Session module for UAPI.","name":"Session"},{"description":"Email / Webmail Sessions","name":"Webmail Sessions"}],"x-tagGroups":[{"name":"Email","tags":["Webmail Sessions"]}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"paths":{"/Session/create_webmail_session_for_mail_user":{"get":{"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```","x-rollback":"none","parameters":[{"name":"login","in":"query","required":true,"description":"The Webmail account's username.","schema":{"example":"username","type":"string"}},{"name":"domain","in":"query","description":"The domain for the Webmail account.","required":true,"schema":{"type":"string","example":"example.com"}},{"name":"locale","in":"query","required":false,"description":"The [locale](https://go.cpanel.net/localedocs) that the new session will use.\n\n**Note:**\n\n* You must **only** enter lowercase characters.\n* This parameter defaults to the cPanel user's locale.","schema":{"type":"string","example":"en"}},{"schema":{"format":"ipv4","type":"string","example":"192.168.0.1"},"description":"The session's client IP address.\n\n**Note:**\n\n* If you run this function from the command line, this parameter is **required**.\n* This parameter defaults to the API caller's IP address.","required":false,"in":"query","name":"remote_address"}],"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"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Session/create_webmail_session_for_mail_user?login=username&domain=example.com","label":"URL","lang":"HTTP"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\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/<theme_name>/\n#    to .../frontend/<theme_name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\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/<theme_name>/\n//    to .../frontend/<theme_name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"summary":"Create Webmail session","x-cpanel-available-version":"cPanel 86","x-cpanel-api-version":"UAPI","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"func":{"type":"string","description":"The name of the method called.","example":"create_webmail_session_for_mail_user"},"module":{"example":"Session","description":"The name of the module called.","type":"string"},"result":{"type":"object","properties":{"messages":{"description":"List of messages generated by the API.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null},"metadata":{"properties":{"transformed":{"type":"integer","example":1,"enum":[1],"description":"Post-processing may have transformed the data."}}},"warnings":{"example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","nullable":true,"type":"array"},"data":{"properties":{"token":{"type":"string","example":"/cpsess2462418786","description":"A new security token."},"session":{"example":"username:D7NiAZv1nf4bXeg9:CREATE_WEBMAIL_SESSION_FOR_MAIL_USER,728fb86a7df1cf20690c65f349ac3137","description":"The session ID to submit via POST to begin using the new session.","type":"string"},"hostname":{"type":"string","nullable":true,"description":"The Webmail server's hostname.\n\n**Note:**\n\nThe function returns a `null` value when the Webmail server is not remote.","example":"hostname.example.com"}},"type":"object"},"status":{"type":"integer","description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","enum":[0,1],"example":1}}}},"type":"object"}}}}},"tags":["Session","Webmail Sessions"],"x-readonly":false,"operationId":"Session-create_webmail_session_for_mail_user"}}}},"create_webmail_session_for_self":{"paths":{"/Session/create_webmail_session_for_self":{"get":{"parameters":[{"in":"query","name":"locale","description":"The [locale](https://go.cpanel.net/localedocs) that the new session will use.\n\nUse UAPI `Locale::list_locales` to see a list of valid locales.\n\n**Note:**\n\n* You must **only** enter lowercase characters.\n* This parameter defaults to the cPanel user's locale.","required":false,"schema":{"example":"en","type":"string"}},{"name":"remote_address","in":"query","required":false,"description":"The session's client IP address.\n\n**Note:**\n\n* If you run this function from the command line, this parameter is **required**.\n* This parameter defaults to the API caller's IP address.","schema":{"format":"ipv4","type":"string","example":"192.168.0.1"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"module":{"description":"The name of the module called.","example":"Session","type":"string"},"result":{"properties":{"data":{"properties":{"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"},"hostname":{"format":"domain","nullable":true,"type":"string","example":"hostname.example.com","description":"The Webmail server's hostname.\n\n**Note:**\n\nThe function returns a `null` value when the Webmail server is **not** remote."}},"type":"object"},"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null,"type":"array","nullable":true},"metadata":{"properties":{"transformed":{"type":"integer","description":"Post-processing may have transformed the data.","example":1,"enum":[1]}}},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."},"status":{"type":"integer","enum":[0,1],"example":1,"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details."}},"type":"object"},"func":{"example":"create_webmail_session_for_self","description":"The name of the method called.","type":"string"},"apiversion":{"type":"integer","description":"The version of the API.","example":3}}}}},"description":"HTTP Request was successful."}},"tags":["Session","Webmail Sessions"],"x-readonly":false,"operationId":"Session-create_webmail_session_for_self","x-cpanel-api-version":"UAPI","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).\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```","x-cpanel-available-version":"cPanel 86","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Session \\\n  create_webmail_session_for_self\n","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Session/create_webmail_session_for_self","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\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/<theme_name>/\n#    to .../frontend/<theme_name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\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/<theme_name>/\n//    to .../frontend/<theme_name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"summary":"Create Webmail session for current user","x-rollback":"none"}}},"info":{"termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"tags":["Webmail Sessions"],"name":"Email"}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute"}],"tags":[{"name":"Session","description":"The Session module for UAPI."},{"description":"Email / Webmail Sessions","name":"Webmail Sessions"}],"security":[{"BasicAuth":[]}]}},"Mysql":{"dump_database_schema":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"security":[{"BasicAuth":[]}],"x-tagGroups":[{"tags":["Database Management"],"name":"MySQL and MariaDB"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"tags":[{"name":"Mysql","description":"The Mysql module for UAPI."},{"description":"MySQL and MariaDB / Database Management","name":"Database Management"}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute"}],"paths":{"/Mysql/dump_database_schema":{"get":{"x-cpanel-api-version":"UAPI","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Mysql \\\n  dump_database_schema \\\n  dbname='username_example_db'\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Mysql/dump_database_schema?dbname=username_example_db","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mysql_dump_database_schema.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mysql_dump_database_schema.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mysql/,\n    q/dump_database_schema/,\n    {\n        'dbname' => 'username_example_db',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mysql_dump_database_schema.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mysql_dump_database_schema.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mysql',\n    'dump_database_schema',\n    array (\n        'dbname' => 'username_example_db',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"summary":"Return MySQL database schema","x-cpanel-available-version":"cPanel 82","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.","parameters":[{"description":"The database's name.","required":true,"schema":{"example":"username_example_db","type":"string"},"name":"dbname","in":"query"}],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"description":"The version of the API.","example":3,"type":"integer"},"result":{"properties":{"warnings":{"example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.","nullable":true,"type":"array"},"data":{"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","description":"The string to give to MySQL.","type":"string"},"metadata":{"properties":{"transformed":{"type":"integer","description":"Post-processing may have transformed the data.","example":1,"enum":[1]}}},"errors":{"example":null,"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"},"example":null,"type":"array","nullable":true},"status":{"enum":[0,1],"example":1,"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","type":"integer"}},"type":"object"},"module":{"example":"Mysql","description":"The name of the module called.","type":"string"},"func":{"type":"string","description":"The name of the method called.","example":"dump_database_schema"}},"type":"object"}}}}},"tags":["Mysql","Database Management"],"x-readonly":true,"operationId":"Mysql-dump_database_schema"}}}},"revoke_access_to_database":{"paths":{"/Mysql/revoke_access_to_database":{"get":{"x-cpanel-api-version":"UAPI","description":"This function revokes a MySQL® database user's privileges.\n\n**Important:**\n\nWhen you disable the [MySQL role](https://go.cpanel.net/serverroles) **and**\nremote MySQL is **not** already configured, the system **disables** this function.","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"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mysql_revoke_access_to_database.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mysql_revoke_access_to_database.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mysql/,\n    q/revoke_access_to_database/,\n    {\n        'user' => 'dbuser',\n        'database' => 'mydb',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mysql_revoke_access_to_database.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mysql_revoke_access_to_database.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mysql',\n    'revoke_access_to_database',\n    array (\n        'user' => 'dbuser',\n        'database' => 'mydb',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"summary":"Remove MySQL user privileges","x-cpanel-available-version":"cPanel 11.44","x-rollback":"none","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"description":"The version of the API.","example":3,"type":"integer"},"func":{"type":"string","description":"The name of the method called.","example":"revoke_access_to_database"},"module":{"type":"string","example":"Mysql","description":"The name of the module called."},"result":{"properties":{"status":{"type":"integer","enum":[0,1],"example":1,"description":"* `1` - Success\n* `0` - Failed: Check the errors field for more details."},"data":{"type":"object","nullable":true,"default":null},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"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},"metadata":{"properties":{}},"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"messages":{"items":{"type":"string"},"description":"List of messages generated by the API.","example":null,"type":"array","nullable":true}}}},"type":"object"}}}}},"parameters":[{"in":"query","name":"user","schema":{"type":"string","example":"dbuser"},"description":"The database user's name.\n\n**Important:**\n\nIf database prefixing is enabled, you **must** prefix this value with the account\nprefix and an underscore (`_`).\n\nFor example, for the `dbuser` user on the `user` cPanel account, pass in a value\nof `user_dbuser`. ","required":true},{"description":"The database's name.","required":true,"schema":{"type":"string","example":"mydb"},"name":"database","in":"query"}],"tags":["Mysql","User Management"],"x-readonly":false,"operationId":"Mysql-revoke_access_to_database"}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access\nand modify cPanel account data and settings.","contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}},"security":[{"BasicAuth":[]}],"tags":[{"description":"The Mysql module for UAPI.","name":"Mysql"},{"name":"User Management","description":"MySQL and MariaDB / User Management"}],"openapi":"3.0.2","servers":[{"variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"x-tagGroups":[{"tags":["User Management"],"name":"MySQL and MariaDB"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}}},"check_database":{"openapi":"3.0.2","tags":[{"description":"The Mysql module for UAPI.","name":"Mysql"},{"name":"Database Management","description":"MySQL and MariaDB / Database Management"}],"servers":[{"variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"x-tagGroups":[{"name":"MySQL and MariaDB","tags":["Database Management"]}],"security":[{"BasicAuth":[]}],"info":{"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features.\nUse this API to access and modify cPanel account data and settings.","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/","contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/Mysql/check_database":{"get":{"operationId":"Mysql-check_database","x-readonly":false,"parameters":[{"schema":{"example":"example_test","type":"string"},"required":true,"description":"The database's name.","in":"query","name":"name"}],"tags":["Mysql","Database Management"],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"type":"integer","description":"The version of the API.","example":3},"func":{"type":"string","description":"The name of the method called.","example":"check_database"},"result":{"properties":{"errors":{"example":null,"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"},"example":null,"type":"array","nullable":true},"warnings":{"example":null,"items":{"type":"string"},"description":"List of warnings generated by the API.\nWarnings describe non-critical failures or other problematic conditions noted while running a API.","nullable":true,"type":"array"},"data":{"type":"array","items":{"properties":{"msg_type":{"enum":["status","error","info","note","warning"],"example":"status","description":"The type of message.\n* `status`\n* `error`\n* `info`\n* `note`\n* `warning`\n\n**Note:**\n\nFor more information, read [MySQL's `CHECK TABLE` documentation](http://dev.mysql.com/doc/refman/5.7/en/check-table.html).","type":"string"},"msg_text":{"example":"OK","description":"The message's contents.","type":"string"},"table":{"type":"string","description":"The table's name.","example":"table1"}},"type":"object"},"description":"An array that contains a response message for each of a database's tables in sequence."},"metadata":{"properties":{"transformed":{"type":"integer","description":"Post-processing may have transformed the data.","example":1,"enum":[1]}}},"status":{"description":"* `1` - Success\n* `0` - Failed: Check the errors field for more details.","enum":[0,1],"example":1,"type":"integer"}},"type":"object"},"module":{"type":"string","example":"Mysql","description":"The name of the module called."}}}}},"description":"HTTP Request was successful."}},"x-rollback":"none","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Mysql \\\n  check_database \\\n  name='example_test'\n"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/Mysql/check_database?name=example_test"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mysql_check_database.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mysql_check_database.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mysql/,\n    q/check_database/,\n    {\n        'name' => 'example_test',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mysql_check_database.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mysql_check_database.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mysql',\n    'check_database',\n    array (\n        'name' => 'example_test',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-available-version":"cPanel 54","summary":"Validate MySQL database integrity","description":"This function checks for errors in all of the tables in a MySQL® database.\n\n**Important:**\n\nWhen you disable the [MySQL role](https://go.cpanel.net/serverroles) **and**\nremote MySQL is **not** already configured, the system **disables** this function.","x-cpanel-api-version":"UAPI"}}}},"locate_server":{"paths":{"/Mysql/locate_server":{"get":{"x-cpanel-api-version":"UAPI","description":"This function returns information about the account's MySQL® host.\n\n**Important:**\n\nWhen you disable the [MySQL/MariaDB role](https://go.cpanel.net/serverroles#roles) **and** remote MySQL is **not** already configured, the system **disables** this function.","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Mysql \\\n  locate_server\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Mysql/locate_server","lang":"HTTP","label":"URL"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mysql_locate_server.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mysql_locate_server.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mysql/,\n    q/locate_server/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mysql_locate_server.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mysql_locate_server.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mysql',\n    'locate_server'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"summary":"Return MySQL server host information","x-cpanel-available-version":"cPanel 11.52","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"description":"The version of the API.","example":3,"type":"integer"},"func":{"example":"locate_server","description":"The name of the method called.","type":"string"},"module":{"description":"The name of the module called.","example":"Mysql","type":"string"},"result":{"type":"object","properties":{"status":{"example":1,"enum":[0,1],"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","type":"integer"},"metadata":{"properties":{}},"data":{"type":"object","properties":{"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"},{"format":"domain","type":"string","example":"remote.example.com","description":"A hostname."}]},"is_remote":{"type":"integer","description":"Whether the host is a remote MySQL server.\n* `1` - Remote host.\n* `0` - Local host.","example":1,"enum":[0,1]}}},"warnings":{"type":"array","nullable":true,"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"},"example":null},"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null},"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null}}}}}}}}},"parameters":[],"tags":["Mysql","Database Information"],"operationId":"Mysql-locate_server","x-readonly":true}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"}},"security":[{"BasicAuth":[]}],"x-tagGroups":[{"name":"MySQL and MariaDB","tags":["Database Information"]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"tags":[{"name":"Mysql","description":"The Mysql module for UAPI."},{"name":"Database Information","description":"MySQL and MariaDB / Database Information"}],"openapi":"3.0.2","servers":[{"variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}]},"add_host_note":{"paths":{"/Mysql/add_host_note":{"get":{"description":"This function adds a note about a remote MySQL® server.\n\n**Important:**\n\n* If you attempt to add a note to an unauthorized remote MySQL server, the function will fail.\n* When you **disable** the [MySQL role](https://go.cpanel.net/serverroles), the system disables this function.","x-rollback":"none","parameters":[{"name":"host","in":"query","description":"The remote MySQL server's hostname or IP address.\n\nYou may use the following IP address formats:\n\n* `192.168.1.6` — IP address.\n* `192.168.%.%` — Range with the percent (%) symbol as a wildcard.\n* `192.168.0.0/16` — Range in CIDR format.","required":true,"example":"192.168.1.6","schema":{"oneOf":[{"type":"string","format":"ipv4","example":"192.168.1.6"},{"example":"remote.example.com","type":"string","format":"domain"},{"description":"IP address range with the percent (%) symbol as a wildcard.","example":"192.168.%.%","type":"string"},{"type":"string","description":"IP address range in CIDR format.","example":"192.168.0.0/16"}]}},{"in":"query","name":"note","schema":{"type":"string","example":"A remote mysql server for storing my data"},"description":"note that describes the remote MySQL server.","required":true}],"x-codeSamples":[{"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":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Mysql/add_host_note?host=192.168.1.6&note=A%20remote%20mysql%20server%20for%20storing%20my%20data","lang":"HTTP","label":"URL"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mysql_add_host_note.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mysql_add_host_note.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mysql/,\n    q/add_host_note/,\n    {\n        'host' => '192.168.1.6',\n        'note' => 'A remote mysql server for storing my data',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mysql_add_host_note.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mysql_add_host_note.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mysql',\n    'add_host_note',\n    array (\n        'host' => '192.168.1.6',\n        'note' => 'A remote mysql server for storing my data',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"summary":"Add remote MySQL host note","x-cpanel-available-version":"cPanel 74","x-cpanel-api-version":"UAPI","tags":["Mysql","Remote Databases"],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"apiversion":{"type":"integer","description":"The version of the API.","example":3},"func":{"type":"string","description":"The name of the method called.","example":"add_host_note"},"module":{"type":"string","example":"Mysql","description":"The name of the module called."},"result":{"properties":{"status":{"enum":[0,1],"example":1,"description":"* `1` - Success\n* `0` - Failed: Check the errors field for more details.","type":"integer"},"data":{"default":null,"type":"object","nullable":true},"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API.\nWarnings describe non-critical failures or other problematic conditions noted while running an API.","example":null,"type":"array","nullable":true},"metadata":{"properties":{}},"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null}}}},"type":"object"}}},"description":"HTTP Request was successful."}},"operationId":"Mysql-add_host_note","x-readonly":false}}},"security":[{"BasicAuth":[]}],"x-tagGroups":[{"name":"MySQL and MariaDB","tags":["Remote Databases"]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"openapi":"3.0.2","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":[{"name":"Mysql","description":"The Mysql module for UAPI."},{"description":"MySQL and MariaDB / Remote Databases","name":"Remote Databases"}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"description":"UAPI accesses the cPanel interface's features.\nUse this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}}},"repair_database":{"paths":{"/Mysql/repair_database":{"get":{"x-cpanel-api-version":"UAPI","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Mysql \\\n  repair_database \\\n  name='example_db'\n"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/Mysql/repair_database?name=example_db"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mysql_repair_database.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mysql_repair_database.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mysql/,\n    q/repair_database/,\n    {\n        'name' => 'example_db',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mysql_repair_database.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mysql_repair_database.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mysql',\n    'repair_database',\n    array (\n        'name' => 'example_db',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"summary":"Repair MySQL database tables","x-cpanel-available-version":"cPanel 54","operationId":"Mysql-repair_database","x-readonly":false,"tags":["Mysql","Database Management"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"func":{"description":"The name of the method called.","example":"repair_database","type":"string"},"result":{"properties":{"status":{"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","enum":[0,1],"example":1,"type":"integer"},"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null,"type":"array","nullable":true},"data":{"type":"array","description":"An array of objects containing a response message for each of a database's table in sequence.","items":{"properties":{"msg_type":{"type":"string","example":"status","enum":["status","error","info","note","warning"],"description":"The type of message.\n\n* `status`\n* `error`\n* `info`\n* `note`\n* `warning`\n\n**Note:**\n\nFor more information, read [MySQL's REPAIR TABLE](http://dev.mysql.com/doc/refman/5.7/en/repair-table.html) documentation."},"msg_text":{"example":"OK","description":"The message's contents.","type":"string"},"table":{"description":"The table's name in the database.","example":"table1","type":"string"}},"type":"object"}},"metadata":{"properties":{"transformed":{"description":"Post-processing may have transformed the data.","enum":[1],"example":1,"type":"integer"}}},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"messages":{"example":null,"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"}},"type":"object"},"module":{"example":"Mysql","description":"The name of the module called.","type":"string"}}}}}}},"x-rollback":"none","description":"This function repairs all of the tables in a MySQL® database.\n\n**Important:**\n\nWhen you disable the [MySQL/MariaDB role](https://go.cpanel.net/serverroles)\n**and** remote MySQL is **not** already configured, the system **disables** this function.","parameters":[{"name":"name","in":"query","description":"The database's name.","required":true,"schema":{"type":"string","example":"example_db"}}]}}},"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999"},"externalDocs":{"url":"https://cpanel.net/developers/"},"x-tagGroups":[{"name":"MySQL and MariaDB","tags":["Database Management"]}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"openapi":"3.0.2","servers":[{"url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}},"description":"A server running cPanel."}],"tags":[{"description":"The Mysql module for UAPI.","name":"Mysql"},{"name":"Database Management","description":"MySQL and MariaDB / Database Management"}],"security":[{"BasicAuth":[]}]},"delete_database":{"paths":{"/Mysql/delete_database":{"get":{"parameters":[{"name":"name","in":"query","description":"The database's name.","required":true,"schema":{"example":"example","type":"string"}}],"x-rollback":"none","description":"This function deletes a MySQL® database.\n\n**Important:**\n\nwhen you disable the [MySQL/MariaDB role](https://go.cpanel.net/serverroles#roles) **and**\nremote MySQL is **not** already configured, the system **disables** this function.","operationId":"Mysql-delete_database","x-readonly":false,"tags":["Mysql","Database Management"],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"result":{"properties":{"metadata":{"properties":{}},"warnings":{"items":{"type":"string"},"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,"type":"array","nullable":true},"data":{"type":"object","nullable":true,"default":null},"messages":{"items":{"type":"string"},"description":"List of messages generated by the API.","example":null,"type":"array","nullable":true},"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null},"status":{"enum":[0,1],"example":1,"description":"* `1` - Success\n* `0` - Failed: Check the errors field for more details.","type":"integer"}}},"module":{"description":"The name of the module called.","example":"Mysql","type":"string"},"func":{"example":"delete_database","description":"The name of the method called.","type":"string"},"apiversion":{"type":"integer","description":"The version of the API.","example":3}}}}},"description":"HTTP Request was successful."}},"x-cpanel-api-version":"UAPI","x-cpanel-available-version":"cPanel 11.52","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Mysql \\\n  delete_database \\\n  name='example'\n","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Mysql/delete_database?name=example","label":"URL","lang":"HTTP"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mysql_delete_database.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mysql_delete_database.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mysql/,\n    q/delete_database/,\n    {\n        'name' => 'example',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mysql_delete_database.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mysql_delete_database.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mysql',\n    'delete_database',\n    array (\n        'name' => 'example',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Delete MySQL database"}}},"security":[{"BasicAuth":[]}],"x-tagGroups":[{"name":"MySQL and MariaDB","tags":["Database Management"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"description":"The Mysql module for UAPI.","name":"Mysql"},{"name":"Database Management","description":"MySQL and MariaDB / Database Management"}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"description":"UAPI accesses the cPanel interface's features.\nUse this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"}}},"get_host_notes":{"x-tagGroups":[{"tags":["Remote Databases"],"name":"MySQL and MariaDB"}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"openapi":"3.0.2","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":{"description":"The cPanel port.","default":"2083"}}}],"tags":[{"description":"The Mysql module for UAPI.","name":"Mysql"},{"name":"Remote Databases","description":"MySQL and MariaDB / Remote Databases"}],"security":[{"BasicAuth":[]}],"info":{"contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"},"license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/Mysql/get_host_notes":{"get":{"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"type":"integer","description":"The version of the API.","example":3},"func":{"example":"get_host_notes","description":"The name of the method called.","type":"string"},"result":{"type":"object","properties":{"status":{"enum":[0,1],"example":1,"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","type":"integer"},"metadata":{"properties":{}},"data":{"description":"The keys are remote MySQL hostnames or IP addresses and values are their corresponding notes.","example":{"12.34.56.78":"Located somewhere in the Ford Galaxy","8.8.8.8":"Located on Spaceball 1","1.2.3.45":"The combination on my luggage"},"additionalProperties":{"type":"string","description":"The notes associated with the account's Remote MySQL hosts.","example":"Located somewhere in the Ford Galaxy"},"type":"object"},"warnings":{"nullable":true,"type":"array","example":null,"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"}},"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null},"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null}}},"module":{"description":"The name of the module called.","example":"Mysql","type":"string"}}}}},"description":"HTTP Request was successful."}},"tags":["Mysql","Remote Databases"],"parameters":[],"x-readonly":true,"operationId":"Mysql-get_host_notes","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Mysql \\\n  get_host_notes\n"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/Mysql/get_host_notes"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mysql_get_host_notes.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mysql_get_host_notes.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mysql/,\n    q/get_host_notes/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mysql_get_host_notes.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mysql_get_host_notes.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mysql',\n    'get_host_notes'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"x-cpanel-available-version":"cPanel 74","summary":"Return remote MySQL host notes","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.","x-cpanel-api-version":"UAPI"}}}},"get_restrictions":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}},"security":[{"BasicAuth":[]}],"x-tagGroups":[{"name":"MySQL and MariaDB","tags":["User Management"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"servers":[{"description":"A server running cPanel.","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"url":"https://{host}:{port}/execute"}],"openapi":"3.0.2","tags":[{"name":"Mysql","description":"The Mysql module for UAPI."},{"description":"MySQL and MariaDB / User Management","name":"User Management"}],"paths":{"/Mysql/get_restrictions":{"get":{"x-cpanel-api-version":"UAPI","summary":"Return MySQL name length restrictions","x-cpanel-available-version":"cPanel 11.44","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Mysql \\\n  get_restrictions\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Mysql/get_restrictions","label":"URL","lang":"HTTP"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mysql_get_restrictions.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mysql_get_restrictions.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mysql/,\n    q/get_restrictions/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mysql_get_restrictions.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mysql_get_restrictions.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mysql',\n    'get_restrictions'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"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.","x-readonly":true,"operationId":"Mysql-get_restrictions","tags":["Mysql","User Management"],"parameters":[],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"module":{"description":"The name of the module called.","example":"Mysql","type":"string"},"result":{"properties":{"metadata":{"properties":{}},"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"warnings":{"type":"array","nullable":true,"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"},"example":null},"data":{"type":"object","properties":{"max_username_length":{"type":"integer","example":16,"description":"The maximum length of a MySQL database user's name.","minimum":1},"prefix":{"nullable":true,"type":"string","example":"user_","description":"The account's database prefix, if database prefixing is enabled.\n* If database prefixing is enabled, a string of up to the first eight characters of the cPanel account username, and an underscore (_).\n* If database prefixing is disabled, this is null."},"max_database_name_length":{"example":64,"description":"The maximum length of a MySQL database name.","minimum":1,"type":"integer"}}},"messages":{"description":"List of messages generated by the API.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"status":{"type":"integer","enum":[0,1],"example":1,"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details."}},"type":"object"},"func":{"description":"The name of the method called.","example":"get_restrictions","type":"string"}}}}}}}}}}},"create_database":{"paths":{"/Mysql/create_database":{"get":{"x-readonly":false,"operationId":"Mysql-create_database","parameters":[{"schema":{"example":"newdb","type":"string"},"required":true,"description":"The new database's name.","in":"query","name":"name"},{"in":"query","name":"prefix-size","required":false,"description":"The desired prefix size.","schema":{"type":"integer","example":16,"enum":[8,16],"default":16}}],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"func":{"type":"string","description":"The name of the method called.","example":"create_database"},"result":{"properties":{"status":{"type":"integer","example":1,"enum":[0,1],"description":"* `1` - Success\n* `0` - Failed: Check the `errors` field for more details."},"errors":{"example":null,"description":"List of errors if the API failed.","items":{"type":"string"},"nullable":true,"type":"array"},"messages":{"example":null,"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"},"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null,"type":"array","nullable":true},"data":{"default":null,"nullable":true,"type":"object"},"metadata":{"properties":{}}}},"module":{"type":"string","example":"Mysql","description":"The name of the module called."},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}},"type":"object"}}}}},"tags":["Mysql","Database Management"],"x-rollback":"none","x-cpanel-api-version":"UAPI","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.","summary":"Create MySQL database","x-cpanel-available-version":"cPanel 11.44","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Mysql \\\n  create_database \\\n  name='newdb'\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Mysql/create_database?name=newdb","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mysql_create_database.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mysql_create_database.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mysql/,\n    q/create_database/,\n    {\n        'name' => 'newdb',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mysql_create_database.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mysql_create_database.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mysql',\n    'create_database',\n    array (\n        'name' => 'newdb',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}]}}},"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.","version":"11.89.0.9999","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"openapi":"3.0.2","tags":[{"name":"Mysql","description":"The Mysql module for UAPI."},{"description":"MySQL and MariaDB / Database Management","name":"Database Management"}],"servers":[{"description":"A server running cPanel.","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute"}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"x-tagGroups":[{"name":"MySQL and MariaDB","tags":["Database Management"]}],"security":[{"BasicAuth":[]}]},"delete_host":{"security":[{"BasicAuth":[]}],"servers":[{"variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"name":"Mysql","description":"The Mysql module for UAPI."},{"description":"MySQL and MariaDB / Remote Databases","name":"Remote Databases"}],"x-tagGroups":[{"name":"MySQL and MariaDB","tags":["Remote Databases"]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"},"title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999"},"paths":{"/Mysql/delete_host":{"get":{"parameters":[{"schema":{"type":"string","example":"remote.example.com"},"required":true,"description":"The remote MySQL server's hostname, IP Address, or IP address range.\n\n**Note:**\nYou may use the following IP address formats:\n\n192.168.1.6 — IP address.\n192.168.%.% — Range with the percent (%) symbol as a wildcard.\n192.168.0.0/16 — Range in CIDR format.","in":"query","name":"host"}],"description":"This function removes a remote MySQL® host's access to the account's databases.\n\n**Important:**\n\nWhen you disable the [MySQL role](https://go.cpanel.net/serverroles) and remote MySQL is not already configured, the system **disables** this function.","x-rollback":"none","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"result":{"properties":{"status":{"type":"integer","enum":[0,1],"example":1,"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details."},"warnings":{"type":"array","nullable":true,"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"},"example":null},"data":{"default":null,"nullable":true,"type":"object"},"metadata":{"properties":{}},"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"messages":{"description":"List of messages generated by the API.","items":{"type":"string"},"example":null,"type":"array","nullable":true}}},"module":{"description":"The name of the module called.","example":"Mysql","type":"string"},"func":{"type":"string","example":"delete_host","description":"The name of the method called."},"apiversion":{"type":"integer","example":3,"description":"The version of the API."}},"type":"object"}}}}},"tags":["Mysql","Remote Databases"],"operationId":"Mysql-delete_host","x-readonly":false,"summary":"Disable remote MySQL host access","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Mysql \\\n  delete_host \\\n  host='remote.example.com'\n","lang":"Shell","label":"CLI"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Mysql/delete_host?host=remote.example.com","lang":"HTTP","label":"URL"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mysql_delete_host.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mysql_delete_host.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mysql/,\n    q/delete_host/,\n    {\n        'host' => 'remote.example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mysql_delete_host.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mysql_delete_host.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mysql',\n    'delete_host',\n    array (\n        'host' => 'remote.example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"x-cpanel-available-version":"cPanel 11.52","x-cpanel-api-version":"UAPI"}}}},"add_host":{"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"x-tagGroups":[{"tags":["Remote Databases"],"name":"MySQL and MariaDB"}],"servers":[{"description":"A server running cPanel.","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute"}],"openapi":"3.0.2","tags":[{"description":"The Mysql module for UAPI.","name":"Mysql"},{"name":"Remote Databases","description":"MySQL and MariaDB / Remote Databases"}],"security":[{"BasicAuth":[]}],"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features.\nUse this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/Mysql/add_host":{"get":{"parameters":[{"schema":{"oneOf":[{"example":"192.168.1.6","type":"string","format":"ipv4"},{"type":"string","format":"domain","example":"remote.example.com"},{"type":"string","example":"192.168.%.%","description":"IP address range with the percent (%) symbol as a wildcard."},{"type":"string","example":"192.168.0.0/16","description":"IP address range in CIDR format."}]},"example":"192.168.1.6","description":"The remote MySQL server's hostname or IP address.\n\nYou may use the following IP address formats:\n\n* `192.168.1.6` — IP address.\n* `192.168.%.%` — Range with the percent (%) symbol as a wildcard.\n* `192.168.0.0/16` — Range in CIDR format.","name":"host","required":true,"in":"query"}],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"func":{"description":"The name of the method called.","example":"add_host","type":"string"},"result":{"properties":{"data":{"type":"object","nullable":true,"default":null},"warnings":{"nullable":true,"type":"array","example":null,"description":"List of warnings generated by the API.\nWarnings describe non-critical failures or\n other problematic conditions noted while running a API.","items":{"type":"string"}},"metadata":{"properties":{}},"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null},"messages":{"items":{"type":"string"},"description":"List of messages generated by the API.","example":null,"type":"array","nullable":true},"status":{"type":"integer","description":"* `1` - Success\n* `0` - Failed: Check the errors field for more details.","example":1,"enum":[0,1]}}},"module":{"type":"string","example":"Mysql","description":"The name of the module called."}}}}}}},"tags":["Mysql","Remote Databases"],"x-readonly":false,"operationId":"Mysql-add_host","description":"This function authorizes a remote MySQL® host to access the account's databases.\n\n**Important:**\n\nWhen you disable the [MySQL role](https://go.cpanel.net/serverroles)\n and remote MySQL is **not** already configured,\n the system **disables** this function.","summary":"Enable remote MySQL host access","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Mysql \\\n  add_host \\\n  host='192.168.1.6'\n","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Mysql/add_host?host=192.168.1.6","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mysql_add_host.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mysql_add_host.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mysql/,\n    q/add_host/,\n    {\n        'host' => '192.168.1.6',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mysql_add_host.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mysql_add_host.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mysql',\n    'add_host',\n    array (\n        'host' => '192.168.1.6',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"x-cpanel-available-version":"cPanel 11.52","x-cpanel-api-version":"UAPI","x-rollback":"none"}}}},"get_privileges_on_database":{"paths":{"/Mysql/get_privileges_on_database":{"get":{"x-readonly":true,"operationId":"Mysql-get_privileges_on_database","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"description":"The version of the API.","example":3,"type":"integer"},"func":{"type":"string","example":"get_privileges_on_database","description":"The name of the method called."},"module":{"description":"The name of the module called.","example":"Mysql","type":"string"},"result":{"properties":{"status":{"description":"* `1` - Success\n* `0` - Failed: Check the errors field for more details.","enum":[0,1],"example":1,"type":"integer"},"metadata":{"properties":{"transformed":{"example":1,"enum":[1],"description":"Post-processing may have transformed the data.","type":"integer"}}},"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API.\nWarnings describe non-critical failures or other problematic conditions noted while running a API."},"data":{"type":"array","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":{"type":"string","example":"CREATE"}},"messages":{"example":null,"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"},"errors":{"example":null,"description":"List of errors if the API failed.","items":{"type":"string"},"nullable":true,"type":"array"}},"type":"object"}}}}}}},"tags":["Mysql","User Management"],"parameters":[{"name":"user","in":"query","required":true,"description":"The database user's name.\n\n**Important:**\n\nIf database prefixing is enabled, you **must** prefix this value with the account prefix and an underscore (`_`).\n\nFor example, for the `dbuser` user on the `user` cPanel account, pass in a value of `user_dbuser`.","schema":{"type":"string","example":"dbuser"}},{"description":"The database name.","required":true,"schema":{"example":"mydb","type":"string"},"name":"database","in":"query"}],"x-cpanel-api-version":"UAPI","x-cpanel-available-version":"cPanel 11.44","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Mysql \\\n  get_privileges_on_database \\\n  user='dbuser' \\\n  database='mydb'\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Mysql/get_privileges_on_database?user=dbuser&database=mydb","lang":"HTTP","label":"URL"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mysql_get_privileges_on_database.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mysql_get_privileges_on_database.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mysql/,\n    q/get_privileges_on_database/,\n    {\n        'user' => 'dbuser',\n        'database' => 'mydb',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mysql_get_privileges_on_database.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mysql_get_privileges_on_database.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mysql',\n    'get_privileges_on_database',\n    array (\n        'user' => 'dbuser',\n        'database' => 'mydb',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Return MySQL user privileges","description":"This function lists a MySQL® database user's privileges.\n\n**Important:**\n\nWhen you disable the [MySQL role](https://go.cpanel.net/serverroles)\nand remote MySQL is not already configured, the system disables this function."}}},"x-tagGroups":[{"tags":["User Management"],"name":"MySQL and MariaDB"}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute"}],"tags":[{"name":"Mysql","description":"The Mysql module for UAPI."},{"name":"User Management","description":"MySQL and MariaDB / User Management"}],"security":[{"BasicAuth":[]}],"info":{"license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features.\nUse this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"externalDocs":{"url":"https://cpanel.net/developers/"}},"rename_user":{"paths":{"/Mysql/rename_user":{"get":{"x-cpanel-api-version":"UAPI","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.","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Mysql \\\n  rename_user \\\n  oldname='dbuser' \\\n  newname='mynewusername'\n"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/Mysql/rename_user?oldname=dbuser&newname=mynewusername"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mysql_rename_user.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mysql_rename_user.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mysql/,\n    q/rename_user/,\n    {\n        'oldname' => 'dbuser',\n        'newname' => 'mynewusername',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mysql_rename_user.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mysql_rename_user.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mysql',\n    'rename_user',\n    array (\n        'oldname' => 'dbuser',\n        'newname' => 'mynewusername',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"x-cpanel-available-version":"cPanel 11.44","summary":"Update MySQL username","x-rollback":"none","tags":["Mysql","User Management"],"parameters":[{"name":"oldname","in":"query","schema":{"example":"dbuser","type":"string"},"description":"The user's current name.","required":true},{"name":"newname","in":"query","schema":{"type":"string","example":"mynewusername"},"required":true,"description":"The user's new name.\n\nImportant:\n====\n\nTo learn more about database username limits, check your database type:\n\nMySQL 5.6\n----\n\nMySQL version 5.6 limits the database username to 16 characters. The server uses the first nine characters of this limit for the database prefix. The database prefix uses the cPanel account's username and an underscore (`_`). The server only applies the first eight characters of the cPanel account's username.\n\nFor example:\n\n* A `db_` database prefix allows MySQL usernames of up to 13 characters.\n* An `example_` database prefix allows MySQL usernames of up to eight characters.\n\nMySQL 5.7+\n----\n\nMySQL versions 5.7 and later limit the database username to 32 characters. The server uses the first nine characters of this limit for the database prefix. The database prefix uses the cPanel account's username and an underscore (`_`). The server only applies the first eight characters of the cPanel account's username.\n\nFor example:\n\n* A `db_` database prefix allows MySQL usernames of up to 29 characters.\n* An `example_` database prefix allows MySQL usernames of up to 24 characters.\n\nMariaDB\n----\n\nMariaDB limits the database username to 47 characters. The server uses the first nine characters of this limit for the database prefix. The database prefix uses the cPanel account's username and an underscore (`_`). The server only applies the first eight characters of the cPanel account's username.\n\nFor example:\n\n* A `db_` database prefix allows MariaDB usernames of up to 44 characters.\n* An `example_` database prefix allows MariaDB usernames of up to 39 characters."}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","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":{"status":{"type":"integer","description":"* `1` - Success\n* `0` - Failed: Check the errors field for more details.","example":1,"enum":[0,1]},"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"metadata":{"properties":{}},"warnings":{"type":"array","nullable":true,"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"},"example":null},"data":{"default":null,"type":"object","nullable":true}}}}}}},"description":"HTTP Request was successful."}},"operationId":"Mysql-rename_user","x-readonly":false}}},"x-tagGroups":[{"tags":["User Management"],"name":"MySQL and MariaDB"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"description":"A server running cPanel."}],"tags":[{"description":"The Mysql module for UAPI.","name":"Mysql"},{"name":"User Management","description":"MySQL and MariaDB / User Management"}],"openapi":"3.0.2","security":[{"BasicAuth":[]}],"info":{"termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access\nand modify cPanel account data and settings. This function only returns\nmetadata.","contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"}},"externalDocs":{"url":"https://cpanel.net/developers/"}},"list_routines":{"paths":{"/Mysql/list_routines":{"get":{"operationId":"Mysql-list_routines","x-readonly":true,"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"func":{"type":"string","example":"list_routines","description":"The name of the method called."},"module":{"example":"Mysql","description":"The name of the module called.","type":"string"},"result":{"properties":{"status":{"type":"integer","description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","example":1,"enum":[0,1]},"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null},"data":{"type":"array","description":"An array of MySQL routines. If no routines exist, the function returns an empty array.","items":{"type":"string"},"example":["cptest_newdb.hello","cptest_newdb.my_routine"]},"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API."},"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"metadata":{"properties":{"transformed":{"example":1,"enum":[1],"description":"Post-processing may have transformed the data.","type":"integer"}}}},"type":"object"}},"type":"object"}}}}},"parameters":[{"in":"query","name":"database_user","required":false,"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.","schema":{"example":"db_user","type":"string"}}],"tags":["Mysql","User Management"],"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.","x-cpanel-available-version":"cPanel 82","summary":"Return MySQL user routines","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Mysql \\\n  list_routines\n","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Mysql/list_routines","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mysql_list_routines.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mysql_list_routines.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mysql/,\n    q/list_routines/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mysql_list_routines.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mysql_list_routines.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mysql',\n    'list_routines'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-api-version":"UAPI"}}},"servers":[{"description":"A server running cPanel.","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute"}],"openapi":"3.0.2","tags":[{"description":"The Mysql module for UAPI.","name":"Mysql"},{"name":"User Management","description":"MySQL and MariaDB / User Management"}],"x-tagGroups":[{"name":"MySQL and MariaDB","tags":["User Management"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"security":[{"BasicAuth":[]}],"info":{"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"externalDocs":{"url":"https://cpanel.net/developers/"}},"get_server_information":{"paths":{"/Mysql/get_server_information":{"get":{"x-readonly":true,"operationId":"Mysql-get_server_information","parameters":[],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"module":{"description":"The name of the module called.","example":"Mysql","type":"string"},"result":{"properties":{"status":{"example":1,"enum":[0,1],"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","type":"integer"},"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null},"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"metadata":{"properties":{}},"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null,"type":"array","nullable":true},"data":{"properties":{"is_remote":{"description":"Whether the host is a remote MySQL server.\n* `1` - Remote host.\n* `0` - Local host.","example":1,"enum":[0,1],"type":"integer"},"version":{"example":"5.6.23","description":"The MySQL server's version.","type":"string"},"host":{"oneOf":[{"type":"string","format":"ipv4","example":"192.0.2.1"},{"example":"remote.example.com","type":"string","format":"domain"}],"description":"The MySQL server's hostname or IP address."}},"type":"object"}},"type":"object"},"func":{"type":"string","description":"The name of the method called.","example":"get_server_information"},"apiversion":{"type":"integer","example":3,"description":"The version of the API."}},"type":"object"}}}}},"tags":["Mysql","Database Information"],"x-cpanel-api-version":"UAPI","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Mysql \\\n  get_server_information\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Mysql/get_server_information","lang":"HTTP","label":"URL"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mysql_get_server_information.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mysql_get_server_information.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mysql/,\n    q/get_server_information/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mysql_get_server_information.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mysql_get_server_information.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mysql',\n    'get_server_information'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-available-version":"cPanel 54","summary":"Return MySQL server host information and version","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."}}},"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"x-tagGroups":[{"name":"MySQL and MariaDB","tags":["Database Information"]}],"tags":[{"name":"Mysql","description":"The Mysql module for UAPI."},{"name":"Database Information","description":"MySQL and MariaDB / Database Information"}],"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":{"description":"The cPanel port.","default":"2083"}}}],"openapi":"3.0.2","security":[{"BasicAuth":[]}],"info":{"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"externalDocs":{"url":"https://cpanel.net/developers/"}},"delete_user":{"security":[{"BasicAuth":[]}],"openapi":"3.0.2","tags":[{"name":"Mysql","description":"The Mysql module for UAPI."},{"description":"MySQL and MariaDB / User Management","name":"User Management"}],"servers":[{"variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"x-tagGroups":[{"name":"MySQL and MariaDB","tags":["User Management"]}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/"},"paths":{"/Mysql/delete_user":{"get":{"parameters":[{"name":"name","in":"query","description":"The MySQL user's name.","required":true,"schema":{"example":"example","type":"string"}}],"description":"This function deletes a MySQL® user.\n\n**Important:**\n\nWhen you disable the [MySQL role](https://go.cpanel.net/serverroles) and remote MySQL is not already configured, the system **disables** this function.","x-rollback":"none","tags":["Mysql","User Management"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"func":{"type":"string","example":"delete_user","description":"The name of the method called."},"result":{"properties":{"warnings":{"type":"array","nullable":true,"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"},"example":null},"data":{"default":null,"nullable":true,"type":"object"},"metadata":{"properties":{}},"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}},"status":{"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","enum":[0,1],"example":1,"type":"integer"}}},"module":{"example":"Mysql","description":"The name of the module called.","type":"string"}},"type":"object"}}}}},"x-readonly":false,"operationId":"Mysql-delete_user","x-cpanel-api-version":"UAPI","x-cpanel-available-version":"cPanel 11.52","summary":"Delete MySQL user","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Mysql \\\n  delete_user \\\n  name='example'\n","lang":"Shell","label":"CLI"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Mysql/delete_user?name=example","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mysql_delete_user.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mysql_delete_user.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mysql/,\n    q/delete_user/,\n    {\n        'name' => 'example',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mysql_delete_user.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mysql_delete_user.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mysql',\n    'delete_user',\n    array (\n        'name' => 'example',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}]}}}},"rename_database":{"paths":{"/Mysql/rename_database":{"get":{"parameters":[{"schema":{"example":"mydb","type":"string"},"description":"The database's current name.","required":true,"name":"oldname","in":"query"},{"in":"query","name":"newname","schema":{"maxLength":64,"example":"newlyrenamed","type":"string"},"description":"The database's new name.\n\n**Important:**\n\n* If database prefixing is enabled, you **must** prefix this value with the account prefix\nand an underscore (`_`). For example, for the `dbuser` database on the user cPanel account,\npass in a value of `user_dbuser`.\n* The maximum length of the database name is 64 characters. However, due to the method that\ncPanel & WHM uses to store MySQL database names, each underscore character requires two\ncharacters of that limit. Therefore, if you enable database prefixing, the maximum length of\nthe database name is 63 characters, which includes both the database prefix and the\nunderscore character. Each additional underscore requires another two characters of that\nlimit.","required":true}],"tags":["Mysql","Database Management"],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"module":{"type":"string","description":"The name of the module called.","example":"Mysql"},"result":{"properties":{"metadata":{"properties":{}},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API.\nWarnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"data":{"default":null,"type":"object","nullable":true},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}},"errors":{"example":null,"items":{"type":"string"},"description":"List of errors if the API failed.","nullable":true,"type":"array"},"status":{"enum":[0,1],"example":1,"description":"* `1` - Success\n* `0` - Failed: Check the errors field for more details.","type":"integer"}},"type":"object"},"func":{"example":"rename_database","description":"The name of the method called.","type":"string"},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}},"type":"object"}}},"description":"HTTP Request was successful."}},"x-readonly":false,"operationId":"Mysql-rename_database","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Mysql \\\n  rename_database \\\n  oldname='mydb' \\\n  newname='newlyrenamed'\n","label":"CLI","lang":"Shell"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/Mysql/rename_database?oldname=mydb&newname=newlyrenamed"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mysql_rename_database.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mysql_rename_database.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mysql/,\n    q/rename_database/,\n    {\n        'oldname' => 'mydb',\n        'newname' => 'newlyrenamed',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mysql_rename_database.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mysql_rename_database.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mysql',\n    'rename_database',\n    array (\n        'oldname' => 'mydb',\n        'newname' => 'newlyrenamed',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"x-cpanel-available-version":"cPanel 11.44","summary":"Update MySQL database name","description":"This function renames a MySQL® database.\n\nMySQL does not allow you to rename a database. When cPanel & WHM \"renames\" a database, the\nsystem performs the following steps:\n1. The system creates a new database.\n2. The system moves data from the old database to the new database.\n3. The system recreates grants and stored code in the new database.\n4. The system deletes the old database and its grants.\n\n**Warning:**\n\n* It is potentially dangerous to rename a MySQL database. We **strongly** recommend that you\nperform a backup of the database before you attempt to rename it.\n* If any of the first three steps fail, the system returns an error and attempts to restore the database's original state.\n If the restoration process fails, the API function's error response describes these additional failures.\n* In rare cases, the system creates the second database successfully, but fails to delete the old database or grants.\n The system treats the rename action as a success; however,\n the API function returns warnings that describe the failure to delete the old database or grants.\n\n**Important:**\n\nWhen you disable the [MySQL/MariaDB role](https://go.cpanel.net/serverroles)\n**and** remote MySQL is **not** already configured, the system **disables** this function.","x-cpanel-api-version":"UAPI","x-rollback":"none"}}},"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"description":"UAPI accesses the cPanel interface's features.\nUse this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/"},"externalDocs":{"url":"https://cpanel.net/developers/"},"tags":[{"description":"The Mysql module for UAPI.","name":"Mysql"},{"description":"MySQL and MariaDB / Database Management","name":"Database Management"}],"openapi":"3.0.2","servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"description":"A server running cPanel."}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"x-tagGroups":[{"tags":["Database Management"],"name":"MySQL and MariaDB"}],"security":[{"BasicAuth":[]}]},"list_databases":{"openapi":"3.0.2","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":[{"name":"Mysql","description":"The Mysql module for UAPI."},{"description":"MySQL and MariaDB / Database Management","name":"Database Management"}],"x-tagGroups":[{"tags":["Database Management"],"name":"MySQL and MariaDB"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"security":[{"BasicAuth":[]}],"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999"},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/Mysql/list_databases":{"get":{"tags":["Mysql","Database Management"],"parameters":[],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"module":{"type":"string","description":"The name of the module called.","example":"Mysql"},"result":{"type":"object","properties":{"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"},"example":null,"type":"array","nullable":true},"data":{"items":{"type":"object","properties":{"database":{"type":"string","example":"user_db","description":"The database name."},"users":{"type":"array","items":{"type":"string"},"description":"A list of database usernames.\n\n**Note:**\n\nIf no users exist on a database, the function returns an empty array.","example":["db_user","db2_user"]},"disk_usage":{"type":"integer","example":673,"description":"The disk space that the database uses, in bytes.","minimum":0}}},"description":"Information about the database.","type":"array"},"metadata":{"properties":{"transformed":{"example":1,"enum":[1],"description":"Post-processing may have transformed the data.","type":"integer"}}},"errors":{"example":null,"description":"List of errors if the API failed.","items":{"type":"string"},"nullable":true,"type":"array"},"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null},"status":{"type":"integer","enum":[1,0],"example":1,"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details."}}},"func":{"type":"string","description":"The name of the method called.","example":"list_databases"},"apiversion":{"type":"integer","description":"The version of the API.","example":3}},"type":"object"}}}}},"operationId":"Mysql-list_databases","x-readonly":true,"x-cpanel-api-version":"UAPI","x-cpanel-available-version":"cPanel 82","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Mysql \\\n  list_databases\n","label":"CLI","lang":"Shell"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/Mysql/list_databases"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mysql_list_databases.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mysql_list_databases.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mysql/,\n    q/list_databases/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mysql_list_databases.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mysql_list_databases.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mysql',\n    'list_databases'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Return MySQL databases","description":"This function lists an account's MySQL® databases.\n\n**Important:**\n\nWhen you disable the [*MySQL/MariaDB* role](https://go.cpanel.net/serverroles) **and** remote MySQL is **not** configured, the system **disables** this function."}}}},"create_user":{"paths":{"/Mysql/create_user":{"get":{"description":"This function creates a MySQL® database user.\n\n**Important:**\n\nWhen you **disable** the [MySQL role](https://go.cpanel.net/serverroles) and remote MySQL is not already configured, the system disables this function.","summary":"Create MySQL user","x-cpanel-available-version":"cPanel 11.44","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Mysql \\\n  create_user \\\n  name='dbuser' \\\n  password='12345luggage'\n","lang":"Shell","label":"CLI"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/Mysql/create_user?name=dbuser&password=12345luggage"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mysql_create_user.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mysql_create_user.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mysql/,\n    q/create_user/,\n    {\n        'name' => 'dbuser',\n        'password' => '12345luggage',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mysql_create_user.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mysql_create_user.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mysql',\n    'create_user',\n    array (\n        'name' => 'dbuser',\n        'password' => '12345luggage',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"x-cpanel-api-version":"UAPI","x-rollback":"none","parameters":[{"schema":{"example":"dbuser","type":"string"},"required":true,"description":"A valid database username.\n\nImportant:\n====\n\nTo learn more about database username limits, check your database type:\n\nMySQL 5.6\n----\n\nMySQL version 5.6 limits the database username to 16 characters. The server uses the first nine characters of this limit for the database prefix. The database prefix uses the cPanel account's username and an underscore (`_`). The server only applies the first eight characters of the cPanel account's username.\n\nFor example:\n\n* A `db_` database prefix allows MySQL usernames of up to 13 characters.\n* An `example_` database prefix allows MySQL usernames of up to eight characters.\n\nMySQL 5.7+\n----\n\nMySQL versions 5.7 and later limit the database username to 32 characters. The server uses the first nine characters of this limit for the database prefix. The database prefix uses the cPanel account's username and an underscore (`_`). The server only applies the first eight characters of the cPanel account's username.\n\nFor example:\n\n* A `db_` database prefix allows MySQL usernames of up to 29 characters.\n* An `example_` database prefix allows MySQL usernames of up to 24 characters.\n\nMariaDB\n----\n\nMariaDB limits the database username to 47 characters. The server uses the first nine characters of this limit for the database prefix. The database prefix uses the cPanel account's username and an underscore (`_`). The server only applies the first eight characters of the cPanel account's username.\n\nFor example:\n\n* A `db_` database prefix allows MariaDB usernames of up to 44 characters.\n* An `example_` database prefix allows MariaDB usernames of up to 39 characters.","in":"query","name":"name"},{"description":"The new user's password.","required":true,"schema":{"type":"string","example":"12345luggage"},"name":"password","in":"query"},{"required":false,"description":"The desired prefix size.","schema":{"enum":[8,16],"example":16,"default":16,"type":"integer"},"name":"prefix-size","in":"query"}],"tags":["Mysql","User Management"],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"func":{"example":"create_user","description":"The name of the method called.","type":"string"},"result":{"properties":{"metadata":{"properties":{}},"data":{"type":"object","nullable":true,"default":null},"warnings":{"description":"List of warnings generated by the API.\nWarnings describe non-critical failures or other problematic conditions noted while running a API.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"messages":{"example":null,"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"},"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"status":{"type":"integer","enum":[0,1],"example":1,"description":"* `1` - Success\n* `0` - Failed: Check the errors field for more details."}}},"module":{"type":"string","example":"Mysql","description":"The name of the module called."},"apiversion":{"type":"integer","description":"The version of the API.","example":3}}}}},"description":"HTTP Request was successful."}},"operationId":"Mysql-create_user","x-readonly":false}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features.\nUse this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"}},"security":[{"BasicAuth":[]}],"x-tagGroups":[{"tags":["User Management"],"name":"MySQL and MariaDB"}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"openapi":"3.0.2","tags":[{"name":"Mysql","description":"The Mysql module for UAPI."},{"name":"User Management","description":"MySQL and MariaDB / User Management"}],"servers":[{"variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}]},"set_password":{"paths":{"/Mysql/set_password":{"get":{"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.","x-rollback":"none","parameters":[{"name":"user","in":"query","required":true,"description":"The MySQL database user.","schema":{"example":"dbuser","type":"string"}},{"in":"query","name":"password","required":true,"description":"The user's new password.","schema":{"type":"string","example":"12345luggage"}}],"summary":"Update MySQL user password","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Mysql \\\n  set_password \\\n  user='dbuser' \\\n  password='12345luggage'\n","lang":"Shell","label":"CLI"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Mysql/set_password?user=dbuser&password=12345luggage","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mysql_set_password.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mysql_set_password.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mysql/,\n    q/set_password/,\n    {\n        'user' => 'dbuser',\n        'password' => '12345luggage',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mysql_set_password.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mysql_set_password.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mysql',\n    'set_password',\n    array (\n        'user' => 'dbuser',\n        'password' => '12345luggage',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 11.44","x-cpanel-api-version":"UAPI","tags":["Mysql","User Management"],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"result":{"type":"object","properties":{"status":{"example":1,"enum":[0,1],"description":"* `1` - Success\n* `0` - Failed: Check the errors field for more details.","type":"integer"},"messages":{"description":"List of messages generated by the API.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"errors":{"nullable":true,"type":"array","example":null,"description":"List of errors if the API failed.","items":{"type":"string"}},"metadata":{"properties":{}},"data":{"properties":{"failures":{"type":"array","items":{"type":"object","properties":{"error":{"description":"The error message.","type":"string"},"host":{"description":"The hostname that reported the error.","type":"string","format":"domain"}}},"description":"An array of the function's error messages."}},"type":"object"},"warnings":{"nullable":true,"type":"array","example":null,"description":"List of warnings generated by the API.\nWarnings describe non-critical failures or other problematic conditions noted while running a API.","items":{"type":"string"}}}},"module":{"example":"Mysql","description":"The name of the module called.","type":"string"},"func":{"example":"set_password","description":"The name of the method called.","type":"string"},"apiversion":{"type":"integer","description":"The version of the API.","example":3}},"type":"object"}}},"description":"HTTP Request was successful."}},"operationId":"Mysql-set_password","x-readonly":false}}},"info":{"title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features.\nUse this API to access and modify cPanel account data and settings.","contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"x-tagGroups":[{"name":"MySQL and MariaDB","tags":["User Management"]}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"openapi":"3.0.2","servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"description":"A server running cPanel."}],"tags":[{"description":"The Mysql module for UAPI.","name":"Mysql"},{"description":"MySQL and MariaDB / User Management","name":"User Management"}],"security":[{"BasicAuth":[]}]},"update_privileges":{"info":{"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"},"license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999"},"externalDocs":{"url":"https://cpanel.net/developers/"},"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":{"description":"The cPanel port.","default":"2083"}}}],"tags":[{"description":"The Mysql module for UAPI.","name":"Mysql"},{"description":"MySQL and MariaDB / User Management","name":"User Management"}],"openapi":"3.0.2","x-tagGroups":[{"tags":["User Management"],"name":"MySQL and MariaDB"}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"security":[{"BasicAuth":[]}],"paths":{"/Mysql/update_privileges":{"get":{"parameters":[],"x-cpanel-internal-only":false,"description":"This function updates privileges for all MySQL® databases and users on an account.\n\n**Important:**\n\nWhen you disable the [MySQL/MariaDB role](https://go.cpanel.net/serverroles) **and**\nremote MySQL is **not** configured, the system **disables** this function.","x-rollback":"none","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"module":{"type":"string","example":"Mysql","description":"The name of the module called."},"result":{"type":"object","properties":{"status":{"example":1,"enum":[0,1],"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","type":"integer"},"metadata":{"properties":{}},"data":{"nullable":true,"type":"object","default":null},"warnings":{"example":null,"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"},"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null},"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null}}},"func":{"type":"string","description":"The name of the method called.","example":"update_privileges"},"apiversion":{"example":3,"description":"The version of the API.","type":"integer"}}}}},"description":"HTTP Request was successful."}},"tags":["Mysql","User Management"],"x-readonly":false,"operationId":"Mysql-update_privileges","x-cpanel-api-version":"UAPI","x-cpanel-available-version":"cPanel 82","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Mysql \\\n  update_privileges\n","lang":"Shell","label":"CLI"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Mysql/update_privileges","lang":"HTTP","label":"URL"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mysql_update_privileges.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Mysql_update_privileges.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mysql/,\n    q/update_privileges/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mysql_update_privileges.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Mysql_update_privileges.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mysql',\n    'update_privileges'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Update MySQL® privileges"}}}},"list_users":{"tags":[{"name":"Mysql","description":"The Mysql module for UAPI."},{"name":"User Management","description":"MySQL and MariaDB / User Management"}],"openapi":"3.0.2","servers":[{"variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"x-tagGroups":[{"tags":["User Management"],"name":"MySQL and MariaDB"}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"security":[{"BasicAuth":[]}],"info":{"termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/Mysql/list_users":{"get":{"x-cpanel-api-version":"UAPI","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Mysql \\\n  list_users\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Mysql/list_users","label":"URL","lang":"HTTP"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mysql_list_users.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mysql_list_users.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mysql/,\n    q/list_users/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mysql_list_users.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mysql_list_users.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mysql',\n    'list_users'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"x-cpanel-available-version":"cPanel 82","summary":"Return MySQL users","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.","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"type":"integer","description":"The version of the API.","example":3},"result":{"properties":{"status":{"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","enum":[0,1],"example":1,"type":"integer"},"metadata":{"properties":{"transformed":{"description":"Post-processing may have transformed the data.","example":1,"enum":[1],"type":"integer"}}},"data":{"items":{"properties":{"user":{"type":"string","description":"The database username.","example":"example_user1"},"databases":{"example":["user_database1","user_database2"],"items":{"type":"string"},"description":"An array of databases that belong to the\ndatabase user.\n\n**Note:**\n\nIf no users are assigned to a database, the function returns\nan empty array.","type":"array"},"shortuser":{"example":"user1","description":"The short version of the database username.","type":"string"}},"type":"object"},"description":"An array of database information objects.","type":"array"},"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API."},"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."},"errors":{"example":null,"description":"List of errors if the API failed.","items":{"type":"string"},"nullable":true,"type":"array"}},"type":"object"},"module":{"description":"The name of the module called.","example":"Mysql","type":"string"},"func":{"description":"The name of the method called.","example":"list_users","type":"string"}}}}},"description":"HTTP Request was successful."}},"parameters":[],"tags":["Mysql","User Management"],"operationId":"Mysql-list_users","x-readonly":true}}}},"set_privileges_on_database":{"security":[{"BasicAuth":[]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"x-tagGroups":[{"tags":["User Management"],"name":"MySQL and MariaDB"}],"openapi":"3.0.2","tags":[{"name":"Mysql","description":"The Mysql module for UAPI."},{"name":"User Management","description":"MySQL and MariaDB / User Management"}],"servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}}}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI"},"paths":{"/Mysql/set_privileges_on_database":{"get":{"x-cpanel-api-version":"UAPI","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Mysql \\\n  set_privileges_on_database \\\n  user='cpuser_dbuser' \\\n  database='cpuser_dbname'\n","lang":"Shell","label":"CLI"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Mysql/set_privileges_on_database?user=cpuser_dbuser&database=cpuser_dbname","label":"URL","lang":"HTTP"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mysql_set_privileges_on_database.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mysql_set_privileges_on_database.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mysql/,\n    q/set_privileges_on_database/,\n    {\n        'user' => 'cpuser_dbuser',\n        'database' => 'cpuser_dbname',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mysql_set_privileges_on_database.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mysql_set_privileges_on_database.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mysql',\n    'set_privileges_on_database',\n    array (\n        'user' => 'cpuser_dbuser',\n        'database' => 'cpuser_dbname',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"summary":"Update MySQL user privileges","x-cpanel-available-version":"cPanel 11.44","tags":["Mysql","User Management"],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"func":{"example":"set_privileges_on_database","description":"The name of the method called.","type":"string"},"module":{"type":"string","example":"Mysql","description":"The name of the module called."},"result":{"properties":{"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null},"errors":{"example":null,"items":{"type":"string"},"description":"List of errors if the API failed.","nullable":true,"type":"array"},"metadata":{"properties":{}},"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null,"type":"array","nullable":true},"data":{"nullable":true,"type":"object","default":null},"status":{"type":"integer","description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","enum":[0,1],"example":1}}}},"type":"object"}}},"description":"HTTP Request was successful."}},"operationId":"Mysql-set_privileges_on_database","x-readonly":false,"description":"This function sets a MySQL® database user's privileges.\n\n**Important:**\n\nWhen you disable the [*MySQL/MariaDB* role](https://go.cpanel.net/serverroles), **and** remote MySQL is **not** already configured, the system **disables** this function.","x-rollback":"none","parameters":[{"in":"query","name":"user","description":"The database user's name.\n\n**Important:**\n\nIf database prefixing is enabled, you **must** prefix this value with the account prefix and an underscore (`_`). For example, for the `dbuser` user on the `user` cPanel account, pass in a value of `user_dbuser`.","required":true,"schema":{"example":"cpuser_dbuser","type":"string"}},{"schema":{"example":"cpuser_dbname","type":"string"},"required":true,"description":"The database's name.\n\n**Important:**\n\nIf database prefixing is enabled, you **must** prefix this value with the account prefix and an underscore (`_`). For example, for the `db` database on the `user` cPanel account, pass in a value of `user_db`.","name":"database","in":"query"},{"required":false,"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`.","schema":{"type":"string","example":"DELETE,UPDATE,CREATE,ALTER"},"in":"query","name":"privileges"}]}}}},"setup_db_and_user":{"security":[{"BasicAuth":[]}],"servers":[{"variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"name":"Mysql","description":"The Mysql module for UAPI."},{"description":"MySQL and MariaDB / Database Management","name":"Database Management"}],"x-tagGroups":[{"tags":["Database Management"],"name":"MySQL and MariaDB"}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.115.0.9999","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"paths":{"/Mysql/setup_db_and_user":{"get":{"parameters":[{"in":"query","name":"prefix","schema":{"type":"string","example":"wp"},"required":false,"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!"}],"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.","x-rollback":"none","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"module":{"type":"string","example":"Mysql","description":"The name of the module called."},"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","type":"string","format":"database name"},{"format":"database name","type":"string","example":"cpuser_ljiupjkhrn6zs20c9glnms0xor8sx48fm4noohri07xdruj31q"}]},"database_user_password":{"type":"string","format":"password","description":"A randomly generated password intended to be maximally randomized.","example":";1t/U:wnFkCRL9q68]/+<TX=.C#7]n"},"port":{"description":"The port to connect to from within the server to connect to the MySQL server","example":"3306","type":"string","format":"unix-port"},"hostname":{"description":"The hostname to connect to from within the server to connect to the MySQL server","oneOf":[{"example":"localhost","type":"string","format":"hostname"},{"format":"hostname","type":"string","example":"mysql.remote.server.tld"}]},"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":[{"format":"database username","type":"string","example":"cpuser_wp_dji1jdt7nhjiwjcjju45"},{"format":"database username","type":"string","example":"cpuser_dji1jdt7nhjiwjcjju45asd"}]}},"type":"object"},"warnings":{"type":"array","nullable":true,"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"},"example":null},"metadata":{"properties":{}},"errors":{"nullable":true,"type":"array","example":null,"description":"List of errors if the API failed.","items":{"type":"string"}},"messages":{"items":{"type":"string"},"description":"List of messages generated by the API.","example":null,"type":"array","nullable":true},"status":{"example":1,"enum":[0,1],"description":"* `1` - Success\n* `0` - Failed: Check the `errors` field for more details.","type":"integer"}}},"func":{"type":"string","example":"setup_db_and_user","description":"The name of the method called."},"apiversion":{"example":3,"description":"The version of the API.","type":"integer"}},"type":"object"}}},"description":"HTTP Request was successful."}},"tags":["Mysql","Database Management"],"operationId":"Mysql-setup_db_and_user","x-readonly":false,"x-cpanel-api-version":"UAPI","x-cpanel-available-version":"cPanel 11.116","summary":"Create a randomly named MySQL username/database set.","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Mysql \\\n  setup_db_and_user \\\n  prefix='wp'\n","lang":"Shell","label":"CLI"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/Mysql/setup_db_and_user?prefix=wp"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mysql_setup_db_and_user.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mysql_setup_db_and_user.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mysql/,\n    q/setup_db_and_user/,\n    {\n        'prefix' => 'wp',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mysql_setup_db_and_user.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mysql_setup_db_and_user.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mysql',\n    'setup_db_and_user',\n    array (\n        'prefix' => 'wp',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}]}}}}},"UserData":{"set_scoped_userdata":{"tags":[{"name":"UserData","description":"The UserData module for cPanel UAPI."}],"openapi":"3.0.2","servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel.","default":"cpanel-server.tld"}},"description":"A server running cPanel."}],"x-tagGroups":[{"name":"UserData","tags":["UserData"]}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"security":[{"BasicAuth":[]}],"info":{"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"},"version":"11.97.0.9999","description":"Set (create or update) a scoped userdata key/value pair and return the updated mapping.","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/UserData/set_scoped_userdata":{"get":{"x-readonly":false,"operationId":"UserData-set_scoped_userdata","tags":["UserData"],"parameters":[{"name":"scope","in":"query","description":"The scope name to modify.","required":true,"schema":{"example":"example_scope","type":"string"}},{"schema":{"example":"theme","type":"string"},"description":"The userdata key to set.\n\n**Note:** The \"json\" argument cannot be used with the \"key\" or \"value\" arguments.","required":false,"name":"key","in":"query"},{"required":false,"description":"The value to assign to the key.\n\n**Note:** The \"json\" argument cannot be used with the \"key\" or \"value\" arguments.","schema":{"type":"string","example":"dark"},"name":"value","in":"query"},{"description":"A json string to save to the specified scope.\n\n**Note:** The \"json\" argument cannot be used with the \"key\" or \"value\" arguments.","required":false,"schema":{"example":"{\"theme\":\"dark\"}","type":"string"},"name":"json","in":"query"}],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"type":"integer","description":"The version of the API.","example":3},"func":{"example":"set_scoped_userdata","description":"The name of the method called.","type":"string"},"result":{"properties":{"metadata":{"properties":{}},"data":{"type":"object","additionalProperties":{"description":"A stored value associated with a key in the scope.","type":"string"},"example":{"theme":"dark","items_per_page":"50","show_help_tour":"0"},"description":"The updated scoped userdata mapping after the key/value was set."},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.","example":null},"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"},"errors":{"example":null,"description":"List of errors if the API failed.","items":{"type":"string"},"nullable":true,"type":"array"},"status":{"type":"integer","description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","enum":[1,0],"example":1}},"type":"object"},"module":{"description":"The name of the module called.","example":"UserData","type":"string"}}}}}}},"x-rollback":"none","summary":"Set scoped userdata key/value","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n--user=username \\\nUserData \\\nset_scoped_userdata \\\nscope=ui_prefs \\\nkey=theme \\\nvalue=dark\n"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/UserData/set_scoped_userdata?scope=ui_prefs&key=theme&value=dark\n"},{"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();\nsub to_json { require JSON; JSON->new->pretty->encode($_[0]) }\n","lang":"Perl","label":"LiveAPI Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\nheader('Content-Type: text/plain');\n$cpanel = new CPANEL();\n$response = $cpanel->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-available-version":"11.32","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.","x-cpanel-api-version":"UAPI"}}}},"get_scoped_userdata":{"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"description":"Return scoped userdata key/value pairs.","version":"11.97.0.9999","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/"},"externalDocs":{"url":"https://cpanel.net/developers/"},"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel.","default":"cpanel-server.tld"}}}],"tags":[{"description":"The UserData module for cPanel UAPI.","name":"UserData"}],"x-tagGroups":[{"name":"UserData","tags":["UserData"]}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"security":[{"BasicAuth":[]}],"paths":{"/UserData/get_scoped_userdata":{"get":{"x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n--user=username \\\nUserData \\\nget_scoped_userdata \\\nscope=ui_prefs\n","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/UserData/get_scoped_userdata?scope=ui_prefs\n","lang":"HTTP","label":"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/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();\nsub to_json { require JSON; JSON->new->pretty->encode($_[0]) }\n"},{"source":"<?php\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\nheader('Content-Type: text/plain');\n$cpanel = new CPANEL();\n$response = $cpanel->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();","label":"LiveAPI PHP","lang":"PHP"}],"summary":"Return scoped userdata mapping","x-cpanel-available-version":"11.32","description":"This function returns all userdata key/value pairs for a given scope.","x-cpanel-api-version":"UAPI","x-rollback":"none","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"func":{"type":"string","example":"get_scoped_userdata","description":"The name of the method called."},"module":{"type":"string","description":"The name of the module called.","example":"UserData"},"result":{"properties":{"status":{"enum":[1,0],"example":1,"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","type":"integer"},"metadata":{"properties":{}},"data":{"type":"object","additionalProperties":{"type":"string","description":"A stored value associated with a key in the scope."},"description":"The requested scoped userdata mapping.","example":{"show_help_tour":"0","theme":"dark","items_per_page":"50"}},"warnings":{"nullable":true,"type":"array","example":null,"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.","items":{"type":"string"}},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}},"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null}},"type":"object"},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}},"type":"object"}}}}},"parameters":[{"name":"scope","in":"query","schema":{"example":"example_scope","type":"string"},"description":"The scope name whose userdata you wish to retrieve.","required":true}],"tags":["UserData"],"x-readonly":false,"operationId":"UserData-get_scoped_userdata"}}}}},"BoxTrapper":{"ignore_messages":{"paths":{"/BoxTrapper/ignore_messages":{"get":{"x-rollback":"none","description":"This function marks email message senders for Exim to ignore.\n\n**Important:**\n\nWhen you disable the [Receive Mail role](https://go.cpanel.net/howtouseserverprofiles#roles), the system **disables** this function.","x-cpanel-available-version":"cPanel 82","summary":"Add email account to Exim ignore list","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  BoxTrapper \\\n  ignore_messages \\\n  email='user@example.com' \\\n  queuefile='example.msg'\n","lang":"Shell","label":"CLI"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/BoxTrapper/ignore_messages?email=user%40example.com&queuefile=example.msg","label":"URL","lang":"HTTP"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file BoxTrapper_ignore_messages.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/BoxTrapper_ignore_messages.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/BoxTrapper/,\n    q/ignore_messages/,\n    {\n        'email' => 'user@example.com',\n        'queuefile' => 'example.msg',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file BoxTrapper_ignore_messages.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/BoxTrapper_ignore_messages.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'BoxTrapper',\n    'ignore_messages',\n    array (\n        'email' => 'user@example.com',\n        'queuefile' => 'example.msg',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"x-cpanel-api-version":"UAPI","operationId":"BoxTrapper-ignore_messages","x-readonly":false,"tags":["BoxTrapper","Spam Prevention (BoxTrapper)"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"type":"integer","description":"The version of the API.","example":3},"func":{"example":"ignore_messages","description":"The name of the method called.","type":"string"},"result":{"type":"object","properties":{"status":{"description":"- `1` - Success.\n- `0` - Failed. Check the `errors` field for more details.","example":1,"enum":[0,1],"type":"integer"},"data":{"example":[{"operator":"ignore","email":"user@example.com","matches":["example.msg"]}],"description":"An array of objects containing ignored email message information.","items":{"type":"object","properties":{"failed":{"type":"integer","example":1,"enum":[1],"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."},"reason":{"type":"string","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."},"operator":{"type":"string","description":"The operation that the system performed.\n\n* `ignore` — The system ignored this email message.","enum":["ignore"],"example":"ignore"},"warning":{"type":"integer","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.","example":1,"enum":[1]},"matches":{"type":"array","items":{"type":"string","example":"example.msg"},"description":"An array containing ignored message files."},"email":{"format":"email","type":"string","example":"user@example.com","description":"The ignored email message's sender."}}},"type":"array"},"warnings":{"nullable":true,"type":"array","example":null,"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"}},"metadata":{"properties":{"transformed":{"enum":[1],"example":1,"description":"Post-processing may have transformed the data.","type":"integer"}}},"errors":{"nullable":true,"type":"array","example":null,"description":"List of errors if the API failed.","items":{"type":"string"}},"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null}}},"module":{"description":"The name of the module called.","example":"BoxTrapper","type":"string"}}}}}}},"parameters":[{"name":"email","in":"query","schema":{"example":"user@example.com","format":"email","type":"string"},"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.","required":true},{"name":"queuefile","schema":{"type":"string"},"examples":{"multiple":{"summary":"Ignore multiple email messages.","value":"queuefile-1=example1.msg queuefile-2=example2.msg queuefile-3=example3.msg"},"single":{"value":"example.msg","summary":"Ignore a single email message."}},"description":"The filename of the email message to ignore.\n\n**Note:**\n\n To ignore multiple email messages, duplicate this parameter.","in":"query","required":true}]}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/"},"security":[{"BasicAuth":[]}],"tags":[{"name":"BoxTrapper","description":"The BoxTrapper module for UAPI."},{"description":"Email / Spam Prevention (BoxTrapper)","name":"Spam Prevention (BoxTrapper)"}],"openapi":"3.0.2","servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"description":"A server running cPanel."}],"x-tagGroups":[{"name":"Email","tags":["Spam Prevention (BoxTrapper)"]}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}}},"reset_email_template":{"paths":{"/BoxTrapper/reset_email_template":{"get":{"parameters":[{"in":"query","name":"email","schema":{"type":"string","format":"email","example":"user@example.com"},"description":"The account's email address.\n\n**Warning:**\n\nThe `email` parameter is required when this function is called outside of webmail.\nIf you call this function in Webmail, the `email` parameter is not required, and\nthe system overrides this parameter with the current authenticated user's email address."},{"name":"template","in":"query","schema":{"type":"string","enum":["blacklist","verify","verifyreleased","returnverify"],"example":"verify"},"description":"The message template. Possible values:\n* `blacklist` - BoxTrapper responds with this message when a blacklisted address sends an email.\n* `verify` - BoxTrapper responds with this message when an address that does not exist on the whitelist or blacklist sends an email. This message requests a response to confirm that the sender is legitimate.\n* `verifyreleased` - BoxTrapper responds with this message when a person responds to the verify message with an email or a click on the verification link.\n* `returnverify` - BoxTrapper responds with this message when the verification process fails.","required":true}],"x-rollback":"clean","description":"This function restores the BoxTrapper email message templates to the system default setting.\n\n**Important:**\n\nWhen you **disable** the [Receive Mail](https://go.cpanel.net/serverroles) role, the system disables this function.","x-readonly":false,"operationId":"BoxTrapper-reset_email_template","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"module":{"example":"BoxTrapper","description":"The name of the module called.","type":"string"},"result":{"properties":{"metadata":{"properties":{}},"warnings":{"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"data":{"default":null,"nullable":true,"type":"object"},"messages":{"example":null,"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"},"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"status":{"type":"integer","example":1,"enum":[0,1],"description":"* `1` - Success\n* `0` - Failed. Check the `errors` field for more details."}}},"func":{"type":"string","example":"reset_email_template","description":"The name of the method called."},"apiversion":{"example":3,"description":"The version of the API.","type":"integer"}}}}}}},"tags":["BoxTrapper","Spam Prevention (BoxTrapper)"],"x-cpanel-api-version":"UAPI","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  BoxTrapper \\\n  reset_email_template \\\n  template='verify'\n","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/BoxTrapper/reset_email_template?template=verify","label":"URL","lang":"HTTP"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file BoxTrapper_reset_email_template.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/BoxTrapper_reset_email_template.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/BoxTrapper/,\n    q/reset_email_template/,\n    {\n        'template' => 'verify',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file BoxTrapper_reset_email_template.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/BoxTrapper_reset_email_template.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'BoxTrapper',\n    'reset_email_template',\n    array (\n        'template' => 'verify',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"summary":"Restore default BoxTrapper email message template","x-cpanel-available-version":"cPanel 84"}}},"info":{"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"},"termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999"},"externalDocs":{"url":"https://cpanel.net/developers/"},"openapi":"3.0.2","tags":[{"name":"BoxTrapper","description":"The BoxTrapper module for UAPI."},{"name":"Spam Prevention (BoxTrapper)","description":"Email / Spam Prevention (BoxTrapper)"}],"servers":[{"url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}},"description":"A server running cPanel."}],"x-tagGroups":[{"name":"Email","tags":["Spam Prevention (BoxTrapper)"]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"security":[{"BasicAuth":[]}]},"delete_messages":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"},"license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."},"security":[{"BasicAuth":[]}],"servers":[{"description":"A server running cPanel.","variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute"}],"openapi":"3.0.2","tags":[{"name":"BoxTrapper","description":"The BoxTrapper module for UAPI."},{"description":"Email / Spam Prevention (BoxTrapper)","name":"Spam Prevention (BoxTrapper)"}],"x-tagGroups":[{"tags":["Spam Prevention (BoxTrapper)"],"name":"Email"}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"paths":{"/BoxTrapper/delete_messages":{"get":{"parameters":[{"name":"email","in":"query","required":true,"description":"The account's email address.\n\n**Warning:**\n\nIf you call this function in Webmail, the system ignores this parameter and defaults to the currently-authenticated email address.","schema":{"example":"user@example.com","type":"string","format":"email"}},{"name":"queuefile","in":"query","schema":{"example":"example.msg","type":"string"},"required":true,"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":{"value":"queuefile=file1.msg&queuefile=file2.msg","summary":"Delete multiple filenames."},"single":{"summary":"Delete a single filename.","value":"file1.msg"}}},{"schema":{"type":"integer","example":1,"default":0,"enum":[1,0]},"description":"Whether to delete all messages that resemble the `queuefile` parameter's value.\n\n* `1` - Delete all messages resembling the `queuefile` parameter.\n* `0` - Do **not** delete all messages resembling the `queuefile` parameter.","required":false,"name":"all_like","in":"query"}],"description":"This function deletes messages in the BoxTrapper queue.\n\n**Important:**\n\nWhen you disable the [Receive Mail](https://go.cpanel.net/serverroles) role, the system disables this function.","x-rollback":"none","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"func":{"type":"string","description":"The name of the method called.","example":"delete_messages"},"module":{"description":"The name of the module called.","example":"BoxTrapper","type":"string"},"result":{"type":"object","properties":{"data":{"description":"An array of objects that contain information about the messages that matched the requested pattern.","items":{"properties":{"email":{"type":"string","format":"email","example":"user@example.com","description":"The deleted email message's sender."},"matches":{"type":"array","items":{"type":"string","example":"example.msg"},"description":"An array of messages that the system deleted."},"warning":{"description":"Whether the system experienced issues when it deleted the message.\n\n**Note:**\n\nThe function only returns this value if it experiences issues when it deletes the message.","example":1,"enum":[1],"type":"integer"},"reason":{"description":"A message about the failure or the warning.\n\n**Note:**\n\nThe function only returns this value if it doesn't delete the message or experiences issues when it deletes the message.","example":"(XID d9myfd) The system failed to locate the requested message:","type":"string"},"operator":{"enum":["delete"],"example":"delete","description":"The operation that the system performed.","type":"string"},"failed":{"type":"integer","example":1,"enum":[1],"description":"Whether the system failed to delete the messages.\n\n**Note:**\n\nThe function only returns this value if it doesn't delete the message."}},"type":"object"},"type":"array"},"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null,"type":"array","nullable":true},"metadata":{"properties":{"transformed":{"description":"Post-processing may have transformed the data.","example":1,"enum":[1],"type":"integer"}}},"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null},"messages":{"description":"List of messages generated by the API.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"status":{"enum":[1,0],"example":1,"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","type":"integer"}}},"apiversion":{"type":"integer","description":"The version of the API.","example":3}}}}},"description":"HTTP Request was successful."}},"tags":["BoxTrapper","Spam Prevention (BoxTrapper)"],"operationId":"BoxTrapper-delete_messages","x-readonly":false,"x-cpanel-api-version":"UAPI","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  BoxTrapper \\\n  delete_messages \\\n  email='user@example.com' \\\n  queuefile='file1.msg'\n"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/BoxTrapper/delete_messages?email=user%40example.com&queuefile=file1.msg"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file BoxTrapper_delete_messages.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/BoxTrapper_delete_messages.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/BoxTrapper/,\n    q/delete_messages/,\n    {\n        'email' => 'user@example.com',\n        'queuefile' => 'file1.msg',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file BoxTrapper_delete_messages.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/BoxTrapper_delete_messages.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'BoxTrapper',\n    'delete_messages',\n    array (\n        'email' => 'user@example.com',\n        'queuefile' => 'file1.msg',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Delete messages in the BoxTrapper queue","x-cpanel-available-version":"cPanel 82"}}}},"get_configuration":{"security":[{"BasicAuth":[]}],"x-tagGroups":[{"tags":["Spam Prevention (BoxTrapper)"],"name":"Email"}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"openapi":"3.0.2","tags":[{"description":"The BoxTrapper module for UAPI.","name":"BoxTrapper"},{"description":"Email / Spam Prevention (BoxTrapper)","name":"Spam Prevention (BoxTrapper)"}],"servers":[{"description":"A server running cPanel.","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute"}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."},"paths":{"/BoxTrapper/get_configuration":{"get":{"tags":["BoxTrapper","Spam Prevention (BoxTrapper)"],"parameters":[{"in":"query","name":"email","required":true,"description":"The account's email address.\n\n**Warning:**\n\nIf you call this function in Webmail, the system ignores this parameter and defaults to the currently-authenticated email address.","schema":{"format":"email","type":"string","example":"user@example.com"}}],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"func":{"type":"string","description":"The name of the method called.","example":"get_configuration"},"result":{"type":"object","properties":{"status":{"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","enum":[0,1],"example":1,"type":"integer"},"metadata":{"properties":{}},"warnings":{"example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","nullable":true,"type":"array"},"data":{"type":"object","properties":{"whitelist_by_association":{"type":"integer","description":"Whether the system whitelisted the email addresses in a message's `To` and `From` sections, including carbon-copied (CC) recipients.","example":1,"enum":[0,1]},"queue_days":{"type":"integer","description":"The number of days that the system retains log files and queued messages.","example":14,"minimum":0},"from_name":{"description":"The name of the person who owns the email account.","example":"User","type":"string"},"from_addresses":{"type":"string","example":"user@example.com,user2@example.com","description":"The email addresses that send emails from the account. A comma-separated list of email addresses."},"enable_auto_whitelist":{"type":"integer","description":"Whether whitelisting is enabled.\n* 1 - Enabled.\n* 0 - Disabled.","example":1,"enum":[0,1]},"spam_score":{"description":"The account's [Apache SpamAssassin](https://go.cpanel.net/cpaneldocsSpamFilters) threshold score.","example":2.5,"type":"number"}}},"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."},"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."}}},"module":{"example":"BoxTrapper","description":"The name of the module called.","type":"string"},"apiversion":{"example":3,"description":"The version of the API.","type":"integer"}}}}}}},"operationId":"BoxTrapper-get_configuration","x-readonly":true,"x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  BoxTrapper \\\n  get_configuration \\\n  email='user@example.com'\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/BoxTrapper/get_configuration?email=user%40example.com","label":"URL","lang":"HTTP"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file BoxTrapper_get_configuration.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/BoxTrapper_get_configuration.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/BoxTrapper/,\n    q/get_configuration/,\n    {\n        'email' => 'user@example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file BoxTrapper_get_configuration.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/BoxTrapper_get_configuration.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'BoxTrapper',\n    'get_configuration',\n    array (\n        'email' => 'user@example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"summary":"Return email account's BoxTrapper configuration","x-cpanel-available-version":"cPanel 82","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.","x-cpanel-api-version":"UAPI"}}}},"deliver_messages":{"paths":{"/BoxTrapper/deliver_messages":{"get":{"parameters":[{"name":"email","in":"query","required":true,"description":"The sender's cPanel account email address for which to deliver email messages.\n\n**Warning:**\n\nIf you call this function in Webmail, the system ignores this parameter\nand defaults to the currently-authenticated email address.","schema":{"example":"user@example.com","type":"string","format":"email"}},{"name":"queuefile","in":"query","required":true,"description":"The filename of the email messages to deliver.\n\n**Note:**\n\nTo deliver multiple email messages, pass this parameter multiple times.","examples":{"single":{"summary":"Deliver a single email message.","value":"example.msg"},"multiple":{"summary":"Deliver multiple email messages.","value":"queuefile=example.msg&queuefile=example1.msg&queuefile=example2.msg"}},"schema":{"type":"string"}},{"name":"all_like","in":"query","required":false,"description":"Whether to deliver all messages that resemble the `queuefile` parameter's value.\n\n* `1` - Deliver all similar messages.\n* `0` - Don't deliver all similar messages.","schema":{"default":0,"enum":[0,1],"example":1,"type":"integer"}}],"x-rollback":"none","description":"This function delivers messages in the BoxTrapper queue.\n\n**Important:**\n\nWhen you disable the\n[*Receive Mail* role](https://docs.cpanel.net/knowledge-base/general-systems-administration/how-to-use-server-profiles/#roles),\nthe system **disables** this function.","x-readonly":false,"operationId":"BoxTrapper-deliver_messages","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"description":"The version of the API.","example":3,"type":"integer"},"result":{"properties":{"status":{"enum":[0,1],"example":1,"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","type":"integer"},"metadata":{"properties":{"transformed":{"type":"integer","example":1,"enum":[1],"description":"Post-processing may have transformed the data."}}},"warnings":{"type":"array","nullable":true,"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"},"example":null},"data":{"description":"The delivered email message information.","items":{"properties":{"warning":{"type":"integer","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.","example":1,"enum":[1]},"matches":{"type":"array","items":{"example":"example.msg","type":"string"},"description":"A list of delivered email messages."},"email":{"format":"email","type":"string","description":"The delivered email message's sender.","example":"user@example.com"},"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.","example":1,"enum":[1],"type":"integer"},"reason":{"description":"A message about the failure or the warning.\n\n**Note:**\n\nThe function only returns this value if it doesn't delete the message or experiences\nissues when it deletes the message.","example":"This is a failure message.","type":"string"},"operator":{"enum":["deliver","deliverall"],"example":"deliverall","description":"The action that the function performed.\n\n* `deliver`\n* `deliverall`","type":"string"}},"type":"object"},"type":"array"},"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."},"errors":{"example":null,"items":{"type":"string"},"description":"List of errors if the API failed.","nullable":true,"type":"array"}},"type":"object"},"module":{"description":"The name of the module called.","example":"BoxTrapper","type":"string"},"func":{"example":"deliver_messages","description":"The name of the method called.","type":"string"}}}}}}},"tags":["BoxTrapper","Spam Prevention (BoxTrapper)"],"x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  BoxTrapper \\\n  deliver_messages \\\n  email='user@example.com' \\\n  queuefile='example.msg'\n"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/BoxTrapper/deliver_messages?email=user%40example.com&queuefile=example.msg"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file BoxTrapper_deliver_messages.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/BoxTrapper_deliver_messages.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/BoxTrapper/,\n    q/deliver_messages/,\n    {\n        'email' => 'user@example.com',\n        'queuefile' => 'example.msg',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file BoxTrapper_deliver_messages.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/BoxTrapper_deliver_messages.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'BoxTrapper',\n    'deliver_messages',\n    array (\n        'email' => 'user@example.com',\n        'queuefile' => 'example.msg',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"summary":"Send messages in the BoxTrapper queue","x-cpanel-available-version":"cPanel 82","x-cpanel-api-version":"UAPI"}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"security":[{"BasicAuth":[]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"tags":["Spam Prevention (BoxTrapper)"],"name":"Email"}],"tags":[{"description":"The BoxTrapper module for UAPI.","name":"BoxTrapper"},{"description":"Email / Spam Prevention (BoxTrapper)","name":"Spam Prevention (BoxTrapper)"}],"openapi":"3.0.2","servers":[{"variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}]},"blacklist_messages":{"paths":{"/BoxTrapper/blacklist_messages":{"get":{"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.","x-rollback":"none","parameters":[{"in":"query","name":"email","description":"The email address for which to blacklist messages.\n\n**Warning:**\n\nIf you call this function in Webmail, the system ignores this parameter and defaults to the currently-authenticated user.","required":true,"schema":{"format":"email","type":"string","example":"user@example.com"}},{"required":true,"description":"The filename of the email message to blacklist.","examples":{"multiple":{"value":"queuefile=file1&queuefile=file2","summary":"Blacklist multiple filenames."},"single":{"value":"file1","summary":"Blacklist one filename."}},"schema":{"type":"string","example":"example.msg"},"name":"queuefile","in":"query"}],"summary":"Add email address to BoxTrapper blocked senders","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"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file BoxTrapper_blacklist_messages.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/BoxTrapper_blacklist_messages.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/BoxTrapper/,\n    q/blacklist_messages/,\n    {\n        'email' => 'user@example.com',\n        'queuefile' => 'file1',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file BoxTrapper_blacklist_messages.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/BoxTrapper_blacklist_messages.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'BoxTrapper',\n    'blacklist_messages',\n    array (\n        'email' => 'user@example.com',\n        'queuefile' => 'file1',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"x-cpanel-available-version":"cPanel 82","x-cpanel-api-version":"UAPI","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"description":"The version of the API.","example":3,"type":"integer"},"func":{"example":"blacklist_messages","description":"The name of the method called.","type":"string"},"module":{"type":"string","description":"The name of the module called.","example":"BoxTrapper"},"result":{"properties":{"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."},"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"metadata":{"properties":{"transformed":{"type":"integer","enum":[1],"example":1,"description":"Post-processing may have transformed the data."}}},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"data":{"items":{"type":"object","properties":{"email":{"type":"string","format":"email","example":"user@example.com","description":"The email address that sent the blacklisted message."},"matches":{"type":"array","description":"An array of messages that the system deleted.","items":{"example":"example.msg","type":"string"}},"warning":{"enum":[1],"example":1,"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.","type":"integer"},"operator":{"enum":["blacklist"],"example":"blacklist","description":"The action that the function performed.","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"},"failed":{"type":"integer","example":1,"enum":[1],"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."}}},"description":"An array of objects of blacklisted email information.","type":"array"},"status":{"type":"integer","description":"- 1 - Success.\n- 0 - Failed. Check the `errors` field for more details.","enum":[0,1],"example":1}},"type":"object"}},"type":"object"}}}}},"tags":["BoxTrapper","Spam Prevention (BoxTrapper)"],"x-readonly":false,"operationId":"BoxTrapper-blacklist_messages"}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}},"security":[{"BasicAuth":[]}],"tags":[{"name":"BoxTrapper","description":"The BoxTrapper module for UAPI."},{"name":"Spam Prevention (BoxTrapper)","description":"Email / Spam Prevention (BoxTrapper)"}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"url":"https://{host}:{port}/execute"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"tags":["Spam Prevention (BoxTrapper)"],"name":"Email"}]},"process_messages":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"}},"security":[{"BasicAuth":[]}],"servers":[{"variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"name":"BoxTrapper","description":"The BoxTrapper module for UAPI."},{"description":"Email / Spam Prevention (BoxTrapper)","name":"Spam Prevention (BoxTrapper)"}],"x-tagGroups":[{"name":"Email","tags":["Spam Prevention (BoxTrapper)"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"paths":{"/BoxTrapper/process_messages":{"get":{"x-rollback":"none","description":"This function performs a specified action on messages in the BoxTrapper queue.\n\n**Important:**\n\nWhen you disable the [*Receive Mail*](https://go.cpanel.net/serverroles#roles) role, the system **disables** this function.","parameters":[{"name":"email","in":"query","description":"The account's email address.\n\n**Warning:**\n\n* The `email` parameter is required when this function is called **outside** of Webmail.\n* If you call this function in Webmail, the `email` parameter is **not** required, and\nthe system overrides this parameter with the current authenticated user's email address.","schema":{"example":"user@example.com","type":"string","format":"email"}},{"schema":{"type":"string","example":"example.msg"},"examples":{"multiple":{"summary":"Process multiple email messages.","value":"email=example.msg email=example1.msg email=example2.msg"},"single":{"value":"example.msg","summary":"Process a single email message."}},"description":"The filename of the email message to process. To process multiple email messages, pass this parameter multiple times.","required":true,"in":"query","name":"queuefile"},{"name":"action","in":"query","schema":{"type":"string","enum":["deliver","deliverall","delete","deleteall","blacklist","whitelist","ignore"],"example":"blacklist"},"required":true,"description":"The action to perform on the email message file. To perform multiple actions on the specified email messages, pass this parameter multiple times.\n\n* `deliver` — Deliver a specific message.\n* `deliverall` — Deliver all messages from a sender.\n* `delete` — Delete a message.\n* `deleteall` — Delete all messages from a sender.\n* `blacklist` — Blacklist the sender of an email message.\n* `whitelist` — Whitelist the sender of an email message.\n* `ignore` — Ignore email messages from a sender.\n\n**Note:**\n\nThe function performs the actions on the email messages files in the order that you pass each action.","examples":{"single":{"summary":"Perform a single action.","value":"blacklist"},"multiple":{"value":"action=blacklist action=deleteall","summary":"Perform multiple actions."}}}],"x-cpanel-available-version":"cPanel 82","summary":"Run a specific BoxTrapper action for a message","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  BoxTrapper \\\n  process_messages \\\n  queuefile='example.msg' \\\n  action='blacklist'\n"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/BoxTrapper/process_messages?queuefile=example.msg&action=blacklist"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file BoxTrapper_process_messages.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/BoxTrapper_process_messages.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/BoxTrapper/,\n    q/process_messages/,\n    {\n        'queuefile' => 'example.msg',\n        'action' => 'blacklist',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file BoxTrapper_process_messages.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/BoxTrapper_process_messages.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'BoxTrapper',\n    'process_messages',\n    array (\n        'queuefile' => 'example.msg',\n        'action' => 'blacklist',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-api-version":"UAPI","x-readonly":false,"operationId":"BoxTrapper-process_messages","tags":["BoxTrapper","Spam Prevention (BoxTrapper)"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"func":{"type":"string","description":"The name of the method called.","example":"process_messages"},"module":{"type":"string","example":"BoxTrapper","description":"The name of the module called."},"result":{"properties":{"status":{"type":"integer","description":"* `1` - Success\n* `0` - Failed. Check the errors field for more details.","enum":[0,1],"example":1},"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null},"messages":{"description":"List of messages generated by the API.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"warnings":{"nullable":true,"type":"array","example":null,"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"}},"data":{"type":"array","items":{"type":"object","properties":{"reason":{"description":"A message about the failure or the warning.\n\n**Note:**\n\nThe function only returns this value if it fails to processes the message or experiences issues when it processes the message.","type":"string"},"email":{"nullable":true,"type":"string","format":"email","description":"The email address for which the system\nprocessed an email message."},"operator":{"type":"string","example":"delete","enum":["deliver","deliverall","delete","deleteall","blacklist","whitelist","ignore"],"description":"The operation that the system performed.\n* `deliver` - Delivered a specific message.\n* `deliverall` - Delivered all messages from a sender.\n* `delete` - Deleted a message.\n* `deleteall` - Deleted all messages from a sender.\n* `blacklist` - Blacklisted the sender of an email message.\n* `whitelist` - Whitelisted the sender of an email message.\n* `ignore` - Ignored email messages from a sender.\n\n**Note:**\n\nThe function only returns this value if it successfully processes the message."},"failed":{"type":"integer","enum":[1],"example":1,"description":"Whether the system failed to process the message.\n\n* `1` - The function failed to process the message. This is the only\npossible value.\n\n**Note:**\n\nThe function only returns this value if it fails to process the message."},"matches":{"description":"An array of email messages that the system processed.","items":{"type":"string"},"type":"array"}}},"description":"An array of objects containing processed email message information."},"metadata":{"properties":{"transformed":{"description":"Post-processing may have transformed the data.","enum":[1],"example":1,"type":"integer"}}}}}}},"examples":{"function-fail":{"value":{"module":"BoxTrapper","result":{"status":1,"errors":null,"messages":null,"data":[{"reason":"(XID 2ymu8k) The system failed to locate the requested message:  example.msg","email":null,"failed":1,"matches":["example"]}],"warnings":["One or more of the operations failed."],"metadata":{"transformed":1}},"apiversion":3},"summary":"The function failed."},"function-success":{"value":{"apiversion":3,"messages":null,"data":[{"operator":"blacklist","email":"user@example.com","matches":["example"]},{"operator":"deleteall","email":"user@example.com","matches":["example"]}],"warnings":null,"status":1,"errors":null,"metadata":{"transformed":1},"module":"BoxTrapper"},"summary":"The function succeeded."}}}}}}}}}},"list_queued_messages":{"info":{"termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"x-tagGroups":[{"name":"Email","tags":["Spam Prevention (BoxTrapper)"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"tags":[{"name":"BoxTrapper","description":"The BoxTrapper module for UAPI."},{"description":"Email / Spam Prevention (BoxTrapper)","name":"Spam Prevention (BoxTrapper)"}],"openapi":"3.0.2","servers":[{"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."}},"description":"A server running cPanel."}],"security":[{"BasicAuth":[]}],"paths":{"/BoxTrapper/list_queued_messages":{"get":{"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"module":{"type":"string","description":"The name of the module called.","example":"BoxTrapper"},"result":{"type":"object","properties":{"status":{"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","example":1,"enum":[0,1],"type":"integer"},"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"},"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"metadata":{"properties":{"transformed":{"description":"Post-processing may have transformed the data.","example":1,"enum":[1],"type":"integer"}}},"data":{"description":"Information about each queued message.","items":{"type":"object","properties":{"time":{"description":"The message's creation time.","example":1556812881,"format":"unix_timestamp","type":"integer"},"subject":{"example":"Email Message Subject","description":"The message's subject.","type":"string"},"from":{"type":"string","format":"email","example":"user@example.com","description":"The sender's email address."},"queuefile":{"example":"example.msg","description":"The message's unique ID.","type":"string"}}},"type":"array"},"warnings":{"example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","nullable":true,"type":"array"}}},"func":{"type":"string","description":"The name of the method called.","example":"list_queued_messages"},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}}}}},"description":"HTTP Request was successful."}},"parameters":[{"required":true,"description":"The email account for which to retrieve queued messages.\n\n**Important:**\n\nIf you call this function in Webmail, the system ignores this parameter and defaults to the currently authenticated email address.","schema":{"example":"user@example.com","format":"email","type":"string"},"name":"email","in":"query"},{"schema":{"format":"unix_timestamp","type":"integer","example":1556812881},"description":"The date for which to return queued messages.","required":false,"in":"query","name":"date"}],"tags":["BoxTrapper","Spam Prevention (BoxTrapper)"],"x-readonly":true,"operationId":"BoxTrapper-list_queued_messages","x-cpanel-api-version":"UAPI","summary":"Return email account's BoxTrapper queued messages","x-cpanel-available-version":"cPanel 82","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  BoxTrapper \\\n  list_queued_messages \\\n  email='user@example.com'\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/BoxTrapper/list_queued_messages?email=user%40example.com","label":"URL","lang":"HTTP"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file BoxTrapper_list_queued_messages.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/BoxTrapper_list_queued_messages.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/BoxTrapper/,\n    q/list_queued_messages/,\n    {\n        'email' => 'user@example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file BoxTrapper_list_queued_messages.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/BoxTrapper_list_queued_messages.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'BoxTrapper',\n    'list_queued_messages',\n    array (\n        'email' => 'user@example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"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."}}}},"set_blocklist":{"paths":{"/BoxTrapper/set_blocklist":{"get":{"x-cpanel-api-version":"UAPI","x-cpanel-available-version":"cPanel 94","summary":"Update account BoxTrapper blocklist","x-codeSamples":[{"lang":"Shell","label":"CLI","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'"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/BoxTrapper/set_blocklist?email=user%40example.com&rules=blocklisted-email%5c%40domain%5c.com","lang":"HTTP","label":"URL"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file BoxTrapper_set_blocklist.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/BoxTrapper_set_blocklist.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/BoxTrapper/,\n    q/set_blocklist/,\n    {\n        'email' => 'user@example.com',\n        'rules' => 'blocklisted-email\\@domain\\.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file BoxTrapper_set_blocklist.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/BoxTrapper_set_blocklist.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'BoxTrapper',\n    'set_blocklist',\n    array (\n        'email' => 'user@example.com',\n        'rules' => 'blocklisted-email\\@domain\\.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"operationId":"BoxTrapper-set_blocklist","x-readonly":false,"tags":["BoxTrapper","Spam Prevention (BoxTrapper)"],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"result":{"properties":{"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"data":{"default":null,"type":"object","nullable":true},"metadata":{"properties":{}},"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null},"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null},"status":{"type":"integer","description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","enum":[0,1],"example":1}},"type":"object"},"module":{"description":"The name of the module called.","example":"BoxTrapper","type":"string"},"func":{"type":"string","description":"The name of the method called.","example":"set_blocklist"},"apiversion":{"type":"integer","example":3,"description":"The version of the API."}},"type":"object"}}},"description":"HTTP Request was successful."}},"x-rollback":"clean","description":"This function sets the BoxTrapper blocklist configuration rules. BoxTrapper will delete messages that match these rules and send a notification to the sender.\n\n**Important:**\n\nWhen you disable the\n[*Receive Mail* role](https://go.cpanel.net/serverroles),\nthe system **disables** this function.","parameters":[{"schema":{"format":"email","type":"string","example":"user@example.com"},"required":true,"description":"A valid email address on the cPanel account.\n\n**Warning:**\n\nIf you call this function in Webmail, the system overrides this parameter.\nThis parameter defaults to the current email address.","name":"email","in":"query"},{"schema":{"items":{"type":"string"},"type":"array"},"description":"An array of blocklist rules.\n\n**Note:**\n\nYou can set multiple block rules, duplicate or increment the parameter name. For example,\n`rules-1`, `rules-2`, and `rules-3`.","required":true,"examples":{"single":{"summary":"Set a single rule.","value":"blocklisted-email\\@domain\\.com"},"multiple-alternative":{"value":"rules='blocklisted-email\\@domain\\.com' rules='from blocklisted-email2\\@domain\\.com' rules='to domain2\\.com'","summary":"Set multiple rules."},"multiple":{"summary":"Set multiple rules.","value":"rules-1='blocklisted-email\\@domain\\.com' rules-2='from blocklisted-email2\\@domain\\.com' rules-3='to domain2\\.com'"}},"name":"rules","in":"query"}]}}},"security":[{"BasicAuth":[]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"tags":["Spam Prevention (BoxTrapper)"],"name":"Email"}],"servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}}}],"tags":[{"name":"BoxTrapper","description":"The BoxTrapper module for UAPI."},{"description":"Email / Spam Prevention (BoxTrapper)","name":"Spam Prevention (BoxTrapper)"}],"openapi":"3.0.2","externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"},"version":"11.93.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI"}},"get_ignorelist":{"paths":{"/BoxTrapper/get_ignorelist":{"get":{"parameters":[{"name":"email","in":"query","schema":{"example":"user@example.com","format":"email","type":"string"},"required":true,"description":"A valid email address on the cPanel account.\n\n**Warning:**\n\nIf you call this function in Webmail, the system overrides this parameter.\nThis parameter defaults to the current email address."}],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"description":"The version of the API.","example":3,"type":"integer"},"func":{"example":"get_ignorelist","description":"The name of the method called.","type":"string"},"result":{"properties":{"warnings":{"nullable":true,"type":"array","example":null,"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"}},"data":{"type":"array","description":"The ignorelist configuration rules.","items":{"type":"string","description":"One ignorelist rule.","example":"from ignored-email\\@domain\\.com"}},"metadata":{"properties":{}},"errors":{"nullable":true,"type":"array","example":null,"description":"List of errors if the API failed.","items":{"type":"string"}},"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."},"status":{"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","example":1,"enum":[0,1],"type":"integer"}},"type":"object"},"module":{"type":"string","example":"BoxTrapper","description":"The name of the module called."}},"type":"object"}}}}},"tags":["BoxTrapper","Spam Prevention (BoxTrapper)"],"operationId":"BoxTrapper-get_ignorelist","x-readonly":true,"x-cpanel-api-version":"UAPI","description":"This function retrieves a list of BoxTrapper ignorelist configuration rules. BoxTrapper will delete messages that match these rules without sending a notification to the sender.\n\n**Important:**\n\nWhen you disable the\n[*Receive Mail* role](https://go.cpanel.net/serverroles),\nthe system **disables** this function.","x-codeSamples":[{"lang":"Shell","label":"CLI","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"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file BoxTrapper_get_ignorelist.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/BoxTrapper_get_ignorelist.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/BoxTrapper/,\n    q/get_ignorelist/,\n    {\n        'email' => 'user@example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file BoxTrapper_get_ignorelist.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/BoxTrapper_get_ignorelist.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'BoxTrapper',\n    'get_ignorelist',\n    array (\n        'email' => 'user@example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Return account BoxTrapper ignorelist rules","x-cpanel-available-version":"cPanel 94"}}},"security":[{"BasicAuth":[]}],"servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"name":"BoxTrapper","description":"The BoxTrapper module for UAPI."},{"description":"Email / Spam Prevention (BoxTrapper)","name":"Spam Prevention (BoxTrapper)"}],"x-tagGroups":[{"tags":["Spam Prevention (BoxTrapper)"],"name":"Email"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.93.0.9999","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"}}},"set_allowlist":{"tags":[{"name":"BoxTrapper","description":"The BoxTrapper module for UAPI."},{"name":"Spam Prevention (BoxTrapper)","description":"Email / Spam Prevention (BoxTrapper)"}],"openapi":"3.0.2","servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"description":"A server running cPanel."}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"x-tagGroups":[{"tags":["Spam Prevention (BoxTrapper)"],"name":"Email"}],"security":[{"BasicAuth":[]}],"info":{"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.93.0.9999","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/BoxTrapper/set_allowlist":{"get":{"parameters":[{"name":"email","in":"query","required":true,"description":"A valid email address on the cPanel account.\n\n**Warning:**\n\nIf you call this function in Webmail, the system overrides this parameter.\nThis parameter defaults to the current email address.","schema":{"example":"user@example.com","format":"email","type":"string"}},{"schema":{"items":{"type":"string"},"type":"array"},"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":{"value":"rules='allowlisted-email\\@domain\\.com' rules='from allowlisted-email2\\@domain\\.com' rules='to domain2\\.com'","summary":"Set multiple rules."},"single":{"summary":"Set a single rule.","value":"allowlisted-email\\@domain\\.com"}},"description":"An array of allowlist rules.\n\n**Note:**\n\nYou can set multiple allowlist rules, duplicate or increment the parameter name. For example,\n`rules-1`, `rules-2`, and `rules-3`.","required":true,"in":"query","name":"rules"}],"x-rollback":"clean","description":"This function sets the BoxTrapper allowlist configuration rules. BoxTrapper will deliver emails that match these rules.\n\n**Important:**\n\nWhen you disable the\n[*Receive Mail* role](https://go.cpanel.net/serverroles),\nthe system **disables** this function.","operationId":"BoxTrapper-set_allowlist","x-readonly":false,"tags":["BoxTrapper","Spam Prevention (BoxTrapper)"],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"func":{"description":"The name of the method called.","example":"set_allowlist","type":"string"},"result":{"type":"object","properties":{"status":{"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","example":1,"enum":[0,1],"type":"integer"},"data":{"default":null,"nullable":true,"type":"object"},"warnings":{"nullable":true,"type":"array","example":null,"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"}},"metadata":{"properties":{}},"errors":{"nullable":true,"type":"array","example":null,"description":"List of errors if the API failed.","items":{"type":"string"}},"messages":{"description":"List of messages generated by the API.","items":{"type":"string"},"example":null,"type":"array","nullable":true}}},"module":{"example":"BoxTrapper","description":"The name of the module called.","type":"string"},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}},"type":"object"}}},"description":"HTTP Request was successful."}},"x-cpanel-api-version":"UAPI","x-codeSamples":[{"lang":"Shell","label":"CLI","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'"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/BoxTrapper/set_allowlist?email=user%40example.com&rules=allowlisted-email%5c%40domain%5c.com","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file BoxTrapper_set_allowlist.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/BoxTrapper_set_allowlist.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/BoxTrapper/,\n    q/set_allowlist/,\n    {\n        'email' => 'user@example.com',\n        'rules' => 'allowlisted-email\\@domain\\.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file BoxTrapper_set_allowlist.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/BoxTrapper_set_allowlist.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'BoxTrapper',\n    'set_allowlist',\n    array (\n        'email' => 'user@example.com',\n        'rules' => 'allowlisted-email\\@domain\\.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-available-version":"cPanel 94","summary":"Update account BoxTrapper allowlist"}}}},"get_forwarders":{"paths":{"/BoxTrapper/get_forwarders":{"get":{"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"result":{"properties":{"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null,"type":"array","nullable":true},"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"},"metadata":{"properties":{"transformed":{"example":1,"enum":[1],"description":"Post-processing may have transformed the data.","type":"integer"}}},"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"messages":{"description":"List of messages generated by the API.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"status":{"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","enum":[0,1],"example":1,"type":"integer"}},"type":"object"},"module":{"description":"The name of the module called.","example":"BoxTrapper","type":"string"},"func":{"type":"string","example":"get_forwarders","description":"The name of the method called."},"apiversion":{"example":3,"description":"The version of the API.","type":"integer"}},"type":"object"}}},"description":"HTTP Request was successful."}},"tags":["BoxTrapper","Spam Prevention (BoxTrapper)"],"parameters":[{"name":"email","in":"query","description":"The account's email address.\n\n**Important:**\n\nIf you call this function in Webmail, the system ignores this parameter and defaults to the currently-authenticated email address.","required":true,"schema":{"example":"user@example.com","type":"string","format":"email"}}],"x-readonly":true,"operationId":"BoxTrapper-get_forwarders","x-cpanel-api-version":"UAPI","description":"This function retrieves a list of email addresses to which BoxTrapper forwards email messages.\n\n**Important:**\n\nWhen you disable the [Receive Mail](https://go.cpanel.net/serverroles) role, the system **disables** this function.","summary":"Return all BoxTrapper forwarders","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  BoxTrapper \\\n  get_forwarders \\\n  email='user@example.com'\n","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/BoxTrapper/get_forwarders?email=user%40example.com","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file BoxTrapper_get_forwarders.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/BoxTrapper_get_forwarders.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/BoxTrapper/,\n    q/get_forwarders/,\n    {\n        'email' => 'user@example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file BoxTrapper_get_forwarders.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/BoxTrapper_get_forwarders.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'BoxTrapper',\n    'get_forwarders',\n    array (\n        'email' => 'user@example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 86"}}},"info":{"contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"},"license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999"},"externalDocs":{"url":"https://cpanel.net/developers/"},"x-tagGroups":[{"tags":["Spam Prevention (BoxTrapper)"],"name":"Email"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"openapi":"3.0.2","tags":[{"description":"The BoxTrapper module for UAPI.","name":"BoxTrapper"},{"description":"Email / Spam Prevention (BoxTrapper)","name":"Spam Prevention (BoxTrapper)"}],"servers":[{"description":"A server running cPanel.","variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute"}],"security":[{"BasicAuth":[]}]},"get_status":{"info":{"termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"x-tagGroups":[{"tags":["Spam Prevention (BoxTrapper)"],"name":"Email"}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute"}],"tags":[{"name":"BoxTrapper","description":"The BoxTrapper module for UAPI."},{"name":"Spam Prevention (BoxTrapper)","description":"Email / Spam Prevention (BoxTrapper)"}],"security":[{"BasicAuth":[]}],"paths":{"/BoxTrapper/get_status":{"get":{"summary":"Return whether email account uses BoxTrapper","x-cpanel-available-version":"cPanel 82","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  BoxTrapper \\\n  get_status \\\n  email='user@example.com'\n","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/BoxTrapper/get_status?email=user%40example.com","lang":"HTTP","label":"URL"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file BoxTrapper_get_status.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/BoxTrapper_get_status.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/BoxTrapper/,\n    q/get_status/,\n    {\n        'email' => 'user@example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file BoxTrapper_get_status.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/BoxTrapper_get_status.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'BoxTrapper',\n    'get_status',\n    array (\n        'email' => 'user@example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"description":"This function checks whether BoxTrapper is enabled for an email account.\n\n**Important:**\n\nWhen you disable the [Receive Mail role](https://docs.cpanel.net/knowledge-base/general-systems-administration/how-to-use-server-profiles/#roles), the system **disables** this function.","x-cpanel-api-version":"UAPI","x-readonly":true,"operationId":"BoxTrapper-get_status","parameters":[{"in":"query","name":"email","schema":{"format":"email","type":"string","example":"user@example.com"},"required":true,"description":"The account's email address.\n\n**Important:**\n\nIf you call this function in Webmail, the system ignores this parameter."}],"tags":["BoxTrapper","Spam Prevention (BoxTrapper)"],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"result":{"properties":{"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"messages":{"description":"List of messages generated by the API.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API."},"data":{"type":"integer","example":0,"enum":[0,1],"description":"Whether BoxTrapper is enabled for the email account.\n* `1` — Enabled.\n* `0` — Disabled."},"metadata":{"properties":{}},"status":{"type":"integer","description":"* 1 — Success.\n* 0 — Failed. Check the `errors` field for more details.","enum":[0,1],"example":1}},"type":"object"},"module":{"type":"string","example":"BoxTrapper","description":"The name of the module called."},"func":{"example":"get_status","description":"The name of the method called.","type":"string"}}}}},"description":"HTTP Request was successful."}}}}}},"set_forwarders":{"security":[{"BasicAuth":[]}],"tags":[{"name":"BoxTrapper","description":"The BoxTrapper module for UAPI."},{"name":"Spam Prevention (BoxTrapper)","description":"Email / Spam Prevention (BoxTrapper)"}],"servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"description":"A server running cPanel."}],"openapi":"3.0.2","x-tagGroups":[{"tags":["Spam Prevention (BoxTrapper)"],"name":"Email"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"},"title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."},"paths":{"/BoxTrapper/set_forwarders":{"get":{"tags":["BoxTrapper","Spam Prevention (BoxTrapper)"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"func":{"type":"string","example":"set_forwarders","description":"The name of the method called."},"module":{"type":"string","example":"BoxTrapper","description":"The name of the module called."},"result":{"properties":{"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null},"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"metadata":{"properties":{}},"data":{"default":null,"type":"object","nullable":true},"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"},"example":null,"type":"array","nullable":true},"status":{"type":"integer","description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","enum":[0,1],"example":1}}},"apiversion":{"type":"integer","description":"The version of the API.","example":3}},"type":"object"}}}}},"parameters":[{"in":"query","name":"email","schema":{"type":"string","example":"user@example.com"},"description":"The account's email address.\n\n**Warning:**\n\nIf you call this function\nin Webmail, the system ignores this parameter and uses the currently-authenticated\nemail address.","required":true},{"name":"forwarder","in":"query","description":"The email addresses to which to forward email messages.","required":true,"example":["user1@example.com"],"schema":{"items":{"example":"user1@example.com","format":"email"},"type":"array"}}],"x-readonly":false,"operationId":"BoxTrapper-set_forwarders","x-cpanel-api-version":"UAPI","summary":"Add email address to BoxTrapper forwarders","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  BoxTrapper \\\n  set_forwarders \\\n  email='user@example.com' \\\n  forwarder='user1@example.com'\n","label":"CLI","lang":"Shell"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/BoxTrapper/set_forwarders?email=user%40example.com&forwarder=user1%40example.com"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file BoxTrapper_set_forwarders.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/BoxTrapper_set_forwarders.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/BoxTrapper/,\n    q/set_forwarders/,\n    {\n        'email' => 'user@example.com',\n        'forwarder' => 'user1@example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file BoxTrapper_set_forwarders.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/BoxTrapper_set_forwarders.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'BoxTrapper',\n    'set_forwarders',\n    array (\n        'email' => 'user@example.com',\n        'forwarder' => 'user1@example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-available-version":"cPanel 86","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.","x-rollback":"clean"}}}},"save_email_template":{"paths":{"/BoxTrapper/save_email_template":{"get":{"parameters":[{"in":"query","name":"email","schema":{"format":"email","type":"string","example":"user@example.com"},"description":"The account's email address.\n\n**Warning:**\n\nIf you call this function in Webmail, the system overrides this parameter.\n\n**Note:**\n\nThis parameter defaults to the current email address.","required":true},{"required":true,"description":"The message template.\n\n* `blacklist`\n* `returnverify`\n* `verifyreleased`\n* `verify`\n\n**Important:**\n\nIf you use the `verify` template, you **must** include `Subject: verify#%msgid%` in this parameter's value.\n\n**Note:**\n\nFor more information about each template, read our [BoxTrapper documentation](https://go.cpanel.net/cpaneldocsBoxTrapper).","schema":{"type":"string","example":"blacklist","enum":["blacklist","returnverify","verifyreleased","verify"]},"in":"query","name":"template"},{"in":"query","name":"contents","schema":{"type":"string","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%"},"required":true,"description":"The template file's contents.\n\nYou can use [variables](https://go.cpanel.net/cpaneldocsBoxTrapper) in the template\nto include details about the original message.\n\n**Important:**\n\n* You **must** include `To: %email%` in this parameter's value.\n* If you use the `verify` template, you **must** include `Subject: verify#%msgid%` in this parameter's value.\n* This value cannot exceed four kilobytes (KB).\n* You **must** URI-encode this parameter's value when using the CLI."}],"description":"This function saves the contents of a BoxTrapper message template.\n\n**Important:**\n\nWhen you disable the [_Receive Mail_ role](https://go.cpanel.net/howtouseserverprofiles#roles),\nthe system **disables** this function.","x-rollback":"clean","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"type":"integer","description":"The version of the API.","example":3},"result":{"properties":{"status":{"type":"integer","description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","example":1,"enum":[0,1]},"metadata":{"properties":{}},"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API."},"data":{"nullable":true,"type":"object","default":null},"messages":{"example":null,"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"},"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true}}},"module":{"type":"string","description":"The name of the module called.","example":"BoxTrapper"},"func":{"example":"save_email_template","description":"The name of the method called.","type":"string"}}}}},"description":"HTTP Request was successful."}},"tags":["BoxTrapper","Spam Prevention (BoxTrapper)"],"operationId":"BoxTrapper-save_email_template","x-readonly":false,"x-cpanel-api-version":"UAPI","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"},{"lang":"HTTP","label":"URL","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"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file BoxTrapper_save_email_template.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/BoxTrapper_save_email_template.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/BoxTrapper/,\n    q/save_email_template/,\n    {\n        'email' => 'user@example.com',\n        'template' => 'blacklist',\n        'contents' => 'To: %email%\nSubject: Re: %subject%\n\nThe user %acct% does not accept mail from your address.\n\nThe headers of the message sent from your address are shown below:\n\n%headers%',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file BoxTrapper_save_email_template.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/BoxTrapper_save_email_template.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'BoxTrapper',\n    'save_email_template',\n    array (\n        'email' => 'user@example.com',\n        'template' => 'blacklist',\n        'contents' => 'To: %email%\nSubject: Re: %subject%\n\nThe user %acct% does not accept mail from your address.\n\nThe headers of the message sent from your address are shown below:\n\n%headers%',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"summary":"Save BoxTrapper message template contents","x-cpanel-available-version":"cPanel 84"}}},"security":[{"BasicAuth":[]}],"x-tagGroups":[{"name":"Email","tags":["Spam Prevention (BoxTrapper)"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"servers":[{"description":"A server running cPanel.","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"url":"https://{host}:{port}/execute"}],"tags":[{"name":"BoxTrapper","description":"The BoxTrapper module for UAPI."},{"description":"Email / Spam Prevention (BoxTrapper)","name":"Spam Prevention (BoxTrapper)"}],"openapi":"3.0.2","externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}}},"set_status":{"paths":{"/BoxTrapper/set_status":{"get":{"summary":"Enable or disable BoxTrapper for email account","x-cpanel-available-version":"cPanel 82","x-codeSamples":[{"lang":"Shell","label":"CLI","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"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file BoxTrapper_set_status.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/BoxTrapper_set_status.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/BoxTrapper/,\n    q/set_status/,\n    {\n        'email' => 'user@example.com',\n        'enabled' => '1',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file BoxTrapper_set_status.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/BoxTrapper_set_status.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'BoxTrapper',\n    'set_status',\n    array (\n        'email' => 'user@example.com',\n        'enabled' => '1',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-api-version":"UAPI","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"func":{"example":"set_status","description":"The name of the method called.","type":"string"},"module":{"description":"The name of the module called.","example":"BoxTrapper","type":"string"},"result":{"properties":{"metadata":{"properties":{}},"warnings":{"example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","nullable":true,"type":"array"},"data":{"default":null,"nullable":true,"type":"object"},"messages":{"description":"List of messages generated by the API.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"status":{"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","example":1,"enum":[0,1],"type":"integer"}}}},"type":"object"}}}}},"tags":["BoxTrapper","Spam Prevention (BoxTrapper)"],"operationId":"BoxTrapper-set_status","x-readonly":false,"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.","x-rollback":"none","parameters":[{"description":"The account's name. This can be an email address or the cPanel user’s username.\n\n**Warning:**\n\nIf you call this function in Webmail, the system ignores this parameter and defaults to the currently-authenticated email address.","required":true,"example":"user@example.com","schema":{"oneOf":[{"example":"user@example.com","type":"string","format":"email"},{"format":"username","type":"string","example":"exampleuser"}]},"name":"email","in":"query"},{"schema":{"type":"integer","example":1,"enum":[0,1]},"description":"Whether to enable or disable BoxTrapper for the email account.\n\n* `1` - Enable BoxTrapper.\n* `0` - **Disable** BoxTrapper.","required":true,"in":"query","name":"enabled"}]}}},"security":[{"BasicAuth":[]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"x-tagGroups":[{"tags":["Spam Prevention (BoxTrapper)"],"name":"Email"}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"url":"https://{host}:{port}/execute"}],"tags":[{"name":"BoxTrapper","description":"The BoxTrapper module for UAPI."},{"name":"Spam Prevention (BoxTrapper)","description":"Email / Spam Prevention (BoxTrapper)"}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"}}},"get_log":{"paths":{"/BoxTrapper/get_log":{"get":{"operationId":"BoxTrapper-get_log","x-readonly":true,"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"result":{"properties":{"status":{"description":"* 1 — Success.\n* 0 — Failed. Check the `errors` field for more details.","example":1,"enum":[0,1],"type":"integer"},"data":{"properties":{"path":{"type":"string","example":"/home/user/etc/example.com/user/boxtrapper/log/05-02-2019.log","description":"The log file's filepath. If the log file doesn't exist, the function returns an empty string."},"date":{"format":"unix_timestamp","type":"integer","example":1556812881,"description":"The date for which the system returned the log."},"lines":{"type":"array","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":"object"},"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API."},"metadata":{"properties":{}},"errors":{"example":null,"items":{"type":"string"},"description":"List of errors if the API failed.","nullable":true,"type":"array"},"messages":{"items":{"type":"string"},"description":"List of messages generated by the API.","example":null,"type":"array","nullable":true}},"type":"object"},"module":{"example":"BoxTrapper","description":"The name of the module called.","type":"string"},"func":{"type":"string","description":"The name of the method called.","example":"get_log"}}}}}}},"parameters":[{"description":"The account's email address.\n\n**Important:**\n\nIf you call this function in Webmail, the system ignores this parameter and defaults to the currently authenticated email address.","required":true,"schema":{"example":"user@example.com","format":"email","type":"string"},"in":"query","name":"email"},{"required":false,"description":"The date for which to return the log file and its contents.\n\n**Note:**\n\nThis parameter defaults to the current date.","schema":{"example":1556812881,"type":"integer","format":"unix_timestamp"},"name":"date","in":"query"}],"tags":["BoxTrapper","Spam Prevention (BoxTrapper)"],"x-cpanel-available-version":"cPanel 82","summary":"Return BoxTrapper log file and contents","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  BoxTrapper \\\n  get_log \\\n  email='user@example.com'\n","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/BoxTrapper/get_log?email=user%40example.com","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file BoxTrapper_get_log.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/BoxTrapper_get_log.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/BoxTrapper/,\n    q/get_log/,\n    {\n        'email' => 'user@example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file BoxTrapper_get_log.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/BoxTrapper_get_log.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'BoxTrapper',\n    'get_log',\n    array (\n        'email' => 'user@example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"description":"This function returns the account's BoxTrapper log file and its contents.\n\n**Important:**\n\nWhen you disable the [Receive Mail role](https://docs.cpanel.net/knowledge-base/general-systems-administration/how-to-use-server-profiles/#roles), the system **disables** this function.","x-cpanel-api-version":"UAPI"}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"security":[{"BasicAuth":[]}],"tags":[{"description":"The BoxTrapper module for UAPI.","name":"BoxTrapper"},{"description":"Email / Spam Prevention (BoxTrapper)","name":"Spam Prevention (BoxTrapper)"}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}}}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"x-tagGroups":[{"tags":["Spam Prevention (BoxTrapper)"],"name":"Email"}]},"set_ignorelist":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.93.0.9999","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"security":[{"BasicAuth":[]}],"tags":[{"description":"The BoxTrapper module for UAPI.","name":"BoxTrapper"},{"description":"Email / Spam Prevention (BoxTrapper)","name":"Spam Prevention (BoxTrapper)"}],"openapi":"3.0.2","servers":[{"variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"x-tagGroups":[{"name":"Email","tags":["Spam Prevention (BoxTrapper)"]}],"paths":{"/BoxTrapper/set_ignorelist":{"get":{"x-readonly":false,"operationId":"BoxTrapper-set_ignorelist","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"type":"integer","description":"The version of the API.","example":3},"func":{"type":"string","description":"The name of the method called.","example":"set_ignorelist"},"module":{"example":"BoxTrapper","description":"The name of the module called.","type":"string"},"result":{"type":"object","properties":{"status":{"type":"integer","description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","example":1,"enum":[0,1]},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"data":{"default":null,"type":"object","nullable":true},"metadata":{"properties":{}},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."}}}}}}},"description":"HTTP Request was successful."}},"tags":["BoxTrapper","Spam Prevention (BoxTrapper)"],"summary":"Update account BoxTrapper ignorelist","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty --user=username BoxTrapper set_ignorelist email='user@example.com' rules-1='ignored-email\\@domain\\.com' rules-2='from ignored-email2\\@domain\\.com' rules-3='to domain2\\.com'"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/BoxTrapper/set_ignorelist?email=user%40example.com&rules=ignored-email%5c%40domain%5c.com"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file BoxTrapper_set_ignorelist.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/BoxTrapper_set_ignorelist.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/BoxTrapper/,\n    q/set_ignorelist/,\n    {\n        'email' => 'user@example.com',\n        'rules' => 'ignored-email\\@domain\\.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file BoxTrapper_set_ignorelist.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/BoxTrapper_set_ignorelist.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'BoxTrapper',\n    'set_ignorelist',\n    array (\n        'email' => 'user@example.com',\n        'rules' => 'ignored-email\\@domain\\.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"x-cpanel-available-version":"cPanel 94","x-cpanel-api-version":"UAPI","parameters":[{"schema":{"example":"user@example.com","type":"string","format":"email"},"description":"A valid email address on the cPanel account.\n\n**Warning:**\n\nIf you call this function in Webmail, the system overrides this parameter.\nThis parameter defaults to the current email address.","required":true,"name":"email","in":"query"},{"schema":{"items":{"type":"string"},"type":"array"},"examples":{"multiple":{"value":"rules-1='ignored-email\\@domain\\.com' rules-2='from ignored-email2\\@domain\\.com' rules-3='to domain2\\.com'","summary":"Set multiple rules."},"multiple-alternative":{"summary":"Set multiple rules.","value":"rules='ignored-email\\@domain\\.com' rules='from ignored-email2\\@domain\\.com' rules='to domain2\\.com'"},"single":{"value":"ignored-email\\@domain\\.com","summary":"Set a single rule."}},"description":"An array of ignorelist rules.\n\n**Note:**\n\nYou can set multiple ignore rules, duplicate or increment the parameter name. For example,\n`rules-1`, `rules-2`, and `rules-3`.","required":true,"in":"query","name":"rules"}],"x-rollback":"clean","description":"This function sets the BoxTrapper ignorelist configuration rules. BoxTrapper will delete messages that match these rules without sending a notification to the sender.\n\n**Important:**\n\nWhen you disable the\n[*Receive Mail* role](https://go.cpanel.net/serverroles),\nthe system **disables** this function."}}}},"get_allowlist":{"openapi":"3.0.2","tags":[{"name":"BoxTrapper","description":"The BoxTrapper module for UAPI."},{"name":"Spam Prevention (BoxTrapper)","description":"Email / Spam Prevention (BoxTrapper)"}],"servers":[{"url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}},"description":"A server running cPanel."}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"name":"Email","tags":["Spam Prevention (BoxTrapper)"]}],"security":[{"BasicAuth":[]}],"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.","version":"11.93.0.9999","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/"},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/BoxTrapper/get_allowlist":{"get":{"x-cpanel-api-version":"UAPI","x-cpanel-available-version":"cPanel 94","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  BoxTrapper \\\n  get_allowlist \\\n  email='user@example.com'\n","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/BoxTrapper/get_allowlist?email=user%40example.com","label":"URL","lang":"HTTP"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file BoxTrapper_get_allowlist.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/BoxTrapper_get_allowlist.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/BoxTrapper/,\n    q/get_allowlist/,\n    {\n        'email' => 'user@example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file BoxTrapper_get_allowlist.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/BoxTrapper_get_allowlist.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'BoxTrapper',\n    'get_allowlist',\n    array (\n        'email' => 'user@example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Return account BoxTrapper allowlist rules","description":"This function retrieves a list of BoxTrapper allowlist configuration rules. BoxTrapper will deliver emails that match these rules.\n\n**Important:**\n\nWhen you disable the\n[*Receive Mail* role](https://go.cpanel.net/serverroles),\nthe system **disables** this function.","parameters":[{"in":"query","name":"email","required":true,"description":"A valid email address on the cPanel account.\n\n**Warning:**\n\nIf you call this function in Webmail, the system overrides this parameter.\nThis parameter defaults to the current email address.","schema":{"example":"user@example.com","type":"string","format":"email"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"func":{"example":"get_allowlist","description":"The name of the method called.","type":"string"},"result":{"type":"object","properties":{"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API."},"data":{"items":{"example":"from allowlisted-email\\@domain\\.com","description":"One allowlist rule.","type":"string"},"description":"The allowlist configuration rules.","type":"array"},"metadata":{"properties":{}},"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null},"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"},"status":{"type":"integer","description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","enum":[0,1],"example":1}}},"module":{"type":"string","example":"BoxTrapper","description":"The name of the module called."},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}},"type":"object"}}},"description":"HTTP Request was successful."}},"tags":["BoxTrapper","Spam Prevention (BoxTrapper)"],"operationId":"BoxTrapper-get_allowlist","x-readonly":true}}}},"save_configuration":{"paths":{"/BoxTrapper/save_configuration":{"get":{"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"func":{"type":"string","description":"The name of the method called.","example":"save_configuration"},"module":{"type":"string","description":"The name of the module called.","example":"BoxTrapper"},"result":{"properties":{"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null},"errors":{"nullable":true,"type":"array","example":null,"description":"List of errors if the API failed.","items":{"type":"string"}},"metadata":{"properties":{}},"data":{"default":null,"type":"object","nullable":true},"warnings":{"example":null,"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"},"status":{"example":1,"enum":[0,1],"description":"- `1` - Success.\n- `0` - Failed. Check the `errors` field for more details.","type":"integer"}}},"apiversion":{"example":3,"description":"The version of the API.","type":"integer"}}}}},"description":"HTTP Request was successful."}},"parameters":[{"name":"email","in":"query","required":true,"description":"The account's email address.\n\n**Warning:**\n\nIf you call this function in Webmail, the system ignores this parameter and defaults to the currently-authenticated email address.","schema":{"type":"string","format":"email","example":"user@example.com"}},{"in":"query","name":"from_addresses","schema":{"type":"string","format":"email-csv","example":"sender1@test.com,sender2@test.com"},"required":true,"description":"A comma-separated list of email addresses that the system uses when it sends messages back to the original message senders."},{"name":"spam_score","in":"query","schema":{"type":"number","example":2.5},"required":false,"description":"The account's Apache SpamAssassin™ threshold score. For more information about Apache SpamAssassin threshold scores, read our [Spam Filters](https://go.cpanel.net/cpaneldocsSpamFilters) documentation.\n\n**Note:**\n\nThis parameter defaults to the account's current configuration."},{"schema":{"minimum":1,"example":14,"type":"integer"},"description":"The number of days to retain log files and queued messages.","required":true,"in":"query","name":"queue_days"},{"schema":{"type":"integer","example":1,"enum":[0,1]},"description":"Whether to enable automatic whitelisting for the account.\n\n* `1` - Enable.\n* `0` - Disable.","required":true,"name":"enable_auto_whitelist","in":"query"},{"description":"Whether to whitelist the email addresses in a message's *To* and *From* sections, including carbon-copied (CC) recipients.\n\n* `1` - Whitelist.\n* `0` - Do **not** whitelist.","required":true,"schema":{"type":"integer","enum":[0,1],"example":1},"in":"query","name":"whitelist_by_association"},{"name":"from_name","in":"query","required":false,"description":"The name of the person who owns the email account.","schema":{"example":"User","type":"string"}}],"tags":["BoxTrapper","Spam Prevention (BoxTrapper)"],"operationId":"BoxTrapper-save_configuration","x-readonly":false,"x-codeSamples":[{"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","lang":"Shell","label":"CLI"},{"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":"URL","lang":"HTTP"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file BoxTrapper_save_configuration.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/BoxTrapper_save_configuration.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/BoxTrapper/,\n    q/save_configuration/,\n    {\n        'email' => 'user@example.com',\n        'from_addresses' => 'sender1@test.com,sender2@test.com',\n        'queue_days' => '14',\n        'enable_auto_whitelist' => '1',\n        'whitelist_by_association' => '1',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file BoxTrapper_save_configuration.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/BoxTrapper_save_configuration.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'BoxTrapper',\n    'save_configuration',\n    array (\n        'email' => 'user@example.com',\n        'from_addresses' => 'sender1@test.com,sender2@test.com',\n        'queue_days' => '14',\n        'enable_auto_whitelist' => '1',\n        'whitelist_by_association' => '1',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 82","summary":"Update email account's BoxTrapper configuration","description":"This function modifies an account's BoxTrapper configuration.\n\n**Important:**\n\nWhen you disable the [Receive Mail](https://go.cpanel.net/serverroles) role, the system **disables** this function.","x-cpanel-api-version":"UAPI","x-rollback":"clean"}}},"info":{"license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"x-tagGroups":[{"name":"Email","tags":["Spam Prevention (BoxTrapper)"]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"servers":[{"variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"description":"The BoxTrapper module for UAPI.","name":"BoxTrapper"},{"name":"Spam Prevention (BoxTrapper)","description":"Email / Spam Prevention (BoxTrapper)"}],"security":[{"BasicAuth":[]}]},"get_blocklist":{"paths":{"/BoxTrapper/get_blocklist":{"get":{"parameters":[{"required":true,"description":"A valid email address on the cPanel account.\n\n**Warning:**\n\nIf you call this function in Webmail, the system overrides this parameter.\nThis parameter defaults to the current email address.","schema":{"example":"user@example.com","format":"email","type":"string"},"in":"query","name":"email"}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"module":{"example":"BoxTrapper","description":"The name of the module called.","type":"string"},"result":{"type":"object","properties":{"status":{"type":"integer","description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","enum":[0,1],"example":1},"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null},"messages":{"example":null,"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"},"warnings":{"example":null,"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"},"data":{"description":"The blocklist configuration rules.","items":{"type":"string","example":"from blocklisted-email\\@domain\\.com","description":"One blocklist rule."},"type":"array"},"metadata":{"properties":{}}}},"func":{"type":"string","example":"get_blocklist","description":"The name of the method called."},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}},"type":"object"}}},"description":"HTTP Request was successful."}},"tags":["BoxTrapper","Spam Prevention (BoxTrapper)"],"x-readonly":true,"operationId":"BoxTrapper-get_blocklist","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  BoxTrapper \\\n  get_blocklist \\\n  email='user@example.com'\n","lang":"Shell","label":"CLI"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/BoxTrapper/get_blocklist?email=user%40example.com","label":"URL","lang":"HTTP"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file BoxTrapper_get_blocklist.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/BoxTrapper_get_blocklist.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/BoxTrapper/,\n    q/get_blocklist/,\n    {\n        'email' => 'user@example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file BoxTrapper_get_blocklist.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/BoxTrapper_get_blocklist.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'BoxTrapper',\n    'get_blocklist',\n    array (\n        'email' => 'user@example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 94","summary":"Return account BoxTrapper blocklist rules","description":"This function retrieves a list of BoxTrapper blocklist configuration rules. BoxTrapper will delete messages that match these rules and send a notification to the sender.\n\n**Important:**\n\nWhen you disable the\n[*Receive Mail* role](https://go.cpanel.net/serverroles),\nthe system **disables** this function.","x-cpanel-api-version":"UAPI"}}},"security":[{"BasicAuth":[]}],"openapi":"3.0.2","servers":[{"variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"tags":[{"description":"The BoxTrapper module for UAPI.","name":"BoxTrapper"},{"description":"Email / Spam Prevention (BoxTrapper)","name":"Spam Prevention (BoxTrapper)"}],"x-tagGroups":[{"tags":["Spam Prevention (BoxTrapper)"],"name":"Email"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"version":"11.93.0.9999","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/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}}},"whitelist_messages":{"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"x-tagGroups":[{"tags":["Spam Prevention (BoxTrapper)"],"name":"Email"}],"openapi":"3.0.2","tags":[{"description":"The BoxTrapper module for UAPI.","name":"BoxTrapper"},{"description":"Email / Spam Prevention (BoxTrapper)","name":"Spam Prevention (BoxTrapper)"}],"servers":[{"variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"security":[{"BasicAuth":[]}],"info":{"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"},"termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999"},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/BoxTrapper/whitelist_messages":{"get":{"x-cpanel-api-version":"UAPI","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  BoxTrapper \\\n  whitelist_messages \\\n  queuefile='example.msg'\n","label":"CLI","lang":"Shell"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/BoxTrapper/whitelist_messages?queuefile=example.msg"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file BoxTrapper_whitelist_messages.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/BoxTrapper_whitelist_messages.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/BoxTrapper/,\n    q/whitelist_messages/,\n    {\n        'queuefile' => 'example.msg',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file BoxTrapper_whitelist_messages.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/BoxTrapper_whitelist_messages.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'BoxTrapper',\n    'whitelist_messages',\n    array (\n        'queuefile' => 'example.msg',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 82","summary":"Add email address to BoxTrapper allowed senders","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"result":{"type":"object","properties":{"messages":{"description":"List of messages generated by the API.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null},"metadata":{"properties":{"transformed":{"type":"integer","description":"Post-processing may have transformed the data.","example":1,"enum":[1]}}},"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API."},"data":{"type":"array","items":{"type":"object","properties":{"matches":{"type":"array","description":"An array of message files that the system whitelisted.\n\n**Note:**\n\nThe function **only** returns this value if it whitelists the message.","items":{"example":"example.msg","type":"string"}},"warning":{"type":"integer","default":1,"example":1,"enum":[1],"description":"Whether the system experienced issues when it whitelisted the message.\n\n* `1` — There was an issue whitelisting the message. This is the only possible value.\n\n**Note:**\n\nThe function only returns this property if it failed to whitelist the message."},"email":{"example":"user@example.com","description":"A whitelisted email address.","format":"email","type":"string"},"failed":{"example":"1","enum":["1"],"default":"1","description":"The system failed to whitelist the message.\n\n* `1` — The function failed to whitelist the message. This is the only possible value.\n\n**Note:**\n\nThe function only returns this property if it failed to whitelist the message.","type":"string"},"operator":{"description":"The action that the system performed.","enum":["whitelist"],"example":"whitelist","default":"whitelist","type":"string"},"reason":{"type":"string","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.\""}}},"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":[{"operator":"whitelist","email":"user@example.com","matches":["example.msg"]}]},"status":{"description":"* `1` - Success\n* `0` - Failed. Check the `errors` field for more details.","example":1,"enum":[0,1],"type":"integer"}}},"module":{"example":"BoxTrapper","description":"The name of the module called.","type":"string"},"func":{"example":"whitelist_messages","description":"The name of the method called.","type":"string"},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}}}}},"description":"HTTP Request was successful."}},"tags":["BoxTrapper","Spam Prevention (BoxTrapper)"],"x-readonly":false,"operationId":"BoxTrapper-whitelist_messages","description":"This function whitelists email messages.\n\n**Important:**\n\nWhen you disable the [Receive Mail](https://go.cpanel.net/serverroles) role, the system **disables** this function.\n\n**Note:**\n\nTo retrieve email messages in the BoxTrapper queue from senders that you did not previously whitelist, use the UAPI `BoxTrapper::deliver_messages` function.","x-rollback":"none","parameters":[{"name":"email","in":"query","schema":{"example":"user@example.com","type":"string","format":"email"},"required":false,"description":"The cPanel account email address for which to whitelist messages.\n\n**Warning**\n\nIf you call this function in Webmail, the system ignores this parameter and defaults to the currently-authenticated email address."},{"in":"query","name":"queuefile","examples":{"multiple":{"value":"queuefile=ex1.msg&queuefile=ex2.msg&queuefile=ex3.msg","summary":"Whitelist multiple messages."},"single":{"value":"example.msg","summary":"Whitelist a single message."}},"required":true,"description":"The filename of the email message to whitelist.\n\n**Note:**\n\nTo get a list of filenames in an account's BoxTrapper queue, use the UAPI `BoxTrapper::list_queued_messages` function.\n\n**Note:**\n\nTo whitelist multiple email messages, duplicate this parameter.","schema":{"type":"string","example":"example.msg"}}]}}}},"list_email_templates":{"paths":{"/BoxTrapper/list_email_templates":{"get":{"x-cpanel-api-version":"UAPI","description":"This function lists the BoxTrapper email templates.\n\n**Important:**\n\nWhen you **disable** the [Receive Mail](https://go.cpanel.net/serverroles) role, the system disables this function.","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  BoxTrapper \\\n  list_email_templates\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/BoxTrapper/list_email_templates","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file BoxTrapper_list_email_templates.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/BoxTrapper_list_email_templates.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/BoxTrapper/,\n    q/list_email_templates/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file BoxTrapper_list_email_templates.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/BoxTrapper_list_email_templates.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'BoxTrapper',\n    'list_email_templates'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"summary":"Return BoxTrapper email templates","x-cpanel-available-version":"cPanel 84","tags":["BoxTrapper","Spam Prevention (BoxTrapper)"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"result":{"type":"object","properties":{"status":{"example":1,"enum":[0,1],"description":"* `1` - Success\n* `0` - Failed. Check the `errors` field for more details.","type":"integer"},"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null},"warnings":{"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"data":{"type":"array","description":"An array of strings representing BoxTrapper message templates.\n* `blacklist` - BoxTrapper responds with this message when a blacklisted address sends an email.\n* `verify` - BoxTrapper responds with this message when an address that does not exist on the whitelist or blacklist sends an email. This message requests a response to confirm that the sender is legitimate.\n* `verifyreleased` - BoxTrapper responds with this message when a person responds to the verify message with an email or a click on the verification link.\n* `returnverify` - BoxTrapper responds with this message when the verification process fails.","items":{"enum":["blacklist","verify","verifyreleased","returnverify"],"example":"verify","type":"string"},"example":["blacklist","returnverify","verify","verifyreleased"]},"errors":{"example":null,"items":{"type":"string"},"description":"List of errors if the API failed.","nullable":true,"type":"array"},"metadata":{"properties":{}}}},"module":{"type":"string","example":"BoxTrapper","description":"The name of the module called."},"func":{"type":"string","description":"The name of the method called.","example":"list_email_templates"},"apiversion":{"type":"integer","description":"The version of the API.","example":3}}}}}}},"parameters":[],"x-readonly":true,"operationId":"BoxTrapper-list_email_templates"}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"},"license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."},"security":[{"BasicAuth":[]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"name":"Email","tags":["Spam Prevention (BoxTrapper)"]}],"openapi":"3.0.2","servers":[{"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."}},"description":"A server running cPanel."}],"tags":[{"description":"The BoxTrapper module for UAPI.","name":"BoxTrapper"},{"description":"Email / Spam Prevention (BoxTrapper)","name":"Spam Prevention (BoxTrapper)"}]},"get_email_template":{"paths":{"/BoxTrapper/get_email_template":{"get":{"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"func":{"example":"get_email_template","description":"The name of the method called.","type":"string"},"result":{"properties":{"metadata":{"properties":{}},"data":{"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\",","description":"The template file's contents.","type":"string"},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"messages":{"description":"List of messages generated by the API.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null},"status":{"example":1,"enum":[0,1],"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","type":"integer"}},"type":"object"},"module":{"type":"string","example":"BoxTrapper","description":"The name of the module called."}},"type":"object"}}},"description":"HTTP Request was successful."}},"parameters":[{"name":"email","in":"query","schema":{"example":"user@example.com","format":"email","type":"string"},"required":true,"description":"A valid email address on the cPanel account.\n\n**Warning:**\n\nIf you call this function in Webmail, the system overrides this parameter.\nThis parameter defaults to the current email address."},{"name":"template","in":"query","required":true,"description":"The message template.\n\n* `blacklist`\n* `returnverify`\n* `verifyreleased`\n* `verify`\n\n**Note:**\n\nFor more information on each template, read our\n[BoxTrapper](https://go.cpanel.net/cpaneldocsBoxTrapper) documentation.","schema":{"example":"verify","enum":["blacklist","returnverify","verifyreleased","verify"],"type":"string"}}],"tags":["BoxTrapper","Spam Prevention (BoxTrapper)"],"operationId":"BoxTrapper-get_email_template","x-readonly":true,"x-cpanel-api-version":"UAPI","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.","x-cpanel-available-version":"cPanel 84","summary":"Return specified BoxTrapper email template","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"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/BoxTrapper/get_email_template?email=user%40example.com&template=verify","lang":"HTTP","label":"URL"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file BoxTrapper_get_email_template.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/BoxTrapper_get_email_template.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/BoxTrapper/,\n    q/get_email_template/,\n    {\n        'email' => 'user@example.com',\n        'template' => 'verify',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file BoxTrapper_get_email_template.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/BoxTrapper_get_email_template.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'BoxTrapper',\n    'get_email_template',\n    array (\n        'email' => 'user@example.com',\n        'template' => 'verify',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-rollback":"none"}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI"},"security":[{"BasicAuth":[]}],"openapi":"3.0.2","tags":[{"description":"The BoxTrapper module for UAPI.","name":"BoxTrapper"},{"name":"Spam Prevention (BoxTrapper)","description":"Email / Spam Prevention (BoxTrapper)"}],"servers":[{"variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"name":"Email","tags":["Spam Prevention (BoxTrapper)"]}]},"get_message":{"x-tagGroups":[{"tags":["Spam Prevention (BoxTrapper)"],"name":"Email"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"servers":[{"description":"A server running cPanel.","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"url":"https://{host}:{port}/execute"}],"openapi":"3.0.2","tags":[{"description":"The BoxTrapper module for UAPI.","name":"BoxTrapper"},{"name":"Spam Prevention (BoxTrapper)","description":"Email / Spam Prevention (BoxTrapper)"}],"security":[{"BasicAuth":[]}],"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.","version":"11.89.0.9999","termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI"},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/BoxTrapper/get_message":{"get":{"operationId":"BoxTrapper-get_message","x-readonly":true,"tags":["BoxTrapper","Spam Prevention (BoxTrapper)"],"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.","required":true,"example":"user@example.com","schema":{"anyOf":[{"type":"string","format":"email","example":"user@example.com"},{"example":"exampleuser","format":"username","type":"string"}]},"name":"email","in":"query"},{"name":"queuefile","in":"query","schema":{"type":"string","example":"example.msg"},"description":"The message's filename.","required":true}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"result":{"type":"object","properties":{"errors":{"example":null,"items":{"type":"string"},"description":"List of errors if the API failed.","nullable":true,"type":"array"},"metadata":{"properties":{}},"status":{"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","example":1,"enum":[0,1],"type":"integer"},"messages":{"example":null,"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"},"warnings":{"example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","nullable":true,"type":"array"},"data":{"properties":{"queuefile":{"type":"string","description":"The message's filename.","example":"example.msg"},"content":{"type":"string","description":"The email message's contents. Up to the first 200 lines of an email message.","example":"From user@example.com Tue May 07 08:30:36 2019\nReceived: from user by example.com with local (Exim 4.92) (envelope-from <root@yourserver.net>)\n    id 1hO0B1-0003Ev-Md for user2@example.com; Tue, 07 May 2019 08:30:36 -0500\nFrom: user3@example.com\nSubject: Message\nMessage-Id: <E1hO0B1-0003Ev-Md@yourserver.net>\nDate: Tue, 07 May 2019 08:30:35 -0500\n\nThis is an email message"},"contents":{}},"type":"object"}}},"module":{"example":"BoxTrapper","description":"The name of the module called.","type":"string"},"func":{"type":"string","description":"The name of the method called.","example":"get_message"}}}}},"description":"HTTP Request was successful."}},"x-cpanel-api-version":"UAPI","x-cpanel-available-version":"cPanel 82","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"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/BoxTrapper/get_message?email=user%40example.com&queuefile=example.msg","lang":"HTTP","label":"URL"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file BoxTrapper_get_message.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/BoxTrapper_get_message.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/BoxTrapper/,\n    q/get_message/,\n    {\n        'email' => 'user@example.com',\n        'queuefile' => 'example.msg',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file BoxTrapper_get_message.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/BoxTrapper_get_message.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'BoxTrapper',\n    'get_message',\n    array (\n        'email' => 'user@example.com',\n        'queuefile' => 'example.msg',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"summary":"Return message's top 200 lines in BoxTrapper queue","description":"This function returns the first 200 lines of an email in the BoxTrapper queue.\n\n**Important:**\n\nWhen you disable the [Receive Mail](https://go.cpanel.net/serverroles) role, the system **disables** this function."}}}}},"Chkservd":{"get_exim_ports":{"paths":{"/Chkservd/get_exim_ports":{"get":{"summary":"Return outgoing (SMTP) mail port","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Chkservd \\\n  get_exim_ports\n"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/Chkservd/get_exim_ports"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Chkservd_get_exim_ports.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Chkservd_get_exim_ports.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Chkservd/,\n    q/get_exim_ports/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Chkservd_get_exim_ports.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Chkservd_get_exim_ports.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Chkservd',\n    'get_exim_ports'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-available-version":"cPanel 11.42","description":"This function lists the ports on which Exim listens.","x-cpanel-api-version":"UAPI","x-readonly":true,"operationId":"Chkservd-get_exim_ports","tags":["Chkservd","Mail Server Information"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"func":{"type":"string","description":"The name of the method called.","example":"get_exim_ports"},"result":{"type":"object","properties":{"metadata":{"properties":{}},"warnings":{"example":null,"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"},"data":{"properties":{"ports":{"type":"array","uniqueItems":true,"items":{"type":"integer","maximum":65535,"minimum":1,"example":25},"description":"An array of port numbers on which Exim listens."}},"type":"object"},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}},"errors":{"example":null,"description":"List of errors if the API failed.","items":{"type":"string"},"nullable":true,"type":"array"},"status":{"type":"integer","example":1,"enum":[0,1],"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details."}}},"module":{"example":"Chkservd","description":"The name of the module called.","type":"string"},"apiversion":{"example":3,"description":"The version of the API.","type":"integer"}},"type":"object"}}}}},"parameters":[]}}},"x-tagGroups":[{"tags":["Mail Server Information"],"name":"Email"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"tags":[{"description":"The Chkservd module for UAPI.","name":"Chkservd"},{"description":"Email / Mail Server Information","name":"Mail Server Information"}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}}}],"security":[{"BasicAuth":[]}],"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"}},"externalDocs":{"url":"https://cpanel.net/developers/"}},"get_exim_ports_ssl":{"x-tagGroups":[{"name":"Email","tags":["Mail Server Information"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"tags":[{"name":"Chkservd","description":"The Chkservd module for UAPI."},{"description":"Email / Mail Server Information","name":"Mail Server Information"}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute"}],"security":[{"BasicAuth":[]}],"info":{"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/","contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/Chkservd/get_exim_ports_ssl":{"get":{"summary":"Return outgoing mail (SMTP) SSL-secured port","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Chkservd \\\n  get_exim_ports_ssl\n"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/Chkservd/get_exim_ports_ssl"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Chkservd_get_exim_ports_ssl.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Chkservd_get_exim_ports_ssl.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Chkservd/,\n    q/get_exim_ports_ssl/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Chkservd_get_exim_ports_ssl.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Chkservd_get_exim_ports_ssl.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Chkservd',\n    'get_exim_ports_ssl'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-available-version":"cPanel 11.42","description":"This function retrieves Exim's SSL port.","x-cpanel-api-version":"UAPI","tags":["Chkservd","Mail Server Information"],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"result":{"type":"object","properties":{"status":{"type":"integer","description":"- `1` - Success\n- `0` - Failed. Check the `errors` field for more details.","example":1,"enum":[0,1]},"messages":{"description":"List of messages generated by the API.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null},"metadata":{"properties":{}},"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null,"type":"array","nullable":true},"data":{"properties":{"ports":{"type":"array","description":"An array of port numbers on which Exim listens for SSL/TLS connections.","items":{"maximum":65535,"type":"integer","example":465,"minimum":0}}},"type":"object"}}},"module":{"type":"string","example":"Chkservd","description":"The name of the module called."},"func":{"description":"The name of the method called.","example":"get_exim_ports_ssl","type":"string"},"apiversion":{"type":"integer","description":"The version of the API.","example":3}},"type":"object"}}},"description":"HTTP Request was successful."}},"operationId":"Chkservd-get_exim_ports_ssl","x-readonly":true}}}}},"ServiceProxy":{"unset_all_service_proxy_backends":{"paths":{"/ServiceProxy/unset_all_service_proxy_backends":{"get":{"x-readonly":false,"operationId":"ServiceProxy-unset_all_service_proxy_backends","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"func":{"type":"string","example":"unset_all_service_proxy_backends","description":"The name of the method called."},"result":{"properties":{"status":{"enum":[0,1],"example":1,"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","type":"integer"},"data":{"default":null,"type":"object","nullable":true},"warnings":{"example":null,"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"},"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null},"metadata":{"properties":{}},"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null}}},"module":{"description":"The name of the module called.","example":"ServiceProxy","type":"string"}},"type":"object"}}},"description":"HTTP Request was successful."}},"tags":["ServiceProxy"],"parameters":[],"x-rollback":"none","x-cpanel-api-version":"UAPI","description":"This function removes a cPanel account's\n[service proxying](https://go.cpanel.net/ServiceProxying).\n\n**Note:**\n\n* If the [Web Server](https://go.cpanel.net/howtouseserverprofiles#roles) role is active on\nthe server, this function rebuilds the cPanel user's web virtual hosts (vhosts) and restarts\nthe web server.\n* If the system **cannot** rebuild the cPanel user's vhosts, the API call will still succeed.\nHowever, the function returns a failure warning in the metadata.\n* To set a service proxying for a cPanel account, use the UAPI\n`set_service_proxy_backends` function.","summary":"Remove cPanel account service proxying","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  ServiceProxy \\\n  unset_all_service_proxy_backends\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/ServiceProxy/unset_all_service_proxy_backends","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\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/<theme_name>/\n#    to .../frontend/<theme_name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\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/<theme_name>/\n//    to .../frontend/<theme_name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"x-cpanel-available-version":"cPanel 96"}}},"info":{"termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"x-tagGroups":[{"name":"ServiceProxy","tags":["ServiceProxy"]}],"servers":[{"description":"A server running cPanel.","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute"}],"openapi":"3.0.2","tags":[{"name":"ServiceProxy","description":"The ServiceProxy module for UAPI."},{"name":"Service Proxy","description":"Service Proxy"}],"security":[{"BasicAuth":[]}]},"get_service_proxy_backends":{"paths":{"/ServiceProxy/get_service_proxy_backends":{"get":{"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"func":{"description":"The name of the method called.","example":"get_service_proxy_backends","type":"string"},"result":{"properties":{"data":{"description":"The account’s service proxying backends.","items":{"properties":{"backend":{"type":"string","format":"domain","example":"example.com","description":"The name of the server to which the system will proxy requests for this service group."},"service_group":{"example":"Mail","description":"The name of the proxying service group, if applicable.\n\n* null — The account’s general service proxying backend.","nullable":true,"type":"string"}},"type":"object"},"type":"array"},"warnings":{"example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","nullable":true,"type":"array"},"metadata":{"properties":{}},"errors":{"example":null,"items":{"type":"string"},"description":"List of errors if the API failed.","nullable":true,"type":"array"},"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."},"status":{"type":"integer","description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","example":1,"enum":[0,1]}}},"module":{"type":"string","example":"ServiceProxy","description":"The name of the module called."},"apiversion":{"type":"integer","description":"The version of the API.","example":3}}}}},"description":"HTTP Request was successful."}},"parameters":[],"tags":["ServiceProxy"],"operationId":"ServiceProxy-get_service_proxy_backends","x-readonly":true,"x-cpanel-api-version":"UAPI","description":"This function reports a cPanel account's\n[service proxying](https://go.cpanel.net/ServiceProxying)\nconfiguration.","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  ServiceProxy \\\n  get_service_proxy_backends\n","label":"CLI","lang":"Shell"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/ServiceProxy/get_service_proxy_backends"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\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/<theme_name>/\n#    to .../frontend/<theme_name>/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}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\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/<theme_name>/\n//    to .../frontend/<theme_name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"x-cpanel-available-version":"cPanel 96","summary":"Return a cPanel account’s service proxying setup"}}},"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999"},"externalDocs":{"url":"https://cpanel.net/developers/"},"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"x-tagGroups":[{"tags":["ServiceProxy"],"name":"ServiceProxy"}],"openapi":"3.0.2","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":{"description":"The cPanel port.","default":"2083"}}}],"tags":[{"description":"The ServiceProxy module for UAPI.","name":"ServiceProxy"},{"name":"Service Proxy","description":"Service Proxy"}],"security":[{"BasicAuth":[]}]},"set_service_proxy_backends":{"paths":{"/ServiceProxy/set_service_proxy_backends":{"get":{"parameters":[{"in":"query","name":"general","required":false,"description":"The hostname or IP address to assign as the server that handles\nthe account's service proxy requests.\n\nThe proxy backend must be routable. The server rejects non-routable\nIP literals (loopback, RFC 1918, CGNAT, and cloud-metadata addresses)\nand obfuscated encodings of those addresses; use a routable hostname\nor IP address instead.\n\nThis parameter defaults to the existing service proxy configuration,\nif one exists.","schema":{"anyOf":[{"description":"A valid hostname.","example":"hostname.example.com","format":"hostname","type":"string"},{"description":"A valid IP address.","example":"192.0.2.102","type":"string","format":"ipv4"}]}},{"name":"service_group","in":"query","schema":{"enum":["Mail"],"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`.","required":false,"examples":{"single":{"value":"Mail","summary":"Add a single service backend group."},"multiple":{"summary":"Add multiple service backend groups.","value":"Mail&service-group-1=Mail&service-group-2=Mail"}}},{"name":"service_group_backend","in":"query","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`.","required":false,"examples":{"multiple":{"value":"mail.example.com&service_group_backend-1=mail.example1.com&service_group_backend-2=mail.example2.com","summary":"Add multiple service group backend servers."},"single":{"value":"mail.example.com","summary":"Add a single service group backend server."}},"schema":{"anyOf":[{"type":"string","format":"hostname","example":"hostname.example.com","description":"A valid hostname."},{"type":"string","format":"ipv4","example":"192.0.2.102","description":"A valid IP address."}]}}],"description":"This function lets you configure a cPanel account's\n[service proxying](https://go.cpanel.net/ServiceProxying).\n\n**Note:**\n\n* If the [Web Server](https://go.cpanel.net/howtouseserverprofiles#roles) role is active\non the server, this function rebuilds the user's web virtual hosts (vhosts) and restarts\nthe web server.\n* If the system cannot rebuild the user's vhosts, the API call will still succeed. However,\nthe function returns a failure warning in the metadata.\n* To remove an account's service proxying, use the UAPI `unset_all_service_proxy_backends`\nfunction.","x-rollback":"none","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"func":{"type":"string","example":"set_service_proxy_backends","description":"The name of the method called."},"module":{"description":"The name of the module called.","example":"ServiceProxy","type":"string"},"result":{"properties":{"data":{"default":null,"type":"object","nullable":true},"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"},"example":null,"type":"array","nullable":true},"metadata":{"properties":{}},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"},"status":{"enum":[0,1],"example":1,"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","type":"integer"}}},"apiversion":{"type":"integer","example":3,"description":"The version of the API."}}}}},"description":"HTTP Request was successful."}},"tags":["ServiceProxy"],"operationId":"ServiceProxy-set_service_proxy_backends","x-readonly":false,"x-cpanel-available-version":"cPanel 96","summary":"Add cPanel account service proxying","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  ServiceProxy \\\n  set_service_proxy_backends\n","label":"CLI","lang":"Shell"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/ServiceProxy/set_service_proxy_backends"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\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/<theme_name>/\n#    to .../frontend/<theme_name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\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/<theme_name>/\n//    to .../frontend/<theme_name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-api-version":"UAPI"}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}},"security":[{"BasicAuth":[]}],"openapi":"3.0.2","servers":[{"variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"tags":[{"description":"The ServiceProxy module for UAPI.","name":"ServiceProxy"},{"name":"Service Proxy","description":"Service Proxy"}],"x-tagGroups":[{"name":"ServiceProxy","tags":["ServiceProxy"]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}}}},"Jodit":{"filebrowser":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}},"security":[{"BasicAuth":[]}],"x-tagGroups":[{"tags":["Jodit","Manage Files"],"name":"Files"}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"tags":[{"name":"Jodit","description":"The Jodit module provides file browser functionality for the Jodit WYSIWYG editor."}],"openapi":"3.0.2","servers":[{"description":"cPanel","variables":{"protocol":{"default":"https","enum":["http","https"],"description":"The protocol to use to send the request."},"port":{"default":"2083","description":"The port on which to make the HTTP request."},"hostname":{"description":"The hostname or IP address of the server.","default":"hostname.example.com"}},"url":"{protocol}://{hostname}:{port}"}],"paths":{"/Jodit/filebrowser":{"get":{"description":"This function provides file browser functionality for the Jodit WYSIWYG editor.\nIt returns a list of files and folders in the specified directory formatted\naccording to the Jodit filebrowser protocol.\n\n**Supported Actions:**\n* `files` — Returns both files and folders (default action)\n* `folders` — Returns both files and folders (same as files action)\n* `permissions` — Returns file operation permissions for the current directory","x-cpanel-internal-only":true,"x-rollback":"none","security":[{"BasicAuth":[]}],"parameters":[{"required":false,"description":"The action to perform:\n* `files` — Return both files and folders (default)\n* `folders` — Return both files and folders\n* `permissions` — Return file operation permissions","schema":{"type":"string","example":"files","default":"files","enum":["files","folders","permissions"]},"in":"query","name":"action"},{"in":"query","name":"dirPath","schema":{"example":"/home/user/public_html/images","type":"string"},"description":"The directory path to browse. Defaults to the document root of the domain being edited.","required":false},{"in":"query","name":"dir","description":"Alternative parameter name for directory path. If both dirPath and dir are provided, dirPath takes precedence.","required":false,"schema":{"type":"string","example":"/home/user/public_html/images"}},{"name":"source","in":"query","required":false,"description":"The source identifier for the file browser session.","schema":{"type":"string","example":"default","default":"default"}},{"name":"path","in":"query","description":"The relative path within the source directory.","required":false,"schema":{"default":"","example":"subdirectory/images","type":"string"}}],"summary":"File Browser for Jodit WYSIWYG Editor","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Jodit \\\n  filebrowser\n","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Jodit/filebrowser","lang":"HTTP","label":"URL"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Jodit_filebrowser.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Jodit_filebrowser.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Jodit/,\n    q/filebrowser/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Jodit_filebrowser.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Jodit_filebrowser.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Jodit',\n    'filebrowser'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}\n","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-available-version":"cPanel 110","x-cpanel-api-version":"UAPI","tags":["Jodit"],"responses":{"200":{"content":{"application/json":{"examples":{"permissions_success":{"value":{"time":"2026-01-08 14:30:00","success":true,"data":{"permissions":{"allowFileRename":false,"allowFileRemove":false,"allowFolders":true,"allowFolderRemove":false,"allowFileMove":false,"allowFolderMove":false,"allowFolderCreate":false,"allowFolderRename":false,"allowImageResize":false,"allowFileUploadRemote":false,"allowFiles":true,"allowFileUpload":true,"allowImageCrop":false},"code":220}},"description":"Successful permissions query"},"directory_access_error":{"value":{"success":false,"time":"2026-01-08 14:30:00","data":{"code":500,"error":"Could not open directory","dir":"/invalid/path"}},"description":"Directory access error"},"invalid_directory_error":{"description":"Invalid directory path error","value":{"data":{"code":403,"dir":"","error":"Invalid directory path"},"success":false,"time":"2026-01-08 14:30:00"}},"invalid_action_error":{"value":{"time":"2026-01-08 14:30:00","success":false,"data":{"error":"Invalid action specified","code":400}},"description":"Invalid action specified"},"files_success":{"value":{"data":{"sources":[{"baseurl":"https://example.com/","items":[{"ext":"jpg","size":157849,"type":"file","file":"image1.jpg","changed":"01/08/2026 02:30 PM","name":"image1.jpg","isImage":true},{"file":"documents","name":"documents","type":"folder","changed":"01/07/2026 10:15 AM","isFolder":true}],"files":[{"changed":"01/08/2026 02:30 PM","name":"image1.jpg","isImage":true,"ext":"jpg","size":157849,"type":"file","file":"image1.jpg"},{"file":"documents","name":"documents","type":"folder","changed":"01/07/2026 10:15 AM","isFolder":true}],"folders":[{"name":"documents","file":"documents","type":"folder","isFolder":true,"changed":"01/07/2026 10:15 AM"}],"path":"","name":"default"}],"code":220},"time":"2026-01-08 14:30:00","success":true},"description":"Successful files/folders listing"}},"schema":{"properties":{"time":{"description":"The timestamp when the response was generated.","example":"2026-01-08 14:30:00","type":"string"},"success":{"description":"Whether the operation was successful.","example":true,"type":"boolean"},"data":{"description":"The response data, varies based on action and success status.","anyOf":[{"description":"File and folder listing response","required":["sources","code"],"properties":{"code":{"description":"Response status code","example":220,"type":"integer"},"sources":{"description":"Array of file source objects","items":{"type":"object","properties":{"files":{"description":"Array of all files and folders","items":{"type":"object","properties":{"ext":{"type":"string","example":"jpg","description":"File extension in lowercase (only for files)"},"size":{"description":"File size in bytes (only for files)","example":157849,"type":"integer"},"file":{"description":"The file or folder name","example":"image1.jpg","type":"string"},"type":{"enum":["file","folder"],"example":"file","description":"The item type","type":"string"},"isFolder":{"type":"boolean","example":true,"description":"Whether the item is a folder (only for folders)"},"changed":{"description":"The last modified date formatted for display","example":"01/08/2026 02:30 PM","type":"string"},"name":{"type":"string","example":"image1.jpg","description":"The display name"},"isImage":{"description":"Whether the file is an image (only for files)","example":true,"type":"boolean"}}},"type":"array"},"folders":{"type":"array","description":"Array of folder items only","items":{"additionalProperties":false,"type":"object","properties":{"file":{"description":"The folder name","example":"documents","type":"string"},"name":{"type":"string","example":"documents","description":"The display name"},"type":{"type":"string","enum":["folder"],"example":"folder","description":"The item type"},"isFolder":{"description":"Whether the item is a folder","example":true,"type":"boolean"},"changed":{"example":"01/07/2026 10:15 AM","description":"The last modified date formatted for display","type":"string"}}}},"items":{"type":"array","items":{"type":"object","properties":{"file":{"example":"image1.jpg","description":"The file or folder name","type":"string"},"type":{"type":"string","example":"file","enum":["file","folder"],"description":"The item type"},"size":{"type":"integer","description":"File size in bytes (only for files)","example":157849},"ext":{"type":"string","description":"File extension in lowercase (only for files)","example":"jpg"},"isImage":{"description":"Whether the file is an image (only for files)","example":true,"type":"boolean"},"name":{"example":"image1.jpg","description":"The display name","type":"string"},"changed":{"example":"01/08/2026 02:30 PM","description":"The last modified date formatted for display","type":"string"},"isFolder":{"type":"boolean","description":"Whether the item is a folder (only for folders)","example":true}}},"description":"Array of all items (duplicate of files array)"},"baseurl":{"type":"string","example":"https://example.com/","description":"The base URL for file access"},"path":{"type":"string","example":"","description":"The relative path within the source"},"name":{"description":"The name of the file source","example":"default","type":"string"}},"additionalProperties":false},"type":"array"}},"type":"object","additionalProperties":false},{"description":"Permissions response","required":["permissions","code"],"additionalProperties":false,"type":"object","properties":{"code":{"example":220,"description":"Response status code","type":"integer"},"permissions":{"description":"File operation permissions","type":"object","properties":{"allowFiles":{"description":"Whether file access is allowed","example":true,"type":"boolean"},"allowFileUpload":{"type":"boolean","description":"Whether file upload is allowed","example":true},"allowImageCrop":{"type":"boolean","example":false,"description":"Whether image cropping is allowed"},"allowFolderRename":{"example":false,"description":"Whether folder renaming is allowed","type":"boolean"},"allowImageResize":{"description":"Whether image resizing is allowed","example":false,"type":"boolean"},"allowFileUploadRemote":{"type":"boolean","example":false,"description":"Whether remote file upload is allowed"},"allowFolderMove":{"type":"boolean","example":false,"description":"Whether folder moving is allowed"},"allowFolderCreate":{"type":"boolean","example":false,"description":"Whether folder creation is allowed"},"allowFileRename":{"description":"Whether file renaming is allowed","example":false,"type":"boolean"},"allowFileRemove":{"description":"Whether file removal is allowed","example":false,"type":"boolean"},"allowFolderRemove":{"type":"boolean","description":"Whether folder removal is allowed","example":false},"allowFolders":{"example":true,"description":"Whether folder access is allowed","type":"boolean"},"allowFileMove":{"type":"boolean","description":"Whether file moving is allowed","example":false}},"additionalProperties":false}}},{"type":"object","properties":{"dir":{"type":"string","description":"The directory path that caused the error (if applicable)","example":"/invalid/path"},"error":{"description":"The error message","example":"Invalid directory path","type":"string"},"code":{"type":"integer","description":"The error code","example":403,"enum":[400,403,500]}},"additionalProperties":false,"required":["error","code"],"description":"Error response"}]}},"type":"object"}}},"description":"HTTP Request was successful."}},"x-readonly":false,"operationId":"Jodit-filebrowser"}}}}},"SSL":{"mail_sni_status":{"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"x-tagGroups":[{"tags":["SNI Email Settings"],"name":"SSL Certificates"}],"servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"name":"SSL","description":"The SSL module for UAPI."},{"name":"SNI Email Settings","description":"SSL Certificates / SNI Email Settings"}],"security":[{"BasicAuth":[]}],"info":{"contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"},"license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999"},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/SSL/mail_sni_status":{"get":{"operationId":"SSL-mail_sni_status","x-readonly":true,"parameters":[{"in":"query","name":"domain","required":true,"description":"The account's domain.","schema":{"example":"example.com","type":"string","format":"domain"}}],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"func":{"type":"string","description":"The name of the method called.","example":"mail_sni_status"},"result":{"type":"object","properties":{"data":{"type":"object","properties":{"enabled":{"type":"integer","description":"Whether SNI for mail is enabled.\n* `1` - SNI is enabled.\n* `0` - SNI is **not** enabled.","enum":[0,1],"example":1}}},"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"},"example":null,"type":"array","nullable":true},"metadata":{"properties":{}},"errors":{"example":null,"description":"List of errors if the API failed.","items":{"type":"string"},"nullable":true,"type":"array"},"messages":{"items":{"type":"string"},"description":"List of messages generated by the API.","example":null,"type":"array","nullable":true},"status":{"example":1,"enum":[0,1],"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","type":"integer"}}},"module":{"description":"The name of the module called.","example":"SSL","type":"string"}}}}}}},"tags":["SSL","SNI Email Settings"],"description":"This function retrieves the status of the domain's SNI mail services.\n\n**Warning:**\n\nMail SNI is **not** compatible with Webmail and will not function for any Webmail connection. Webmail connections use the cPanel service SSL certificate.\n\n**Note:**\n\nMail SNI is always enabled.\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.","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  SSL \\\n  mail_sni_status \\\n  domain='example.com'\n","lang":"Shell","label":"CLI"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/SSL/mail_sni_status?domain=example.com","label":"URL","lang":"HTTP"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file SSL_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/<theme_name>/\n#    to .../frontend/<theme_name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file SSL_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/<theme_name>/\n//    to .../frontend/<theme_name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"summary":"Return status of domain's SNI mail services","x-cpanel-available-version":"cPanel 11.48","x-cpanel-api-version":"UAPI"}}}},"upload_key":{"security":[{"BasicAuth":[]}],"tags":[{"name":"SSL","description":"The SSL module for UAPI."},{"name":"SSL Certificate Management","description":"SSL Certificates / SSL Certificate Management"}],"openapi":"3.0.2","servers":[{"url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}},"description":"A server running cPanel."}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"tags":["SSL Certificate Management"],"name":"SSL Certificates"}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI"},"paths":{"/SSL/upload_key":{"post":{"operationId":"SSL-upload_key","x-readonly":false,"tags":["SSL","SSL Certificate Management"],"responses":{"200":{"content":{"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"},"result":{"properties":{"errors":{"nullable":true,"type":"array","example":null,"description":"List of errors if the API failed.","items":{"type":"string"}},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}},"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null,"type":"array","nullable":true},"data":{"type":"array","items":{"type":"object","properties":{"modulus":{"description":"The key's modulus, in hexadecimal format.\n\n* `null` — The key is **not** an RSA key.","example":"a673c3b17344664b35f8791f562d3aea6bf4d8faa3ae3fc0a519380fd453964a36677c34d48677ecb7f5ed035df026f5f0f8fbfe21745e52daf1f3b9e58c73f0baefdb709320e2202e7d05250b051a59b30ff1fef22d83d7140c1c81cea314a0890ce8d2226799872181c58a74016c7aaa2cff5ac72b575cecde8f304aa572a2ea03d8b173ab76c6e8cdb9dfd0da81e1119cefd4b8b4dbfbe0e46c7f1ee2fe8b5fd5504e58ccbc0d13b4fa41ecc9ebd0dabe1d1fec5c724f748167e7c0553e997f9b77eb36abce70973f06df151748d41b758de3efd7afa6f2464a1547f5ff158469d96e248be464df9eda0e7ce854a89332a2c1278b17c425368a9604f454db","type":"string","nullable":true},"id":{"type":"string","example":"bbe7e_16e2d_df7539f280eb1ecf6c1096190e41ada7","description":"The key's ID."},"ecdsa_public":{"type":"string","nullable":true,"description":"The key’s ECDSA compressed public point, in hexadecimal format.\n\n* `null` — The key is **not** an ECDSA key.","example":null},"ecdsa_curve_name":{"nullable":true,"type":"string","enum":["prime256v1","secp384r1"],"example":"prime256v1","description":"The ECDSA curve that the key uses.\n\n* `prime256v1`\n* `secp384r1`\n* `null` — The key is **not** an ECDSA key."},"friendly_name":{"type":"string","description":"The key's friendly name.","example":"TestKey"},"modulus_length":{"nullable":true,"type":"integer","minimum":1,"example":2048,"description":"The length, in bits, of the key's modulus.\n\n* `null` — The key is **not** an RSA key."},"key_algorithm":{"type":"string","enum":["rsaEncryption","id-ecPublicKey"],"example":"rsaEncryption","description":"The key’s algorithm.\n\n* `rsaEncryption` — RSA.\n* `id-ecPublicKey` — ECDSA."},"created":{"type":"integer","format":"unix_timestamp","description":"The key's creation date.","example":1569844800}}}},"metadata":{"properties":{"transformed":{"example":1,"enum":[1],"description":"Post-processing may have transformed the data.","type":"integer"}}},"status":{"type":"integer","enum":[1,0],"example":1,"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details."}},"type":"object"},"module":{"description":"The name of the module called.","example":"SSL","type":"string"}},"type":"object"}}},"description":"HTTP Request was successful."}},"summary":"Import private key","x-codeSamples":[{"source":"uapi --input=json --output=jsonpretty \\\n  --user=username \\\n  SSL \\\n  upload_key\n","lang":"Shell","label":"CLI"},{"source":"POST /cpsess##########/execute/SSL/upload_key HTTP/1.1\nHost: example.com:2083\nCookie: ###################################\nContent-Type: application/json\nContent-Length: 0\n\n","label":"HTTP Request (Wire Format)","lang":"HTTP"}],"x-cpanel-available-version":"cPanel 11.42","x-cpanel-api-version":"UAPI","requestBody":{"description":"The certificate's contents.","content":{"multipart/form-data":{"schema":{"type":"object","properties":{"crt":{"description":"The key's contents.","format":"pem-private-key","type":"string"},"friendly_name":{"type":"string","description":"The key's friendly name."}}}}}},"parameters":[{"schema":{"example":"\"-----BEGIN RSA PRIVATE KEY-----\\nMIIEowIBAAKCAQEAyeiHvMuJuVk8ZEY6wMzUS1g0eWaHaIWmIRe+Qrn6SwiRrm1p\\npsJCiGPPPQGOSg4FzrMXqE0zsi/Tk3hUO/EEsi7CcZe8cUanjlUeXhiwrb86FCMF\\nOb9siRHQvlss7VCg8ZGXXTWZgf5yD3A1xPwdayYwF2Tc7GkNcZGUAI58geuYaq+U\\nGiLczRGZep1IQ0b1cZnqDvGMx6AS6hiDqLISjnmXYY2OhG6Uyp+SuinjYzLPJ6eO\\nN/7i9qqbcGmt0ssddmhR897+bTEom5SlSuyi03KZ9Rn4ZmNJgOsup9MclSBGxBys\\nb6MuuM3N0/tF5QuwmDc8H6h2rNBP9vGV7RTTXQIDAQABAoIBAFS/WVoRRLmbjxG3\\nuKl8UA9f8oaSVnu0vUpeoOl5Dmm4Kw2/tvzbxPlii3Xb1VGYGS/tVBy8atp74J6h\\nfxm5zHLN1afAPMR/F41ShPCSBHapMUOKf4MBqhjOdYOw2Way1RsQNSxWdxxtJIr+\\nWlNYTzDOUpk/KMvCPHZS2IBzTidpcFpDQ3pyDXjOoKJJH0EQWPtvxJNGrFqmU29D\\n9WBqQemHnDrzg3s7JzQ5cGpbbCE+QX8IckNkslAkyhm771CtqWdeo+c45e6YfGcx\\nKuAy1zGSVzQBuitzYoMUOL5olXLEj8fHzXd/cZP4yCyyabcGz2vi6luxF+28l1OL\\nG1axyLECgYEA+bD5B+Y/Dp5hZ/uVR1bbvyraQpwbDesS1zgnJ53KOIl926dnWzIt\\nUvM46+c9IF+UJrtzwIB6IvjAQioNFrK36bHgNGzNf9WQ54NN172qveaFLdW34z/i\\nGR2ix/efm9OC41QREQ/5IKV07TibCwVazVBWascMPkH7FnguTvTCiosCgYEAzwJ+\\nGPlIWjK+sqkK5JMUyuH43qAvgVfkZV906JpNRQH0Mob3bC0nXN95EoTwWXk68ULT\\no1GHv9XLbj8e+Ok7kpJQZT5vEZnDN+cy3jdTLCvcjU5Q3ToImOTp9isSAFWRTbtk\\nyabLNoIIsTR/ZwwPFTZcRiK2d8k7ZhcRKdfGnrcCgYAPZ06FoTukoDqsGoYkB4S4\\n72DVmSHGIwlfg5ROylouULUV9ubWZmsLYfvR+cr4k0zlcsz6RDLEs4nQyx1RmCbm\\nYNXPBiNLTpaI4b3MoGPHIVB3+mZEu60sFXr0UR9kkpDRi18eKVkaHXrwI3zVGjh2\\n0Az0u2DS+mkOAs4AivLxbwKBgQC0XPqbLc+Bb0dCCREJmLD8GCkrZ6wcaQUB4krN\\nQ2vhnVM0Fu5K3Yi3XapynUuA2aSmgtA9MxMw7MkjlHGa9DPIgBz2KZDCaBN0iMeE\\nX/XivZCbucmxBxhohsLmjh5QFj3U2Vp2bBIQuvlx1EjQ8uvNUqDRJvuOoNFVIPH+\\nYBeZPwKBgA//kXfNtNMHOpch699i3rgTzbRFDmGwsr1otzvJsXw7Pr2bM4WIzUJy\\nG2SUSUlQRSZK4+BBKT9S0d7TynJD6X/6R7IBotZbfXs1myYxEsKj89/BQmr47x2h\\nHjYVCClNoJlsbd5C2yu1R3PikweWGoVaxE3c+AN5knqjwJ0g21Cf\\n-----END RSA PRIVATE KEY-----\"","type":"string","format":"pem-private-key"},"required":true,"description":"The key's contents.","in":"query","name":"key"},{"in":"query","name":"friendly_name","schema":{"type":"string","example":"TestKey"},"required":false,"description":"The key's friendly name."}],"x-rollback":"none","description":"This function uploads a private key.\n\n**Note:**\n\nDue to the limited field length of HTTP GET method calls, you **must** use\nthe HTTP POST method. For this reason, you **cannot** use a cPanel or Webmail\nsession URL to call this function.\n\n**Important:**\n\nWhen you disable the Calendars and Contacts, Receive Mail, Web Disk, Webmail,\n**and** Web Server [roles](https://go.cpanel.net/howtouseserverprofiles#roles),\nthe system **disables** this function."}}}},"toggle_ssl_redirect_for_domains":{"paths":{"/SSL/toggle_ssl_redirect_for_domains":{"get":{"x-cpanel-available-version":"cPanel 80","x-codeSamples":[{"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","lang":"Shell","label":"CLI"},{"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":"URL","lang":"HTTP"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file SSL_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/<theme_name>/\n#    to .../frontend/<theme_name>/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}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file SSL_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/<theme_name>/\n//    to .../frontend/<theme_name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Enable or disable secure redirects","x-cpanel-api-version":"UAPI","operationId":"SSL-toggle_ssl_redirect_for_domains","x-readonly":false,"tags":["SSL","cPanel Account SSL Management"],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"result":{"properties":{"status":{"example":1,"enum":[0,1],"description":"- `1` - Success\n- `0` - Failed: Check the errors field for more details.","type":"integer"},"metadata":{"properties":{}},"data":{"type":"array","example":["main.example","addon.example","addon.main.example"],"description":"The domains for which the function enabled or disabled secure redirects.","items":{"type":"string"}},"warnings":{"nullable":true,"type":"array","example":null,"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"}},"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"},"errors":{"example":null,"items":{"type":"string"},"description":"List of errors if the API failed.","nullable":true,"type":"array"}},"type":"object"},"module":{"type":"string","example":"SSL","description":"The name of the module called."},"func":{"type":"string","example":"toggle_ssl_redirect_for_domains","description":"The name of the method called."},"apiversion":{"type":"integer","example":3,"description":"The version of the API."}}}}},"description":"HTTP Request was successful."}},"x-rollback":"none","description":"This function enables or disables secure redirects (HTTPS) for the cPanel account's domains that you specify.\n\n**Important:**\n\nTo call this function, one of the following conditions **must** exist:\n\n* AutoSSL **must** exist on the domains for which you enable secure redirects.\n* A valid SSL certificate **must** exist for each domain for which you wish to enable secure redirects.\n* You **must** own the domains for which you wish to enable secure redirects.","parameters":[{"required":true,"description":"A comma-separated list of the cPanel account's domains for which to enable or disable secure redirects.\n\n**Important:**\n\nTo enable or disable redirects for addon domains, you **must** pass the addon domain **and** its subdomain.","schema":{"example":"main.example,addon.example,addon.main.example","type":"string"},"in":"query","name":"domains"},{"name":"state","in":"query","required":true,"description":"Whether to enable or disable redirects for the specified domains.\n\n* `1` — Enable.\n* `0` — Disable.","schema":{"type":"integer","enum":[0,1],"example":1}}]}}},"info":{"termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"x-tagGroups":[{"tags":["cPanel Account SSL Management"],"name":"SSL Certificates"}],"openapi":"3.0.2","servers":[{"variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"tags":[{"description":"The SSL module for UAPI.","name":"SSL"},{"name":"cPanel Account SSL Management","description":"SSL Certificates / cPanel Account SSL Management"}],"security":[{"BasicAuth":[]}]},"fetch_cert_info":{"paths":{"/SSL/fetch_cert_info":{"get":{"operationId":"SSL-fetch_cert_info","x-readonly":false,"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"result":{"type":"object","properties":{"messages":{"description":"List of messages generated by the API.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"errors":{"example":null,"description":"List of errors if the API failed.","items":{"type":"string"},"nullable":true,"type":"array"},"metadata":{"properties":{}},"warnings":{"nullable":true,"type":"array","example":null,"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"}},"data":{"type":"object","properties":{"key":{"format":"pem-private-key","type":"string","description":"The private key.","example":"-----BEGIN RSA PRIVATE KEY-----\nMIIEowIBAAKCAQEA5n3ZUoGCgH48vcbZfrYqnrak7yOZk/UN41gr8bZGmqbzd3qK\nmGXkm11aW1ID2YKGKYjLmKt59HbXitlH6VhQcWviuYr+JIyTXDMLV0GiGpDT0uvd\ne3YV21Ww2i5nzoFxWyVD67oize5gvq9gaw5nVj6UyZ0baIB01QeJ5x52xZyuSgiS\n0ssWlA3rvHx8wG0+1trRaBwU0cn1cXP3ZMKzKus/yAUH4lMBFf8jgDzEWIwfMI5H\nmzUjg2kOPJQlBtZ1u0bJGaKffWIMLs9Ux4p+f7FNeT/xJCHCTX7HpYDOyWwq109y\nHnD178NkywKoUvtx7f93tTI821mltPbC1PQUgQIDAQABAoIBAEteX4/hFYFaxhXw\nTfJnCgzaAHTdkTyWZyJC/UP0rIWpjfdFtMg8mVJMZl1yJhwb2C8AskKL34o44iZf\nAmrFHBjahFrSuC9PYGhHsK+poI47SWixA815QZBlJt1RS1R1c1Gwj9MnHHZmOnBf\n/JFFNnk3IYQDwZCcYJfATVGr3n6jLEGNwaPWFV6SHf0C4tCibSdNkkS1L/u+roHK\n2dlmo84suwiqIYlxRCh0rZcvcx5ieF5Rj9g9t2ReYWCuEOMWuPcCfWoe4VngrmMX\nV4I8NS1wtMR8qONJf4B9vcBA36296x1PZp3QEWU6hCd3TKpInKKxe6tOJA1iZ/H0\nKn0sYSECgYEA/W2zPsHKZDHnLN80MdiRFIPnmBvdNl2kPl244S9YFCHULowxx4YA\nMhz46dkm7VAFJdCTDZvKNZloPRG6N+Ouw2TP/gwnqZzVN2jt7+rpSYWp8s8kAASv\npmjnpGLlAZg8BBD/gafxfjEdyB7QEUF379o+0WTxCJrcE8n8UtTcXj0CgYEA6NSR\nf1bXcfzCzLtkudEfyA9+u5mdENqoqasLfJsLzezeGFAYamQsnEEACWSbJvogHHZk\ng/gKVuSzspLDWpJT96agmUFGKoBozJrOj2TpXfSI9uDaGo0/YJsPhnuPHab0jiO5\nCjpCOAKMXaV9lbALRh4ALGiODDDud2rqzph815UCgYEA2ULKf+qzD+KYRSe1H2aC\nOgw653Q72Pe+bpj6flKQN/IobR9TLbH7SPr9ibzYWmpXf2uoJeqBGCJD8tbXxkIy\n+N/cT/crqYUCZVZXZW8GQDmO0NI0Eq/xxb/5ljwSB6PzD6li4kyQA5cn6QBBcAmo\nQL/hSrI20SGxumVXI8vIgCECgYAUJai9cx9LfsrAeoq5xY3Rev3FcAJ2XeVwYRuq\nWaRI2nFRe0TRl/+AOeOt7GW8lrJGpDwIa2NBp6KhFjAPW1AmwuVsvYg7z0bCRbcQ\nE3RaK/naGxTkbUqJqoFKatC0iSjqT88IQohOXnIU/GgEluoy1A/Bx/5asbVA4iCV\nZf6PjQKBgA0A3Q5lrWwuQlCXDiwsRLKSYEwgt5TFKfbiipB01m89PGd1ylz+Uzyn\niE01Cuar6yN9pJiTJ09Tmq3S2xxavY97KFHyu6R8/jHx4mZi9OMJfxffC+84q6d+\nXVABiqBs1l0ebWCsotdXoYDDQaVrCccxPfCjUCtPmgnarz11uhZo\n-----END RSA PRIVATE KEY-----"},"subject.commonName_ip":{"type":"string","format":"ipv4","example":"192.168.0.1","description":"The IP address."},"certificate":{"type":"string","format":"pem-certificate","description":"The certificate's contents.","example":"-----BEGIN CERTIFICATE-----\nMIIDyDCCArDgBwIBAgIEWXcZhjANBgkzpkiG6w0BAQsFADATMREwDwYDVQQDDAhu\nZXcxLnRsZDAeFw1yMDAyMDcxMzE5MTdaFw0yMTAyMDYxMzE4MTdaMBMxETAPBgMB\nBAMMCG5ldzEudGxkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5n3Z\nUoGCgH48vcbZfrWtnrak4yOZk/UN45gc8bZGmqbzd3qKmGXkm11aW1ID2YKGKYjL\nmKt42HbXitlH6VhQcWviuYg+JIyTXDMLV0GiGpDT0uvde3YV21Ww2i5nzoFxWyVD\n67oize5gvq9gaw5nVj6UyZ0baIB01QeJ5x52xZyuSgiS0ssWlA3rvHx8wG0+1trR\naBwU0cn1cXP3ZMKzKus/yAUH4lMBFf8jgDzEWIwfMI5HmzUjg2kOPJQlBtZ1u0bJ\nGaKffWIMLs9Ux4p+f7FNeT/xJCHCTX7HpYDOyWwq109yHnD178NkywKoUvtx7f93\ntTI821mltPbC1PQUgQIDAQABo4IBIjCCAR4wHQYDVR0OBBYEFLThoqhCEONRK3X1\nFBgZ4gp+ESmJMAkGA1UdEwQCMAAwPgYDVR0jBDcwNYAUtOGiqEIQ41ErdfUUGBni\nCn4RKYmhF6QVMBMxETAPBgNVBAMMCG5ldzEudGxkggRZdxmGMB0GA1UdJQQWMBQG\nCCsGAQUFBwMBBggrBgEFBQcDAjCBkgYDVR0RBIGKMIGHgghuZXcxLnRsZIINbWFp\nbC5uZXcxLnRsZIIMd3d3Lm5ldzEudGxkgg9jcGFuZWwubmV3MS50bGSCEHdlYm1h\naWwubmV3MS50bGSCEHdlYmRpc2submV3MS50bGSCE2NwY29udGFjdHMubmV3MS50\nbGSCFGNwY2FsZW5kYXJzLm5ldzEudGxkMA0GCSqGSIb3DQEBCwUAA4IBAQCT4AQM\nwbwj3JEoQIJeP7RQyVe2/CPheqkSSajca1a3cUytwfRQ/m8DGM3L3WUZCaDEXYpJ\n+nt7k6KetL6Fs03e1W7IDADt68ahiBLIqvxEGZ5uNUYqOiEWgfp3yKEDOjkLLvzU\nGZb8FmNyeDoQ47b0mf0SRktG6W1rTMAg2kSDVoA7YNZStYvRzEliCX8cZqZ2as2d\nou95S+aGFAPJ+WMyYRgFm+ONAnpSbd9BursEcQSfLjKLusJzXrGVG9zZ/CAK2tHy\nXIlFrj88r0q9AZKyFkh6O1XvaZBiI/UEOWS2H3zcnh5ywudze7jTj5eFz5hr0ubX\ndji/LDNHmG+dKCK7\n-----END CERTIFICATE-----"},"cabundle":{"example":"-----BEGIN CERTIFICATE-----\nMIIB+DCCArDgBwIBAgIEWXcZhjANBgkzpkiG6w0BAQsFADATMREwDwYDVRRZZAhu\nZXcxLnRsZDAeFw1yMDAyMDcxMzE7MTdaFw0yMTAyMDYxMzE4MTdaMBMxETAPBgEJ\nBAMMCG5ldzEudGxkMIJBInANBgkqhkiG9w0BAQEFAAOKAR3AMIIBCgKCAQEA5n3Z\nUoGCgH48vcbZfrWtnrak4yOZk/UN45gc8bZGmqbzd3qKmGXkm11aW1ID2YKGKYjL\nmKt42HbXitlH6VhQcWviuYg+JIyTXDMLV0GiGpDT0uvde3YV21Ww2i5nzoFxWyVD\n67oize5gvq9gaw5nVj6UyZ0baIB01QeJ5x52xZyuSgiS0ssWlA3rvHx8wG0+1trR\naBwU0cn1cXP3ZMKzKus/yAUH4lMBFf8jgDzEWIwfMI5HmzUjg2kOPJQlBtZ1u0bJ\nGaKffWIMLs9Ux4p+f7FNeT/xJCHCTX7HpYDOyWwq109yHnD178NkywKoUvtx7f93\ntTI821mltPbC1PQUgQIDAQABo4IBIjCCAR4wHQYDVR0OBBYEFLThoqhCEONRK3X1\nFBgZ4gp+ESmJMAkGA1UdEwQCMAAwPgYDVR0jBDcwNYAUtOGiqEIQ41ErdfUUGBni\nCn4RKYmhF6QVMBMxETAPBgNVBAMMCG5ldzEudGxkggRZdxmGMB0GA1UdJQQWMBQG\nCCsGAQUFBwMBBggrBgEFBQcDAjCBkgYDVR0RBIGKMIGHgghuZXcxLnRsZIINbWFp\nbC5uZXcxLnRsZIIMd3d3Lm5ldzEudGxkgg9jcGFuZWwubmV3MS50bGSCEHdlYm1h\naWwubmV3MS50bGSCEHdlYmRpc2submV3MS50bGSCE2NwY29udGFjdHMubmV3MS50\nbGSCFGNwY2FsZW5kYXJzLm5ldzEudGxkMA0GCSqGSIb3DQEBCwUAA4IBAQCT4AQM\nwbwj3JEoQIJeP7RQyVe2/CPheqkSSajca1a3cUytwfRQ/m8DGM3L3WUZCaDEXYpJ\n+nt7k6KetL6Fs03e1W7IDADt68ahiBLIqvxEGZ5uNUYqOiEWgfp3yKEDOjkLLvzU\nGZb8FmNyeDoQ47b0mf0SRktG6W1rTMAg2kSDVoA7YNZStYvRzEliCX8cZqZ2as2d\nou95S+aGFAPJ+WMyYRgFm+ONAnpSbd9BursEcQSfLjKLusJzXrGVG9zZ/CAK2tHy\nXIlFrj88r0q9AZKyFkh6O1XvaZBiI/UEOWS2H3zcnh5ywudze7jTj5eFz5hr0ubX\ndji/LDNHmG+dKCK7\n-----END CERTIFICATE-----","description":"The CA bundle's contents (if applicable).","format":"pem-certificate","nullable":true,"type":"string"},"is_self_signed":{"type":"integer","description":"Whether the certificate is self-signed.\n* `1` - Self-signed.\n* `0` - **Not** self-signed.","example":1,"enum":[0,1]}}},"status":{"type":"integer","enum":[0,1],"example":1,"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details."}}},"module":{"description":"The name of the module called.","example":"SSL","type":"string"},"func":{"example":"fetch_cert_info","description":"The name of the method called.","type":"string"},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}},"type":"object"}}},"description":"HTTP Request was successful."}},"parameters":[{"name":"id","in":"query","schema":{"example":"example_com_cb497_a394d_1397249671_d1272da8f13a1fd837493a5ad1f0a0f3","type":"string"},"description":"The certificate's ID.","required":true},{"name":"friendly_name","in":"query","required":true,"description":"The certificate's human readable name.","schema":{"example":"TestCert","type":"string"}}],"tags":["SSL","cPanel Account SSL Management"],"x-rollback":"none","x-codeSamples":[{"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","lang":"Shell","label":"CLI"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/SSL/fetch_cert_info?id=example_com_cb497_a394d_1397249671_d1272da8f13a1fd837493a5ad1f0a0f3&friendly_name=TestCert","label":"URL","lang":"HTTP"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file SSL_fetch_cert_info.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/SSL_fetch_cert_info.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/SSL/,\n    q/fetch_cert_info/,\n    {\n        'id' => 'example_com_cb497_a394d_1397249671_d1272da8f13a1fd837493a5ad1f0a0f3',\n        'friendly_name' => 'TestCert',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file SSL_fetch_cert_info.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/SSL_fetch_cert_info.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'SSL',\n    'fetch_cert_info',\n    array (\n        'id' => 'example_com_cb497_a394d_1397249671_d1272da8f13a1fd837493a5ad1f0a0f3',\n        'friendly_name' => 'TestCert',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"summary":"Return SSL certificate information","x-cpanel-available-version":"cPanel 11.42","description":"This function retrieves all of a certificate's available information.\n\n**Important:**\n\n* You **must** call either the `friendly_name` or `id` parameter.\n* When you disable the Calendars and Contacts, Receive Mail, Web Disk, Webmail, and Web Server [roles](https://go.cpanel.net/serverroles), the system **disables** this function.","x-cpanel-api-version":"UAPI"}}},"info":{"contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/"},"externalDocs":{"url":"https://cpanel.net/developers/"},"x-tagGroups":[{"name":"SSL Certificates","tags":["cPanel Account SSL Management"]}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"servers":[{"description":"A server running cPanel.","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute"}],"openapi":"3.0.2","tags":[{"description":"The SSL module for UAPI.","name":"SSL"},{"description":"SSL Certificates / cPanel Account SSL Management","name":"cPanel Account SSL Management"}],"security":[{"BasicAuth":[]}]},"upload_cert":{"tags":[{"name":"SSL","description":"The SSL module for UAPI."},{"name":"SSL Certificate Management","description":"SSL Certificates / SSL Certificate Management"}],"servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}}}],"openapi":"3.0.2","components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"x-tagGroups":[{"name":"SSL Certificates","tags":["SSL Certificate Management"]}],"security":[{"BasicAuth":[]}],"info":{"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"},"title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999"},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/SSL/upload_cert":{"post":{"description":"This function uploads a certificate.\n\n**Important:**\n\n* Due to the limited field length of HTTP GET method calls, you **must** use the HTTP\nPOST method. For this reason, you **cannot** use a cPanel or Webmail session URL to\ncall this function.\n* When you disable the Calendar and Contacts, Receive Mail, Web Disk, Webmail, and\nWeb Server [roles](https://go.cpanel.net/howtouseserverprofiles#roles),\nthe system **disables** this function.","x-rollback":"none","parameters":[{"description":"The certificate's contents.","required":true,"schema":{"type":"string","format":"pem-certificate","example":"\"-----BEGIN CERTIFICATE-----/nMIIDcTCCAlmgAwIBAgIFAU+BNVgwDQYJKoZIhvcNAQEFBQAwUTESMBAGA1UEAwwJc2lza28udGxkMQswCQYDVQQGEwJVUzEPMA0GA1UECgwGY1BhbmVsMQswCQYDVQQIDAJUWDEQMA4GA1UEBwwHSG91c3RvbjAeFw0xNDEwMDYyMjI2MTlaFw0xNTEwMDYyMjI2MTlaMFExEjAQBgNVBAMMCXNpc2tvLnRsZDELMAkGA1UEBhMCVVMxDzANBgNVBAoMBmNQYW5lbDELMAkGA1UECAwCVFgxEDAOBgNVBAcMB0hvdXN0b24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC9zx6zGiHdmWA0dKtoXmJiWXpZ9E3PXx3YHsjFEWW7e5pH0vZ+jVMzDmm5nsJ7RXrAkZO1IvpIpVLvoQfiJOWVvkD+o9fWvoK1tWJS72FSgPju+58mA2ieBuc87A790Pzuv1P3NR3zFLAjUR99zkHR1fpri/daM3PBWO8ET48FWkyU1kOeZaUlF67/+wrEiNgg+t1qhKOCAB61PdNVkLaSGHimksuC+Czk8Kq9nuS0E0TCnDtjjEyJ455FUcaCfczlTb8xkB/F9ORe74yTzD+vlk0tFMG6PLj/ajIwWqwO0qmQ8wX3NRxkWgGz5kVO1wrVJarKQ5EYQ3/mgvit0v6dAgMBAAGjUDBOMB0GA1UdDgQWBBRw+wKBo34+bgexjAa3EMDsgSCd7zAfBgNVHSMEGDAWgBRw+wKBo34+bgexjAa3EMDsgSCd7zAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUAA4IBAQCHRXIs53opzKM2rM8Qe8lcw524WK6hqy2EWrZHp78N7rU7/6DQ/I3hv3WhcDDIO04I2/Xhe88MLBaLoM367Ya+vy7CaLr14aLi/SfQszMA0ALBvMao+Fis0iVwFYq/NLgSXw+fgnpFskt8v8iQZ+4Kaal8U8e9sVgu8m0RgO7rzym1eRiIKpsKd1rh/SD7LbSN7M7TRL3QqF7ltw9sQhAAsQcRaBBF21pdWrqhiGZ+Eioo3hhgwNavH2agqz78ddHwrFpHFwrEeUk1OfpPb76MYIce7xIy/4oQNdg6fOq4l/FrajBv+WkzDVPaKm6r7YmwfLN/YMZBHXSR58oOGP9W/n-----END CERTIFICATE-----\""},"name":"crt","in":"query"},{"in":"query","name":"friendly_name","schema":{"example":"TestCert","type":"string"},"description":"The certificate's friendly name.","required":false}],"requestBody":{"description":"The certificate's contents.","content":{"multipart/form-data":{"schema":{"properties":{"friendly_name":{"description":"The certificate's friendly name.","type":"string"},"crt":{"description":"The certificate file.","format":"pem-certificate","type":"string"}},"type":"object"}}}},"summary":"Import SSL certificate","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --input=json --output=jsonpretty \\\n  --user=username \\\n  SSL \\\n  upload_cert\n"},{"lang":"HTTP","label":"HTTP Request (Wire Format)","source":"POST /cpsess##########/execute/SSL/upload_cert HTTP/1.1\nHost: example.com:2083\nCookie: ###################################\nContent-Type: application/json\nContent-Length: 0\n\n"}],"x-cpanel-available-version":"cPanel 11.42","x-cpanel-api-version":"UAPI","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"type":"integer","description":"The version of the API.","example":3},"func":{"description":"The name of the method called.","example":"upload_cert","type":"string"},"result":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"ecdsa_public":{"example":null,"description":"The certificate's key's ECDSA compressed public point, in hexadecimal format.\n\n* `null` — The certificate's key is **not** an ECDSA key.","nullable":true,"type":"string"},"issuer.organizationName":{"description":"The issuer's Organization Name.","example":"VeriSign, Inc.","type":"string"},"subject.commonName":{"description":"The issuer's Common Name or Distinguished Name.","example":"example.com","type":"string"},"not_before":{"example":1569844800,"description":"The certificate's start date.","type":"integer","format":"unix_timestamp"},"ecdsa_curve_name":{"nullable":true,"type":"string","enum":["prime256v1","secp384r1"],"example":"prime256v1","description":"The ECDSA curve that the certificate's key uses.\n\n* `prime256v1`\n* `secp384r1`\n* `null` — The certificate's key is **not** an ECDSA key."},"issuer.commonName":{"type":"string","example":"VeriSign Trial Secure Server CA - G2","description":"The issuer's Common Name or Distinguished Name."},"domains":{"items":{"format":"domain","type":"string","example":"example.com"},"description":"A list of the certificate's domains.","type":"array"},"modulus_length":{"description":"The length, in bits, of the certificate's key's modulus.\n\n* `null` — The certificate's key is **not** an RSA key.","example":2048,"minimum":1,"type":"integer","nullable":true},"validation_type":{"type":"string","nullable":true,"description":"The certificate's validation type.\n\n* `ev` — Extended Validation.\n* `ov` — Organization Validation.\n* `dv` — Domain Validation.\n* `null` — The system could not parse and determine\nthe certificate's validation type.","example":"dv","enum":["ev","ov","dv"]},"key_algorithm":{"type":"string","enum":["rsaEncryption","id-ecPublicKey"],"example":"rsaEncryption","description":"The certificate's key's algorithm.\n\n* `rsaEncryption` — RSA.\n* `id-ecPublicKey` — ECDSA."},"signature_algorithm":{"type":"string","example":"sha256WithRSAEncryption","description":"The certificiate's OID hash algorithm signature."},"not_after":{"example":1601467200,"description":"The certificate's expiration date.","type":"integer","format":"unix_timestamp"},"modulus":{"type":"string","nullable":true,"description":"The certificate's key's modulus, in hexadecimal format.\n\n* `null` — The certificate's key is **not** an RSA key.","example":"a673c3b17344664b35f8791f562d3aea6bf4d8faa3ae3fc0a519380fd453964a36677c34d48677ecb7f5ed035df026f5f0f8fbfe21745e52daf1f3b9e58c73f0baefdb709320e2202e7d05250b051a59b30ff1fef22d83d7140c1c81cea314a0890ce8d2226799872181c58a74016c7aaa2cff5ac72b575cecde8f304aa572a2ea03d8b173ab76c6e8cdb9dfd0da81e1119cefd4b8b4dbfbe0e46c7f1ee2fe8b5fd5504e58ccbc0d13b4fa41ecc9ebd0dabe1d1fec5c724f748167e7c0553e997f9b77eb36abce70973f06df151748d41b758de3efd7afa6f2464a1547f5ff158469d96e248be464df9eda0e7ce854a89332a2c1278b17c425368a9604f454db"},"id":{"description":"The certificate's ID.","example":"example_com_c69ce_37ff5_1397169490_169c717cb2c260281df792788accf041","type":"string"},"friendly_name":{"type":"string","description":"The certificate's friendly name.","example":"TestCert"},"is_self_signed":{"description":"Whether the certificate is self-signed.\n\n* `1` — Self-signed.\n* `0` — Not self-signed.","enum":[1,0],"example":1,"type":"integer"},"created":{"format":"unix_timestamp","type":"integer","description":"The certificate's creation date.","example":1569844800}}}},"warnings":{"nullable":true,"type":"array","example":null,"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"}},"metadata":{"properties":{"transformed":{"description":"Post-processing may have transformed the data.","enum":[1],"example":1,"type":"integer"}}},"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null},"messages":{"description":"List of messages generated by the API.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"status":{"enum":[1,0],"example":1,"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","type":"integer"}}},"module":{"type":"string","example":"SSL","description":"The name of the module called."}},"type":"object"}}}}},"tags":["SSL","SSL Certificate Management"],"x-readonly":false,"operationId":"SSL-upload_cert"}}}},"find_certificates_for_key":{"paths":{"/SSL/find_certificates_for_key":{"get":{"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"module":{"type":"string","example":"SSL","description":"The name of the module called."},"result":{"properties":{"warnings":{"type":"array","nullable":true,"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"},"example":null},"data":{"items":{"type":"object","properties":{"domains":{"type":"array","items":{"format":"domain","type":"string","example":"example.com"},"description":"A list of the domains that the certificate covers."},"validation_type":{"enum":["ev","ov","dv"],"example":"dv","description":"The certificate's validation type.\n\n* `ev` — Extended Validation.\n* `ov` — Organization Validation.\n* `dv` — Domain Validation.\n* `null` — The system could not parse and determine the\ncertificate's validation type.","nullable":true,"type":"string"},"key_algorithm":{"type":"string","example":"rsaEncryption","enum":["rsaEncryption","id-ecPublicKey"],"description":"The certificate's key's algorithm.\n\n* `rsaEncryption` — RSA.\n* `id-ecPublicKey` — ECDSA."},"modulus_length":{"description":"The length, in bits, of the certificate's key's modulus.\n\n* `null` — The certificate's key is **not** an RSA key.","example":2048,"type":"integer","nullable":true},"signature_algorithm":{"example":"sha256WithRSAEncryption","description":"The certificate's signature OID hash algorithm.","type":"string"},"subject_text":{"type":"string","description":"The certificate's subject text information.","example":"countryName\nUS\ncommonName\u001bxample.com\nlocalityName\nHouston\norganizationName\ncPanel\nstateOrProvinceName\ntx"},"issuer.organizationName":{"type":"string","example":"The Example Organization","description":"The certificate's organization name."},"ecdsa_public":{"example":null,"description":"The certificate's key's ECDSA compressed public point, in hexadecimal format.\n\n* `null` — The certificate's key is **not** an ECDSA key.","nullable":true,"type":"string"},"not_before":{"type":"integer","format":"unix_timestamp","description":"The date the certificate started.","example":1538308800},"ecdsa_curve_name":{"type":"string","nullable":true,"description":"The ECDSA curve that the certificate's key uses.\n\n* `prime256v1`\n* `secp384r1`\n* `null` — The certificate's key is **not** an ECDSA key.","example":"prime256v1","enum":["prime256v1","secp384r1"]},"subject.commonName":{"type":"string","description":"The certificate's Common Name.","example":"example.com"},"issuer.commonName":{"example":"example.com","description":"The name that issued the certificate.","type":"string"},"is_self_signed":{"description":"Whether the certificate is self-signed.\n\n* `1` — Self-signed.\n* `0` — Not self-signed.","enum":[1,0],"example":1,"type":"integer"},"created":{"example":1538308800,"description":"The date the certificate was created.","type":"integer","format":"unix_timestamp"},"issuer_text":{"description":"The certificate's issuer information.","example":"countryName\nUS\ncommonName\u001bxample.com\nlocalityName\nHouston\norganizationName\ncPanel\nstateOrProvinceName\ntx","type":"string"},"modulus":{"example":"a673c3b17344664b35f8791f562d3aea6bf4d8faa3ae3fc0a519380fd453964a36677c34d48677ecb7f5ed035df026f5f0f8fbfe21745e52daf1f3b9e58c73f0baefdb709320e2202e7d05250b051a59b30ff1fef22d83d7140c1c81cea314a0890ce8d2226799872181c58a74016c7aaa2cff5ac72b575cecde8f304aa572a2ea03d8b173ab76c6e8cdb9dfd0da81e1119cefd4b8b4dbfbe0e46c7f1ee2fe8b5fd5504e58ccbc0d13b4fa41ecc9ebd0dabe1d1fec5c724f748167e7c0553e997f9b77eb36abce70973f06df151748d41b758de3efd7afa6f2464a1547f5ff158469d96e248be464df9eda0e7ce854a89332a2c1278b17c425368a9604f454db","description":"The certificate's key's modulus, in hexadecimal format.\n\n* `null` — The certificate's key is **not** an RSA key.","nullable":true,"type":"string"},"id":{"description":"The certificate's ID.","example":"example_com_a74f7_9dddf_1446659822_eae1ff43c4ec1991e195877c55755eff","type":"string"},"not_after":{"description":"The date the certificate expired.","example":1569844800,"format":"unix_timestamp","type":"integer"},"friendly_name":{"type":"string","example":"TestCert","description":"The certificate's friendly name."}}},"type":"array"},"metadata":{"properties":{"transformed":{"description":"Post-processing may have transformed the data.","enum":[1],"example":1,"type":"integer"}}},"errors":{"nullable":true,"type":"array","example":null,"description":"List of errors if the API failed.","items":{"type":"string"}},"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null},"status":{"type":"integer","example":1,"enum":[1,0],"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details."}},"type":"object"},"func":{"type":"string","example":"find_certificates_for_key","description":"The name of the method called."}},"type":"object"}}},"description":"HTTP Request was successful."}},"tags":["SSL","cPanel Account SSL Management"],"operationId":"SSL-find_certificates_for_key","x-readonly":false,"x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  SSL \\\n  find_certificates_for_key\n","lang":"Shell","label":"CLI"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/SSL/find_certificates_for_key"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file SSL_find_certificates_for_key.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/SSL_find_certificates_for_key.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/SSL/,\n    q/find_certificates_for_key/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file SSL_find_certificates_for_key.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/SSL_find_certificates_for_key.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'SSL',\n    'find_certificates_for_key'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"summary":"Return SSL certificate for private key","x-cpanel-available-version":"cPanel 11.42","x-cpanel-api-version":"UAPI","parameters":[{"in":"query","name":"id","required":false,"description":"The key's ID.","schema":{"type":"string","example":"example_com_cb497_a394d_1397249671_d1272da8f13a1fd837493a5ad1f0a0f3"}},{"description":"The key's friendly name.","required":false,"schema":{"type":"string","example":"TestKey"},"in":"query","name":"friendly_name"}],"description":"This function retrieves SSL certificates for a private key.\n\n**Note:**\n\nWhen you call this function, you **must** include either the `id`\n**or** the `friendly_name` parameter.","x-rollback":"none"}}},"info":{"license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"openapi":"3.0.2","tags":[{"name":"SSL","description":"The SSL module for UAPI."},{"name":"cPanel Account SSL Management","description":"SSL Certificates / cPanel Account SSL Management"}],"servers":[{"description":"A server running cPanel.","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute"}],"x-tagGroups":[{"name":"SSL Certificates","tags":["cPanel Account SSL Management"]}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"security":[{"BasicAuth":[]}]},"show_csr":{"security":[{"BasicAuth":[]}],"tags":[{"description":"The SSL module for UAPI.","name":"SSL"},{"description":"SSL Certificates / SSL Certificate Management","name":"SSL Certificate Management"}],"openapi":"3.0.2","servers":[{"variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"x-tagGroups":[{"tags":["SSL Certificate Management"],"name":"SSL Certificates"}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","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.","version":"11.89.0.9999","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/"},"paths":{"/SSL/show_csr":{"get":{"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"func":{"type":"string","description":"The name of the method called.","example":"show_csr"},"module":{"description":"The name of the module called.","example":"SSL","type":"string"},"result":{"type":"object","properties":{"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null},"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null},"data":{"properties":{"csr":{"type":"string","description":"The CSR's text.","example":"-----BEGIN CERTIFICATE REQUEST-----\nMIIC3TCCAcUCAQAwgZcxFDASBgNVBAMMC2V4YW1wbGUuY29tMRYwFAYDVQQLDA1E\nb2N1bWVudGF0aW9uMQswCQYDVQQGEwJVUzEiMCAGCSqGSIb3DQEJARYTbGF1cmVu\nY2VAY3BhbmVsLm5ldDEUMBIGA1UECgwLY1BhbmVsIEluYy4xDjAMBgNVBAgMBVRl\neGFzMRAwDgYDVQQHDAdIb3VzdG9uMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\nCgKCAQEAp092NvpqyT7mg2qDqZW1XetQGeo217o9r7AOONaTrNsMgbL/d31rQzpC\nD65SPxJ/NSpovMi48tbue3A5W6+r2CN62oFk/d34N2swN1w11NTLzOfTPQgGnBe0\nCRdqNonx68l8Cwj+auRMGakqxtaESOfx0T87Ngr/1CIqUbTzU0LembWh+1VI5Djy\n2CRmRWKkSAAu7X/OJN7cfcPh7ReZc9Ha6VmzNxbutBDRcnCJVOAGMsv2Cg4mQZhg\nyMC8KF1r/ktHneDdGJdypdrmdr0qkqzMwTaYIb6M/93Yp+bswGH4oyqa4GYeTpRu\n2OOCeydxONOnYRZWfL0SnL2Gnvnd3wIDAQABoAAwDQYJKoZIhvcNAQEFBQADggEB\nAFlolzJbcviWcdZUv+PJ7G8cAqFAxa8a3W2a0Y1U0BaMrpDfuOHpQgOtO62rr+i+\nhkrIReuk7Isyl6GoZkX17KhQ1Vo9aW8a8Ur7+0RGDbxRlK9jJWnvSFn6cMMqRSfA\nDXpptxhqBFZJIZMc3pPX9Jqycuu8bxeIvUKeSMe3Jxcl1ZXEXX47FeRZxvd+WXF9\n4Xu4KZXHdzb5tB6jPhzIaN0/3d92N/KhvCcnw3YC2fEGDkpOlZaoa7O72+aq5K3b\nM1htFv9deAHqIHefV41iOrxUCIKIhdPIjvAm774lDHLzPpJVrshO/NpA74LEkny5\nFMwKKx+6Jgx1HSWucn5kWek=\n-----END CERTIFICATE REQUEST-----"},"details":{"type":"object","properties":{"stateOrProvinceName":{"type":"string","description":"The CSR's state or province name.","example":"Texas"},"created":{"format":"unix_timestamp","type":"integer","example":1538265600,"description":"The CSR's creation date."},"localityName":{"type":"string","description":"The certificate's locality or city.","example":"Houston"},"organizationalUnitName":{"type":"string","example":"Department","description":"The CSR's organizational unit name."},"friendly_name":{"type":"string","description":"The CSR's friendly name.","example":"TestCSR"},"commonName":{"type":"string","description":"The CSR's Common Name or Distinguished Name.","example":"example.com"},"modulus":{"description":"The CSR's modulus.","example":"a74f7636fa6ac93ee6836a83a995b55deb5019ea36d7ba3dafb00e38d693acdb0c81b2ff777d6b433a420fae523f127f352a68bcc8b8f2d6ee7b70395bafabd8237ada8164fdddf8376b30375c35d4d4cbcce7d33d08069c17b409176a3689f1ebc97c0b08fe6ae44c19a92ac6d68448e7f1d13f3b360affd4222a51b4f35342de99b5a1fb5548e438f2d824664562a448002eed7fce24dedc7dc3e1ed179973d1dae959b33716eeb410d172708954e00632cbf60a0e26419860c8c0bc285d6bfe4b479de0dd189772a5dae676bd2a92acccc1369821be8cffddd8a7e6ecc061f8a32a9ae0661e4e946ed8e3827b277138d3a76116567cbd129cbd869ef9dddf","type":"string","nullable":true},"id":{"type":"string","example":"example_com_c69ce_37ff5_1397169490_169c717cb2c260281df792788accf041","description":"The CSR's ID."},"domains":{"description":"A list of the domains that the CSR covers.","items":{"example":"example.com","type":"string"},"type":"array"},"emailAddress":{"example":"username@example.com","description":"The CSR's email address.","format":"email","type":"string"},"key_algorithm":{"type":"string","description":"The key algorithm that encrypts the CSR.","example":"rsaEncryption"},"countryName":{"type":"string","description":"The CSR's [ISO-3166](https://en.wikipedia.org/wiki/ISO_3166)\ncountry code.","example":"US"},"organizationName":{"example":"Organization","description":"The CSR's organization name.","type":"string"}},"description":"An object contaning the CSR's contents."},"text":{"type":"string","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","description":"The parsed information from the OpenSSL command-line tool."}},"type":"object"},"warnings":{"example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","nullable":true,"type":"array"},"metadata":{"properties":{}},"status":{"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","example":1,"enum":[1,0],"type":"integer"}}},"apiversion":{"type":"integer","description":"The version of the API.","example":3}}}}}}},"tags":["SSL","SSL Certificate Management"],"x-readonly":false,"operationId":"SSL-show_csr","summary":"Export certificate signing request","x-codeSamples":[{"lang":"Shell","label":"CLI","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# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file SSL_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/<theme_name>/\n#    to .../frontend/<theme_name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file SSL_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/<theme_name>/\n//    to .../frontend/<theme_name>/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"x-cpanel-available-version":"cPanel 11.42","x-cpanel-api-version":"UAPI","parameters":[{"schema":{"type":"string","example":"example_com_e095f_0ab2f_ebcbe4a571276f48562241411556647f"},"required":false,"description":"The CSR's ID.","in":"query","name":"id"},{"required":false,"description":"The CSR's friendly name.","schema":{"example":"TestCSR","type":"string"},"name":"friendly_name","in":"query"}],"description":"This function retrieves a certificate signing request (CSR).\n\n**Important:**\n\nWhen you disable the Calendars and Contacts, Receive Mail, Web Disk, Webmail,\nand Web Server [roles](https://go.cpanel.net/howtouseserverprofiles#roles),\nthe system **disables** this function.\n\n**Note:**\n\nWhen you call this function, you **must** include either the `id`\nor the `friendly_name` parameter.","x-rollback":"none"}}}},"generate_csr":{"info":{"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"},"title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."},"externalDocs":{"url":"https://cpanel.net/developers/"},"x-tagGroups":[{"name":"SSL Certificates","tags":["SSL Certificate Management"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"servers":[{"url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"name":"SSL","description":"The SSL module for UAPI."},{"name":"SSL Certificate Management","description":"SSL Certificates / SSL Certificate Management"}],"security":[{"BasicAuth":[]}],"paths":{"/SSL/generate_csr":{"get":{"x-cpanel-api-version":"UAPI","description":"This function generates a certificate signing request (CSR).\n\n**Note:**\n\nThis function **requires** a valid key in the account's `ssl` directory.\nYou can generate a key with UAPI's `SSL::generate_key` function.\n\n**Important:**\n\nWhen you disable the Calendars and Contacts, Receive Mail, Web Disk, Webmail,\nand WebServer [roles](https://go.cpanel.net/howtouseserverprofiles#roles),\nthe system **disables** this function.","summary":"Create certificate signing request","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"},{"lang":"HTTP","label":"URL","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"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file SSL_generate_csr.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/SSL_generate_csr.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/SSL/,\n    q/generate_csr/,\n    {\n        'domains' => 'example.com',\n        'countryName' => 'US',\n        'stateOrProvinceName' => 'Texas',\n        'localityName' => 'Houston',\n        'organizationName' => 'Organization',\n        'key_id' => 'example_com_cb497_a394d_1397249671_d1272da8f13a1fd837493a5ad1f0a0f3',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file SSL_generate_csr.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/SSL_generate_csr.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-available-version":"cPanel 11.42","x-rollback":"none","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"module":{"type":"string","example":"SSL","description":"The name of the module called."},"result":{"properties":{"status":{"type":"integer","description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","enum":[1,0],"example":1},"data":{"type":"object","properties":{"id":{"description":"The CSR's ID.","example":"example_com_a74f7_9dddf_1446659822_eae1ff43c4ec1991e195877c55755eff","type":"string"},"ecdsa_public":{"description":"The CSR's key's ECDSA compressed public point, in hexadecimal format.\n\n* `null` — The CSR's key is **not** an ECDSA key.","example":null,"type":"string","nullable":true},"modulus":{"nullable":true,"type":"string","example":"a673c3b17344664b35f8791f562d3aea6bf4d8faa3ae3fc0a519380fd453964a36677c34d48677ecb7f5ed035df026f5f0f8fbfe21745e52daf1f3b9e58c73f0baefdb709320e2202e7d05250b051a59b30ff1fef22d83d7140c1c81cea314a0890ce8d2226799872181c58a74016c7aaa2cff5ac72b575cecde8f304aa572a2ea03d8b173ab76c6e8cdb9dfd0da81e1119cefd4b8b4dbfbe0e46c7f1ee2fe8b5fd5504e58ccbc0d13b4fa41ecc9ebd0dabe1d1fec5c724f748167e7c0553e997f9b77eb36abce70973f06df151748d41b758de3efd7afa6f2464a1547f5ff158469d96e248be464df9eda0e7ce854a89332a2c1278b17c425368a9604f454db","description":"The CSR's key's modulus, in hexadecimal format.\n\n* `null` — The CSR's key is **not** an RSA key."},"commonName":{"description":"The name that issued the CSR.","example":"example.com","type":"string"},"friendly_name":{"type":"string","example":"TestCSR","description":"The CSR's friendly name."},"ecdsa_curve_name":{"description":"The ECDSA curve that the CSR's key uses.\n\n* `prime256v1`\n* `secp384r1`\n* `null` — The CSR's key is **not** an ECDSA key.","example":"prime256v1","enum":["prime256v1","secp384r1"],"type":"string","nullable":true},"key_algorithm":{"type":"string","description":"The CSR's key's algorithm.\n\n* `rsaEncryption` — RSA.\n* `id-ecPublicKey` — ECDSA.","enum":["rsaEncryption","id-ecPublicKey"],"example":"rsaEncryption"},"text":{"description":"The CSR's text.","example":"-----BEGIN CERTIFICATE REQUEST-----\nMIIC3TCCAcUCAQAwgZcxFDASBgNVBAMMC2V4YW1wbGUuY29tMRYwFAYDVQQLDA1E\nb2N1bWVudGF0aW9uMQswCQYDVQQGEwJVUzEiMCAGCSqGSIb3DQEJARYTbGF1cmVu\nY2VAY3BhbmVsLm5ldDEUMBIGA1UECgwLY1BhbmVsIEluYy4xDjAMBgNVBAgMBVRl\neGFzMRAwDgYDVQQHDAdIb3VzdG9uMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\nCgKCAQEAp092NvpqyT7mg2qDqZW1XetQGeo217o9r7AOONaTrNsMgbL/d31rQzpC\nD65SPxJ/NSpovMi48tbue3A5W6+r2CN62oFk/d34N2swN1w11NTLzOfTPQgGnBe0\nCRdqNonx68l8Cwj+auRMGakqxtaESOfx0T87Ngr/1CIqUbTzU0LembWh+1VI5Djy\n2CRmRWKkSAAu7X/OJN7cfcPh7ReZc9Ha6VmzNxbutBDRcnCJVOAGMsv2Cg4mQZhg\nyMC8KF1r/ktHneDdGJdypdrmdr0qkqzMwTaYIb6M/93Yp+bswGH4oyqa4GYeTpRu\n2OOCeydxONOnYRZWfL0SnL2Gnvnd3wIDAQABoAAwDQYJKoZIhvcNAQEFBQADggEB\nAFlolzJbcviWcdZUv+PJ7G8cAqFAxa8a3W2a0Y1U0BaMrpDfuOHpQgOtO62rr+i+\nhkrIReuk7Isyl6GoZkX17KhQ1Vo9aW8a8Ur7+0RGDbxRlK9jJWnvSFn6cMMqRSfA\nDXpptxhqBFZJIZMc3pPX9Jqycuu8bxeIvUKeSMe3Jxcl1ZXEXX47FeRZxvd+WXF9\n4Xu4KZXHdzb5tB6jPhzIaN0/3d92N/KhvCcnw3YC2fEGDkpOlZaoa7O72+aq5K3b\nM1htFv9deAHqIHefV41iOrxUCIKIhdPIjvAm774lDHLzPpJVrshO/NpA74LEkny5\nFMwKKx+6Jgx1HSWucn5kWek=\n-----END CERTIFICATE REQUEST-----","type":"string","format":"pem-certificate-request"},"domains":{"description":"The domains that the CSR covers.","items":{"example":"example.com","type":"string","format":"domain"},"type":"array"},"created":{"type":"integer","format":"unix_timestamp","example":1569884400,"description":"The date the CSR was created."}}},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"metadata":{"properties":{}},"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"messages":{"nullable":true,"type":"array","example":["Certificate Signing Request generated!"],"description":"List of messages generated by the API.","items":{"type":"string"}}},"type":"object"},"func":{"type":"string","description":"The name of the method called.","example":"generate_csr"}}}}}}},"tags":["SSL","SSL Certificate Management"],"parameters":[{"in":"query","required":true,"name":"domains","examples":{"single":{"summary":"Generate a certificate for a single domain.","value":"example.com"},"multiple":{"summary":"Generate a certificate for multiple domains.","value":"domains=example-1.com,example-1.com,example-2.com"}},"description":"A comma-separated list of the domains for which to generate the certificate.","schema":{"type":"string"}},{"in":"query","name":"countryName","description":"The two-letter country code.","required":true,"schema":{"type":"string","format":"ISO-3166-1 (alpha-2)","example":"US"}},{"required":true,"description":"The certificate's state or locality name.","schema":{"type":"string","example":"Texas"},"in":"query","name":"stateOrProvinceName"},{"required":true,"description":"The certificate's city or locality name.","schema":{"example":"Houston","type":"string"},"name":"localityName","in":"query"},{"in":"query","name":"organizationName","description":"The certificate's organization.","required":true,"schema":{"type":"string","example":"Organization"}},{"in":"query","name":"organizationalUnitName","required":false,"description":"The certificate's organizational unit or department name.","schema":{"type":"string","example":"Department","default":""}},{"in":"query","name":"emailAddress","schema":{"type":"string","format":"email","example":"username@example.com"},"required":false,"description":"An email address to associate with the certificate."},{"name":"key_id","in":"query","schema":{"type":"string","example":"example_com_cb497_a394d_1397249671_d1272da8f13a1fd837493a5ad1f0a0f3"},"required":true,"description":"The key's ID."},{"description":"A friendly name for the new certificate.\n\nThis parameter defaults to the domain name for which you generated the\ncertificate.","required":false,"schema":{"type":"string","example":"TestCert"},"in":"query","name":"friendly_name"}],"operationId":"SSL-generate_csr","x-readonly":false}}}},"show_cert":{"security":[{"BasicAuth":[]}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute"}],"tags":[{"name":"SSL","description":"The SSL module for UAPI."},{"description":"SSL Certificates / SSL Certificate Management","name":"SSL Certificate Management"}],"x-tagGroups":[{"name":"SSL Certificates","tags":["SSL Certificate Management"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}},"paths":{"/SSL/show_cert":{"get":{"tags":["SSL","SSL Certificate Management"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"description":"The version of the API.","example":3,"type":"integer"},"func":{"type":"string","description":"The name of the method called.","example":"show_cert"},"module":{"type":"string","description":"The name of the module called.","example":"SSL"},"result":{"type":"object","properties":{"status":{"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","example":1,"enum":[1,0],"type":"integer"},"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."},"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"metadata":{"properties":{}},"data":{"type":"object","properties":{"text":{"type":"string","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"},"details":{"properties":{"not_before":{"format":"unix_timestamp","type":"integer","description":"The certificate's start time.","example":1569844800},"ecdsa_curve_name":{"type":"string","nullable":true,"description":"The ECDSA curve that the certificate's key uses.\n\n* `prime256v1`\n* `secp384r1`\n* `null` — The certificate's key is **not** an ECDSA key.","enum":["prime256v1","secp384r1"],"example":"prime256v1"},"ecdsa_public":{"example":null,"description":"The certificate's key's ECDSA compressed public point, in hexadecimal format.\n\n* `null` — The certificate's key is **not** an ECDSA key.","nullable":true,"type":"string"},"issuer":{"type":"object","properties":{"emailAddress":{"example":"username@example.com","description":"The issuer's email address.","type":"string","format":"email"},"localityName":{"type":"string","description":"The issuer's locality or city.","example":"Houston"},"stateOrProvinceName":{"type":"string","example":"Texas","description":"The issuer's state or province name."},"organizationName":{"type":"string","example":"Organization","description":"The issuer's organization name."},"commonName":{"type":"string","description":"The issuer's Common Name or Distinguished Name.","example":"example.com"},"countryName":{"type":"string","format":"ISO-3166-1 (alpha-2)","example":"US","description":"The certificate's two-letter country code."}},"description":"A object that contains the issuer's details."},"signature_algorithm":{"example":"sha256WithRSAEncryption","description":"The certificate's OID hash algorithm signature.","type":"string"},"validation_type":{"enum":["ev","ov","dv"],"example":"dv","description":"The certificate's validation type.\n\n* `ev` — Extended Validation.\n* `ov` — Organization Validation.\n* `dv` — Domain Validation.\n* `null` — The system could not parse and determine the\ncertificate's validation type.","nullable":true,"type":"string"},"key_algorithm":{"type":"string","description":"The certificate's key's algorithm.\n\n* `rsaEncryption` — RSA.\n* `id-ecPublicKey` — ECDSA.","enum":["rsaEncryption","id-ecPublicKey"],"example":"rsaEncryption"},"domains":{"description":"A list of the certificate's domains.","items":{"example":"example.com","format":"domain","type":"string"},"type":"array"},"friendly_name":{"description":"The certificate's friendly name.","example":"TestCert","type":"string"},"subject":{"type":"object","properties":{"stateOrProvinceName":{"example":"Texas","description":"The certificate's state or province name.","type":"string"},"countryName":{"format":"ISO-3166-1 (alpha-2)","type":"string","description":"The certificate's two-letter country code.","example":"US"},"emailAddress":{"example":"username@example.com","description":"The certificate's email address.","format":"email","type":"string"},"commonName":{"type":"string","description":"The certificate's Common Name or Distinguished Name.","example":"example.com"},"localityName":{"type":"string","example":"Houston","description":"The certificate's locality or city."},"organizationName":{"example":"Organization","description":"The certificate's organization name.","type":"string"}},"description":"An object containing the certificate's ownership details."},"not_after":{"description":"The certificate's expiration date.","example":1601467200,"type":"integer","format":"unix_timestamp"},"modulus":{"description":"The certificate's key's modulus, in hexadecimal format.\n\n* `null` — The certificate's key is **not** an RSA key.","example":"a673c3b17344664b35f8791f562d3aea6bf4d8faa3ae3fc0a519380fd453964a36677c34d48677ecb7f5ed035df026f5f0f8fbfe21745e52daf1f3b9e58c73f0baefdb709320e2202e7d05250b051a59b30ff1fef22d83d7140c1c81cea314a0890ce8d2226799872181c58a74016c7aaa2cff5ac72b575cecde8f304aa572a2ea03d8b173ab76c6e8cdb9dfd0da81e1119cefd4b8b4dbfbe0e46c7f1ee2fe8b5fd5504e58ccbc0d13b4fa41ecc9ebd0dabe1d1fec5c724f748167e7c0553e997f9b77eb36abce70973f06df151748d41b758de3efd7afa6f2464a1547f5ff158469d96e248be464df9eda0e7ce854a89332a2c1278b17c425368a9604f454db","type":"string","nullable":true},"id":{"description":"The certificate's ID.","example":"example_com_c69ce_37ff5_1397169490_169c717cb2c260281df792788accf041","type":"string"},"is_self_signed":{"type":"integer","description":"Whether the certificate is self-signed.\n\n* `1` — Self-signed.\n* `0` — Not self-signed.","enum":[1,0],"example":1}},"type":"object","description":"An object containing the certificate's details."},"cert":{"example":"-----BEGIN CERTIFICATE-----MIIDcTCCAlmgAwIBAgIFAU+BNVgwDQYJKoZIhvcNAQEFBQAwUTESMBAGA1UEAwwJc2lza28udGxkMQswCQYDVQQGEwJVUzEPMA0GA1UECgwGY1BhbmVsMQswCQYDVQQIDAJUWDEQMA4GA1UEBwwHSG91c3RvbjAeFw0xNDEwMDYyMjI2MTlaFw0xNTEwMDYyMjI2MTlaMFExEjAQBgNVBAMMCXNpc2tvLnRsZDELMAkGA1UEBhMCVVMxDzANBgNVBAoMBmNQYW5lbDELMAkGA1UECAwCVFgxEDAOBgNVBAcMB0hvdXN0b24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC9zx6zGiHdmWA0dKtoXmJiWXpZ9E3PXx3YHsjFEWW7e5pH0vZ+jVMzDmm5nsJ7RXrAkZO1IvpIpVLvoQfiJOWVvkD+o9fWvoK1tWJS72FSgPju+58mA2ieBuc87A790Pzuv1P3NR3zFLAjUR99zkHR1fpri/daM3PBWO8ET48FWkyU1kOeZaUlF67/+wrEiNgg+t1qhKOCAB61PdNVkLaSGHimksuC+Czk8Kq9nuS0E0TCnDtjjEyJ455FUcaCfczlTb8xkB/F9ORe74yTzD+vlk0tFMG6PLj/ajIwWqwO0qmQ8wX3NRxkWgGz5kVO1wrVJarKQ5EYQ3/mgvit0v6dAgMBAAGj\\UDBOMB0GA1UdDgQWBBRw+wKBo34+bgexjAa3EMDsgSCd7zAfBgNVHSMEGDAWgBRw+wKBo34+bgexjAa3EMDsgSCd7zAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUAA4IBAQCHRXIs53opzKM2rM8Qe8lcw524WK6hqy2EWrZHp78N7rU7/6DQ/I3hv3WhcDDIO04I2/Xhe88MLBaLoM367Ya+vy7CaLr14aLi/SfQszMA0ALBvMao+Fis0iVwFYq/NLgSXw+fgnpFskt8v8iQZ+4Kaal8U8e9sVgu8m0RgO7rzym1eRiIKpsKd1rh/SD7LbSN7M7TRL3QqF7ltw9sQhAAsQcRaBBF21pdWrqhiGZ+Eioo3hhgwNavH2agqz78ddHwrFpHFwrEeUk1OfpPb76MYIce7xIy/4oQNdg6fOq4l/FrajBv+WkzDVPaKm6r7YmwfLN/YMZBHXSR58oOGP9W-----END CERTIFICATE-----","description":"The contents of the certificate.","format":"pem-certificate","type":"string"}}},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null}}}}}}}}},"operationId":"SSL-show_cert","x-readonly":false,"x-cpanel-api-version":"UAPI","summary":"Export SSL certificate","x-cpanel-available-version":"cPanel 11.42","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  SSL \\\n  show_cert\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/SSL/show_cert","label":"URL","lang":"HTTP"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file SSL_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/<theme_name>/\n#    to .../frontend/<theme_name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file SSL_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/<theme_name>/\n//    to .../frontend/<theme_name>/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"parameters":[{"in":"query","name":"id","schema":{"example":"example_com_c69ce_37ff5_1397169490_169c717cb2c260281df792788accf041","type":"string"},"description":"The certificate's ID.","required":false},{"schema":{"type":"string","example":"TestCert"},"description":"The certificate's friendly name.","required":false,"in":"query","name":"friendly_name"}],"description":"This function retrieves a certificate.\n\n**Note:**\n\nWhen you call this parameter, you **must** include either the `id` or\nthe `friendly_name` parameter.\n\n**Important:**\n\nWhen you disable the Calendars and Contacts, Receive Mail, Web Disk,\nWebmail, **and** Web Server [roles](https://go.cpanel.net/howtouseserverprofiles#roles),\nthe system **disables** this function.","x-rollback":"none"}}}},"show_key":{"x-tagGroups":[{"tags":["SSL Certificate Management"],"name":"SSL Certificates"}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"tags":[{"name":"SSL","description":"The SSL module for UAPI."},{"name":"SSL Certificate Management","description":"SSL Certificates / SSL Certificate Management"}],"servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"description":"A server running cPanel."}],"openapi":"3.0.2","security":[{"BasicAuth":[]}],"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/"},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/SSL/show_key":{"get":{"x-readonly":false,"operationId":"SSL-show_key","tags":["SSL","SSL Certificate Management"],"parameters":[{"required":false,"description":"The key's ID.\n\n**Note:**\n\nYou **must** use either the `id` or the `friendly_name` parameter.","schema":{"example":"example_com_c69ce_37ff5_1397169490_169c717cb2c260281df792788accf041","type":"string"},"name":"id","in":"query"},{"name":"friendly_name","in":"query","schema":{"type":"string","example":"TestKey"},"required":false,"description":"The key's friendly name.\n\n**Note:**\n\nYou **must** use either the `id` or the `friendly_name` parameter."}],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"result":{"type":"object","properties":{"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null},"warnings":{"nullable":true,"type":"array","example":null,"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"}},"data":{"properties":{"details":{"properties":{"friendly_name":{"type":"string","example":"TestKey","description":"The key's friendly name."},"key":{"example":"-----BEGIN RSA PRIVATE KEY-----\nMIIJJwIBAAKCAgEA4yilqsoCdEpiNOyLcPJ4FLT7vgwaLdOBeJLTMUeV2uZM4v65\n/tiZe7H0soDp1C55SCr3uEIEa7Lq7RUZ+F5p67BgRR19rmerKGxfN7N5Vu97pfTw\nW1f+lVsxUF/56lVeoAmm4okU98xJHiGGlI8ZHGJbUMYfLPy0OrA+gNwMHqMVOv1B\nSgpbEWCILMvnvtp0rwPutjnPVX2Dj40ia40L4Wqvp+0Yg7mZyhIOl+q6VZVIdXZs\nlR4ZywfRBYt3ieFBDYMyNw9wN3Xy44fCpHc77+ho84W3BqrGaWSSDyf6UkZGD5mf\nohGf2JSp+c8J6H7hsxo7pta3K1diVXFOSfnaA+k56zW445XruwYs/SN/zvGetGi6\nuqhMAcVRQcYCmLCixcC6RkcUx3exxgR4q3gthDnFvWC4+NuTh8/K0BcxcuCEhRug\n/MfVfO3+f7RJFSJPFb9m9Lf4HHBSVkDP5WtG4XiBKCe++9Wuvxbd4QxS7YrnSopN\nKxkuHKswH8ONpADMYDqfLODMhNrslHNHu95Nv7AlQr8weLqMGWMp7GFqzXcl39Rn\nVkF4Bxd3bAAsMN8/JvanMKCPjTTDrfzVFZcmHXPYOljYDdY1xfIstYVtbyFkUHZP\n2RPPBaPUAt90lzrKGVF8a2vdIKRiey5SZ5qu9c/mGri3oz7Lkk7qkNPAqDMCAwEA\nAQKCAgA3f9raG3j2CKZt381Bzzvfc0h+al6LC736Q4Ut6RuH2/S1ER9IUItPWW87\nnZuDp8ciBr13W0nRNmmHezxZHlgqqXEb8dSfI90Bh1jMNyFSSDihl3KSHrGotBsc\nVBavViREXZdUicGBuXuxtkYno96yvKUq2v0K9MLkA+OBgEHFynqJaw7klBsj573d\nlAQO8TjI+eD8zKsHbB8Ul5rtRAy/Cl3YXWk75cDZSggevc7A0jRd3o0w8aXDoSlE\nfYq7OTm3n3JJWZBFPKAXTzgTDr6qItJhjS4IxXsq7RNyeIYES/8aGKKT6lJvjALr\ncdYt47IpHCOu447lG/h+f6xtDophLGZoAirO7lJFRVfLJh76sLF12bpXJKbbmMN+\naut0nM+MLEw8A5K9OV24jJ/3+afj//5789asIyvNaQFPOX23SdLX0QbA5QWvJt2t\nWvvpS3ubcIJaBEMTK8asEBC68eUW0BBKJaSiYNzecUFYCBjQlxKsIrYuWZoW6fMy\nRel+cnqMdiH7r2p6RmgF5c9myDwq3E47jE+VrOy8uhw7EMQvT8+YSKaIbgtFZcUS\nU02BDRB7gWNa842m6nGs5tj5xFNQ6Wt410vilTwL+6zCQqJaKmcdE3woiIgSdrw5\nMssAHHjqo7QJthZfbpUAUTc6jGPNO13U1ediIRAGdQW5ALqTwQKCAQEA884bmFFZ\nLTewHIv1PJFfNxVZfk3C7LhWE2JcI/5P/YrN4ZA8G08OYhgxqa5XnsHHQPwMM85i\n1HeOoPwqgTMIyLDX/Sf88+eW3ef4V2M1Y4op0ahWFEwbwXKGxOhncElObN7dfZUw\nVlxCReaiw2XQAGRqtQC0f+9dZysqPJr+Rz6poTiOtm7DcpW/WiGfBPvVhzBENyqo\nuL9V3vCWYPJSLtCexECoGoPSpHKgUkwbh3+ra8SfG6FOIBj4PpMB82R7oPDjIyXF\n1VDfb0EwYQlKxyZoP9+NPT2MhZv/hF/Mbm/5LolVHx92hO9q6yxS6nvaFmEPr9fY\n1EOTWzzPOA+VyQKCAQEA7oVioaTqxENt+wHITZq100iYUpm4X1N1eENTp97QyQbQ\nOVR/t8iGLUdvOZdIxBSTS3JFQ8TNcGDPPc+o319QGdZABNnKwFGY3Ss+5QgVeX6n\n0WKdxCRelUOUB174aBeXcJCKplh6xBUrLfSZxvZQQb7fv0Mb+2eKUBKTymvES1kp\nYdn1T0vCCHA3bVpaHuqliCoDSX3RmQICZlfSgCGBbAkmU8RuxDd9yR9l7O9MXUmL\nsqlsw6hvbUt+7Y13YlDtyX8gbCwEEYsoALOotY1xNfXnyZKTAXhrg+xsQLrURYZU\noZiCJyK/mHCWRTPVkt89wq4IexbJ9hqlRjzpmlr8GwKCAQBxRSCs855q06SOnreh\nHCkQfmrFs3sMX9gdyWTllBG1yfc9BLXoOiKEkJkCLG2o5H6eQnuo1go0jBdH0+Ar\nhnpeQ0sV4q4y4zXEgzFt6Dm1tUsYjQzxASskBQF4GkF0eZpmGmTtI5MBjHt93llg\nTr0EcaLh1SIHDj5m4DcPUTMyBnro3E3xlCRZ6Biu10/6EMZzuIj42Gjq7HoIyd4T\nzIFCHsqkgyWWrAgBPwAdPB7OJRKPTxpcy+RwJSmwaLxPSC/n5gKhIbt4D8q+9Zp0\nesyzGbT1d/c2rJHMwV1FMvzXkk5CwKs7enKl8FXMTRt4tXHtU8rl93JVq8+aY/Yi\nJZuBAoIBAERG2lz7IFjeFHVtpTDRwIqilTfP2P8wnMe4PhInrgxdbu16SrUJKZ98\ne1I5BBNc8G0AYONtSoGItMo0z1phpkQ/GERLM8aplOB6qJ5XGg6VOuStHgwvfQOt\nPIp/nQvu9OK7/XRwj3Phu2KESiCyEXdAdDwDsdbdZLJXHwcqoh4Pf9EK2zW/seNI\nfBVJb9K5yHiZzicTZRQvhxBUw2T6MloCpH4GFM8GM3OHEV4pgeqSSvLxnLjFVmAq\n5EKL5Ei4cdjkExvj3aZH90N8KicOPgH8SkVhN8OL/Prein5c/LaKJV+8kEUzpTS1\nxc45cEGCteMsfjD97QINzpG0jgopUVECggEADIaKsx8NUQT3hm0wHRanEFJnQH5H\nzxaQjWbsjm2uz0KROPNIK1X5L8kypsb+EzlJtvWUqxPaOaTv4DZVpFaVzk8/2PPG\nsYR3mUjqMqNFYMrNwYZAXvJ/huzDPqq6+w2Pn9jcAifHNw3S8UR650v8gl7BU4fV\nBvhamG8JelvwLqeGWoikST9NBXVqG5IKBpUkUiFOMUNmRih9ooKvhy7GosoK8MWb\nmhWo1v8TTSXSagACUhAoIzb6mMN/VFC5WDbFx5AEB/G9tq/zmTqQkuo39dvgl30w\nyZGRNwc1aFf1Kxeven10/JN9ipp0mTa7NYSdn0RAe9ZRp5cCkgmktqmB0g==\n-----END RSA PRIVATE KEY-----","description":"The key's contents.","format":"pem-private-key","type":"string"},"ecdsa_curve_name":{"enum":["prime256v1","secp384r1"],"example":"prime256v1","description":"The ECDSA curve that the key uses.\n\n* `prime256v1`\n* `secp384r1`\n* `null` — The key is **not** an ECDSA key.","nullable":true,"type":"string"},"id":{"type":"string","description":"The key's ID.","example":"example_com_c69ce_37ff5_1397169490_169c717cb2c260281df792788accf041"},"ecdsa_public":{"example":null,"description":"The key's ECDSA compressed public point, in hexadecimal format.\n\n* `null` — The key is **not** an ECDSA key.","nullable":true,"type":"string"},"modulus":{"description":"The key's modulus, in hexadecimal format.\n\n* `null` — The key is **not** an RSA key.","example":"a673c3b17344664b35f8791f562d3aea6bf4d8faa3ae3fc0a519380fd453964a36677c34d48677ecb7f5ed035df026f5f0f8fbfe21745e52daf1f3b9e58c73f0baefdb709320e2202e7d05250b051a59b30ff1fef22d83d7140c1c81cea314a0890ce8d2226799872181c58a74016c7aaa2cff5ac72b575cecde8f304aa572a2ea03d8b173ab76c6e8cdb9dfd0da81e1119cefd4b8b4dbfbe0e46c7f1ee2fe8b5fd5504e58ccbc0d13b4fa41ecc9ebd0dabe1d1fec5c724f748167e7c0553e997f9b77eb36abce70973f06df151748d41b758de3efd7afa6f2464a1547f5ff158469d96e248be464df9eda0e7ce854a89332a2c1278b17c425368a9604f454db","type":"string","nullable":true},"created":{"description":"The key's creation date.","example":1365633415,"format":"unix_timestamp","type":"integer"},"modulus_length":{"description":"The length, in bits, of the key's modulus.\n\n* `null` — The key is **not** an RSA key.","example":2048,"type":"integer","nullable":true},"key_algorithm":{"type":"string","description":"The key's algorithm.\n\n* `rsaEncryption` — RSA.\n* `id-ecPublicKey` — ECDSA.","enum":["rsaEncryption","id-ecPublicKey"],"example":"rsaEncryption"}},"type":"object","description":"An object of the key's details."},"text":{"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","description":"The raw information from the [OpenSSL](https://www.openssl.org/) command-line tool.","type":"string"}},"type":"object"},"metadata":{"properties":{}},"status":{"example":1,"enum":[1,0],"description":"- 1 - Success.\n- 0 - Failed. Check the `errors` field for more details.","type":"integer"}}},"module":{"type":"string","example":"SSL","description":"The name of the module called."},"func":{"description":"The name of the method called.","example":"show_key","type":"string"},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}},"type":"object"}}}}},"x-rollback":"none","x-cpanel-api-version":"UAPI","x-cpanel-available-version":"cPanel 11.42","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  SSL \\\n  show_key\n","lang":"Shell","label":"CLI"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/SSL/show_key"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file SSL_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/<theme_name>/\n#    to .../frontend/<theme_name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file SSL_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/<theme_name>/\n//    to .../frontend/<theme_name>/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"summary":"Export private key","description":"This function retrieves a private key.\n\n**Important:**\n\nWhen you disable the Calendars and Contacts, Receive Mail, Web Disk, Webmail, **and** Web Server [roles](https://go.cpanel.net/serverroles), the system **disables** this function."}}}},"list_ssl_items":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"security":[{"BasicAuth":[]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"x-tagGroups":[{"name":"SSL Certificates","tags":["cPanel Account SSL Management"]}],"servers":[{"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."}},"description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"description":"The SSL module for UAPI.","name":"SSL"},{"name":"cPanel Account SSL Management","description":"SSL Certificates / cPanel Account SSL Management"}],"paths":{"/SSL/list_ssl_items":{"get":{"parameters":[{"name":"domains","in":"query","schema":{"type":"string"},"required":false,"description":"The domain name or names.","examples":{"multiple":{"value":"domains=example1.com|example2.com","summary":"Multiple domains."},"single":{"summary":"A single domain.","value":"example.com"}}},{"schema":{"type":"string","default":"key"},"examples":{"multiple":{"value":"item=key|csr","summary":"Multiple item types."},"single":{"value":"key","summary":"A single item type."}},"description":"The SSL item type or types.\n* `key`\n* `csr`\n* `crt`","required":false,"in":"query","name":"item"}],"description":"This function lists SSL-related items on a domain.\n\n**Important:**\n\nWhen 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.","x-rollback":"none","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"func":{"type":"string","description":"The name of the method called.","example":"list_ssl_items"},"result":{"type":"object","properties":{"errors":{"example":null,"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"},"example":null,"type":"array","nullable":true},"data":{"items":{"type":"object","properties":{"host":{"format":"domain","type":"string","description":"The hostname.","example":"example.com"},"type":{"example":"key","enum":["key","csr","crt"],"description":"The type of SSL item.\n* `key`\n* `csr`\n* `crt`","type":"string"},"id":{"example":"example_com_a74f7_9dddf_1446659822_eae1ff43c4ec1991e195877c55755eff","description":"The certificate's ID.","type":"string"}}},"type":"array"},"warnings":{"example":null,"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"},"metadata":{"properties":{"transformed":{"description":"Post-processing may have transformed the data.","enum":[1],"example":1,"type":"integer"}}},"status":{"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","example":1,"enum":[0,1],"type":"integer"}}},"module":{"type":"string","example":"SSL","description":"The name of the module called."}},"type":"object"}}},"description":"HTTP Request was successful."}},"tags":["SSL","cPanel Account SSL Management"],"operationId":"SSL-list_ssl_items","x-readonly":true,"x-cpanel-api-version":"UAPI","x-cpanel-available-version":"cPanel 11.42","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  SSL \\\n  list_ssl_items\n","label":"CLI","lang":"Shell"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/SSL/list_ssl_items"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file SSL_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/<theme_name>/\n#    to .../frontend/<theme_name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file SSL_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/<theme_name>/\n//    to .../frontend/<theme_name>/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\nheader('Content-Type: text/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}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Return SSL-related items"}}}},"get_cabundle":{"paths":{"/SSL/get_cabundle":{"get":{"x-cpanel-api-version":"UAPI","description":"This function retrieves a certificate's Certificate Authority (CA) bundle and hostname.\n\n**Important:**\n\nWhen you disable the Calendars and Contacts, Receive Mail, Web Disk, Webmail, and Web Server [roles](https://go.cpanel.net/serverroles), the system **disables** this function.","x-cpanel-available-version":"cPanel 11.42","x-codeSamples":[{"source":"uapi --output=jsonpretty --user=username SSL get_cabundle cert='-----BEGIN CERTIFICATE-----\\r\\nMIIDcTCCAlmgAwIBAgIFAU+BNVgwDQYJKoZIhvcNAQEFBQAwUTESMBAGA1UEAwwJ\\r\\nc2lza28udGxkMQswCQYDVQQGEwJVUzEPMA0GA1UECgwGY1BhbmVsMQswCQYDVQQI\\r\\nDAJUWDEQMA4GA1UEBwwHSG91c3RvbjAeFw0xNDEwMDYyMjI2MTlaFw0xNTEwMDYy\\r\\nMjI2MTlaMFExEjAQBgNVBAMMCXNpc2tvLnRsZDELMAkGA1UEBhMCVVMxDzANBgNV\\r\\nBAoMBmNQYW5lbDELMAkGA1UECAwCVFgxEDAOBgNVBAcMB0hvdXN0b24wggEiMA0G\\r\\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC9zx6zGiHdmWA0dKtoXmJiWXpZ9E3P\\r\\nXx3YHsjFEWW7e5pH0vZ+jVMzDmm5nsJ7RXrAkZO1IvpIpVLvoQfiJOWVvkD+o9fW\\r\\nvoK1tWJS72FSgPju+58mA2ieBuc87A790Pzuv1P3NR3zFLAjUR99zkHR1fpri/da\\r\\nM3PBWO8ET48FWkyU1kOeZaUlF67/+wrEiNgg+t1qhKOCAB61PdNVkLaSGHimksuC\\r\\n+Czk8Kq9nuS0E0TCnDtjjEyJ455FUcaCfczlTb8xkB/F9ORe74yTzD+vlk0tFMG6\\r\\nPLj/ajIwWqwO0qmQ8wX3NRxkWgGz5kVO1wrVJarKQ5EYQ3/mgvit0v6dAgMBAAGj\\r\\nUDBOMB0GA1UdDgQWBBRw+wKBo34+bgexjAa3EMDsgSCd7zAfBgNVHSMEGDAWgBRw\\r\\n+wKBo34+bgexjAa3EMDsgSCd7zAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUA\\r\\nA4IBAQCHRXIs53opzKM2rM8Qe8lcw524WK6hqy2EWrZHp78N7rU7/6DQ/I3hv3Wh\\r\\ncDDIO04I2/Xhe88MLBaLoM367Ya+vy7CaLr14aLi/SfQszMA0ALBvMao+Fis0iVw\\r\\nFYq/NLgSXw+fgnpFskt8v8iQZ+4Kaal8U8e9sVgu8m0RgO7rzym1eRiIKpsKd1rh\\r\\n/SD7LbSN7M7TRL3QqF7ltw9sQhAAsQcRaBBF21pdWrqhiGZ+Eioo3hhgwNavH2ag\\r\\nqz78ddHwrFpHFwrEeUk1OfpPb76MYIce7xIy/4oQNdg6fOq4l/FrajBv+WkzDVPa\\r\\nKm6r7YmwfLN/YMZBHXSR58oOGP9W\\r\\n-----END CERTIFICATE-----'","lang":"Shell","label":"CLI"},{"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-----"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file SSL_get_cabundle.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/SSL_get_cabundle.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\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_cabundle/,\n    {\n        'cert' => '-----BEGIN CERTIFICATE-----\\r\\nMIIDcTCCAlmgAwIBAgIFAU+BNVgwDQYJKoZIhvcNAQEFBQAwUTESMBAGA1UEAwwJ\\r\\nc2lza28udGxkMQswCQYDVQQGEwJVUzEPMA0GA1UECgwGY1BhbmVsMQswCQYDVQQI\\r\\nDAJUWDEQMA4GA1UEBwwHSG91c3RvbjAeFw0xNDEwMDYyMjI2MTlaFw0xNTEwMDYy\\r\\nMjI2MTlaMFExEjAQBgNVBAMMCXNpc2tvLnRsZDELMAkGA1UEBhMCVVMxDzANBgNV\\r\\nBAoMBmNQYW5lbDELMAkGA1UECAwCVFgxEDAOBgNVBAcMB0hvdXN0b24wggEiMA0G\\r\\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC9zx6zGiHdmWA0dKtoXmJiWXpZ9E3P\\r\\nXx3YHsjFEWW7e5pH0vZ+jVMzDmm5nsJ7RXrAkZO1IvpIpVLvoQfiJOWVvkD+o9fW\\r\\nvoK1tWJS72FSgPju+58mA2ieBuc87A790Pzuv1P3NR3zFLAjUR99zkHR1fpri/da\\r\\nM3PBWO8ET48FWkyU1kOeZaUlF67/+wrEiNgg+t1qhKOCAB61PdNVkLaSGHimksuC\\r\\n+Czk8Kq9nuS0E0TCnDtjjEyJ455FUcaCfczlTb8xkB/F9ORe74yTzD+vlk0tFMG6\\r\\nPLj/ajIwWqwO0qmQ8wX3NRxkWgGz5kVO1wrVJarKQ5EYQ3/mgvit0v6dAgMBAAGj\\r\\nUDBOMB0GA1UdDgQWBBRw+wKBo34+bgexjAa3EMDsgSCd7zAfBgNVHSMEGDAWgBRw\\r\\n+wKBo34+bgexjAa3EMDsgSCd7zAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUA\\r\\nA4IBAQCHRXIs53opzKM2rM8Qe8lcw524WK6hqy2EWrZHp78N7rU7/6DQ/I3hv3Wh\\r\\ncDDIO04I2/Xhe88MLBaLoM367Ya+vy7CaLr14aLi/SfQszMA0ALBvMao+Fis0iVw\\r\\nFYq/NLgSXw+fgnpFskt8v8iQZ+4Kaal8U8e9sVgu8m0RgO7rzym1eRiIKpsKd1rh\\r\\n/SD7LbSN7M7TRL3QqF7ltw9sQhAAsQcRaBBF21pdWrqhiGZ+Eioo3hhgwNavH2ag\\r\\nqz78ddHwrFpHFwrEeUk1OfpPb76MYIce7xIy/4oQNdg6fOq4l/FrajBv+WkzDVPa\\r\\nKm6r7YmwfLN/YMZBHXSR58oOGP9W\\r\\n-----END CERTIFICATE-----',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file SSL_get_cabundle.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/SSL_get_cabundle.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/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_cabundle',\n    array (\n        'cert' => '-----BEGIN CERTIFICATE-----\\r\\nMIIDcTCCAlmgAwIBAgIFAU+BNVgwDQYJKoZIhvcNAQEFBQAwUTESMBAGA1UEAwwJ\\r\\nc2lza28udGxkMQswCQYDVQQGEwJVUzEPMA0GA1UECgwGY1BhbmVsMQswCQYDVQQI\\r\\nDAJUWDEQMA4GA1UEBwwHSG91c3RvbjAeFw0xNDEwMDYyMjI2MTlaFw0xNTEwMDYy\\r\\nMjI2MTlaMFExEjAQBgNVBAMMCXNpc2tvLnRsZDELMAkGA1UEBhMCVVMxDzANBgNV\\r\\nBAoMBmNQYW5lbDELMAkGA1UECAwCVFgxEDAOBgNVBAcMB0hvdXN0b24wggEiMA0G\\r\\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC9zx6zGiHdmWA0dKtoXmJiWXpZ9E3P\\r\\nXx3YHsjFEWW7e5pH0vZ+jVMzDmm5nsJ7RXrAkZO1IvpIpVLvoQfiJOWVvkD+o9fW\\r\\nvoK1tWJS72FSgPju+58mA2ieBuc87A790Pzuv1P3NR3zFLAjUR99zkHR1fpri/da\\r\\nM3PBWO8ET48FWkyU1kOeZaUlF67/+wrEiNgg+t1qhKOCAB61PdNVkLaSGHimksuC\\r\\n+Czk8Kq9nuS0E0TCnDtjjEyJ455FUcaCfczlTb8xkB/F9ORe74yTzD+vlk0tFMG6\\r\\nPLj/ajIwWqwO0qmQ8wX3NRxkWgGz5kVO1wrVJarKQ5EYQ3/mgvit0v6dAgMBAAGj\\r\\nUDBOMB0GA1UdDgQWBBRw+wKBo34+bgexjAa3EMDsgSCd7zAfBgNVHSMEGDAWgBRw\\r\\n+wKBo34+bgexjAa3EMDsgSCd7zAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUA\\r\\nA4IBAQCHRXIs53opzKM2rM8Qe8lcw524WK6hqy2EWrZHp78N7rU7/6DQ/I3hv3Wh\\r\\ncDDIO04I2/Xhe88MLBaLoM367Ya+vy7CaLr14aLi/SfQszMA0ALBvMao+Fis0iVw\\r\\nFYq/NLgSXw+fgnpFskt8v8iQZ+4Kaal8U8e9sVgu8m0RgO7rzym1eRiIKpsKd1rh\\r\\n/SD7LbSN7M7TRL3QqF7ltw9sQhAAsQcRaBBF21pdWrqhiGZ+Eioo3hhgwNavH2ag\\r\\nqz78ddHwrFpHFwrEeUk1OfpPb76MYIce7xIy/4oQNdg6fOq4l/FrajBv+WkzDVPa\\r\\nKm6r7YmwfLN/YMZBHXSR58oOGP9W\\r\\n-----END CERTIFICATE-----',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"summary":"Return certificate's CA bundle and hostname","x-readonly":true,"operationId":"SSL-get_cabundle","parameters":[{"description":"The certificate's text.","required":true,"schema":{"type":"string","format":"pem-certificate","example":"-----BEGIN CERTIFICATE-----\\r\\nMIIDcTCCAlmgAwIBAgIFAU+BNVgwDQYJKoZIhvcNAQEFBQAwUTESMBAGA1UEAwwJ\\r\\nc2lza28udGxkMQswCQYDVQQGEwJVUzEPMA0GA1UECgwGY1BhbmVsMQswCQYDVQQI\\r\\nDAJUWDEQMA4GA1UEBwwHSG91c3RvbjAeFw0xNDEwMDYyMjI2MTlaFw0xNTEwMDYy\\r\\nMjI2MTlaMFExEjAQBgNVBAMMCXNpc2tvLnRsZDELMAkGA1UEBhMCVVMxDzANBgNV\\r\\nBAoMBmNQYW5lbDELMAkGA1UECAwCVFgxEDAOBgNVBAcMB0hvdXN0b24wggEiMA0G\\r\\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC9zx6zGiHdmWA0dKtoXmJiWXpZ9E3P\\r\\nXx3YHsjFEWW7e5pH0vZ+jVMzDmm5nsJ7RXrAkZO1IvpIpVLvoQfiJOWVvkD+o9fW\\r\\nvoK1tWJS72FSgPju+58mA2ieBuc87A790Pzuv1P3NR3zFLAjUR99zkHR1fpri/da\\r\\nM3PBWO8ET48FWkyU1kOeZaUlF67/+wrEiNgg+t1qhKOCAB61PdNVkLaSGHimksuC\\r\\n+Czk8Kq9nuS0E0TCnDtjjEyJ455FUcaCfczlTb8xkB/F9ORe74yTzD+vlk0tFMG6\\r\\nPLj/ajIwWqwO0qmQ8wX3NRxkWgGz5kVO1wrVJarKQ5EYQ3/mgvit0v6dAgMBAAGj\\r\\nUDBOMB0GA1UdDgQWBBRw+wKBo34+bgexjAa3EMDsgSCd7zAfBgNVHSMEGDAWgBRw\\r\\n+wKBo34+bgexjAa3EMDsgSCd7zAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUA\\r\\nA4IBAQCHRXIs53opzKM2rM8Qe8lcw524WK6hqy2EWrZHp78N7rU7/6DQ/I3hv3Wh\\r\\ncDDIO04I2/Xhe88MLBaLoM367Ya+vy7CaLr14aLi/SfQszMA0ALBvMao+Fis0iVw\\r\\nFYq/NLgSXw+fgnpFskt8v8iQZ+4Kaal8U8e9sVgu8m0RgO7rzym1eRiIKpsKd1rh\\r\\n/SD7LbSN7M7TRL3QqF7ltw9sQhAAsQcRaBBF21pdWrqhiGZ+Eioo3hhgwNavH2ag\\r\\nqz78ddHwrFpHFwrEeUk1OfpPb76MYIce7xIy/4oQNdg6fOq4l/FrajBv+WkzDVPa\\r\\nKm6r7YmwfLN/YMZBHXSR58oOGP9W\\r\\n-----END CERTIFICATE-----"},"name":"cert","in":"query"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"func":{"type":"string","example":"get_cabundle","description":"The name of the method called."},"module":{"description":"The name of the module called.","example":"SSL","type":"string"},"result":{"properties":{"status":{"enum":[0,1],"example":1,"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","type":"integer"},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}},"errors":{"example":null,"items":{"type":"string"},"description":"List of errors if the API failed.","nullable":true,"type":"array"},"metadata":{"properties":{}},"warnings":{"nullable":true,"type":"array","example":null,"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"}},"data":{"type":"object","properties":{"bundle":{"type":"string","description":"The CA bundle's tag.","example":"VeriSign Trial Secure Server CA - G2"},"cab":{"type":"string","format":"pem-certificate","description":"The CA bundle's contents.","example":"-----BEGIN CERTIFICATE----- MIIB+jCCAWMCAgGjMA0GCSqGSIb3DQEBBAUAMEUxCzAJBgNVBAYTAlVTMRgwFgYD VQQKEw9HVEUgQ29ycG9yYXRpb24xHDAaBgNVBAMTE0dURSBDeWJlclRydXN0IFJv b3QwHhcNOTYwMjIzMjMwMTAwWhcNMDYwMjIzMjM1OTAwWjBFMQswCQYDVQQGEwJV UzEYMBYGA1UEChMPR1RFIENvcnBvcmF0aW9uMRwwGgYDVQQDExNHVEUgQ3liZXJU cnVzdCBSb290MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC45k+625h8cXyv RLfTD0bZZOWTwUKOx7pJjTUteueLveUFMVnGsS8KDPufpz+iCWaEVh43KRuH6X4M ypqfpX/1FZSj1aJGgthoTNE3FQZor734sLPwKfWVWgkWYXcKIiXUT0Wqx73llt/5 1KiOQswkwB6RJ0q1bQaAYznEol44AwIDAQABMA0GCSqGSIb3DQEBBAUAA4GBABKz dcZfHeFhVYAA1IFLezEPI2PnPfMD+fQ2qLvZ46WXTeorKeDWanOB5sCJo9Px4KWl IjeaY8JIILTbcuPI9tl8vrGvU9oUtCG41tWW4/5ODFlitppK+ULdjG+BqXH/9Apy bW1EDp3zdHSo1TRJ6V6e6bR64eVaH4QwnNOfpSXY -----END CERTIFICATE-----"},"domain":{"type":"string","format":"domain","description":"The certificate's hostname.","example":"example.com"}}}},"type":"object"},"apiversion":{"example":3,"description":"The version of the API.","type":"integer"}}}}},"description":"HTTP Request was successful."}},"tags":["SSL","cPanel Account SSL Management"]}}},"info":{"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"x-tagGroups":[{"tags":["cPanel Account SSL Management"],"name":"SSL Certificates"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"tags":[{"name":"SSL","description":"The SSL module for UAPI."},{"name":"cPanel Account SSL Management","description":"SSL Certificates / cPanel Account SSL Management"}],"servers":[{"variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"openapi":"3.0.2","security":[{"BasicAuth":[]}]},"list_certs":{"security":[{"BasicAuth":[]}],"tags":[{"description":"The SSL module for UAPI.","name":"SSL"},{"description":"SSL Certificates / cPanel Account SSL Management","name":"cPanel Account SSL Management"}],"servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}}}],"openapi":"3.0.2","components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"x-tagGroups":[{"name":"SSL Certificates","tags":["cPanel Account SSL Management"]}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."},"paths":{"/SSL/list_certs":{"get":{"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"func":{"type":"string","description":"The name of the method called.","example":"list_certs"},"result":{"properties":{"warnings":{"example":null,"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"},"data":{"items":{"properties":{"friendly_name":{"example":"TestCert","description":"The certificate's friendly name.","type":"string"},"serial":{"description":"The certificate's serial number.","example":"45462cd0d6537b20cf2f3eb8aec07140","type":"string"},"domain_is_configured":{"type":"integer","example":1,"enum":[1,0],"description":"Whether the certificate is installed on the account.\n\n* `1` — Installed.\n* `0` — Not installed."},"modulus":{"example":"a673c3b17344664b35f8791f562d3aea6bf4d8faa3ae3fc0a519380fd453964a36677c34d48677ecb7f5ed035df026f5f0f8fbfe21745e52daf1f3b9e58c73f0baefdb709320e2202e7d05250b051a59b30ff1fef22d83d7140c1c81cea314a0890ce8d2226799872181c58a74016c7aaa2cff5ac72b575cecde8f304aa572a2ea03d8b173ab76c6e8cdb9dfd0da81e1119cefd4b8b4dbfbe0e46c7f1ee2fe8b5fd5504e58ccbc0d13b4fa41ecc9ebd0dabe1d1fec5c724f748167e7c0553e997f9b77eb36abce70973f06df151748d41b758de3efd7afa6f2464a1547f5ff158469d96e248be464df9eda0e7ce854a89332a2c1278b17c425368a9604f454db","description":"The certificate's key's modulus, in hexadecimal format.\n\n* `null` — The certificate's key is **not** an RSA key.","nullable":true,"type":"string"},"id":{"type":"string","example":"example_com_c69ce_37ff5_1397169490_169c717cb2c260281df792788accf041","description":"The certificate's ID."},"not_after":{"type":"integer","format":"unix_timestamp","description":"The certificate's expiration date.","example":1601467200},"issuer_text":{"type":"string","description":"The certificate's issuer information.","example":"countryName\nUS\nstateOrProvinceName\nTX\nlocalityName\nHouston\norganizationName\nWebPros International, LLC\ncommonName\nWebPros International, LLC Certification Authority"},"created":{"description":"The date the certificate was created.","example":1569884400,"format":"unix_timestamp","type":"integer"},"is_self_signed":{"type":"integer","description":"Whether the certificate is self-signed.\n\n* `1` — Self-signed.\n* `0` — Not self-signed.","enum":[1,0],"example":1},"issuer.commonName":{"type":"string","example":"example.com","description":"The issuer's name."},"not_before":{"format":"unix_timestamp","type":"integer","example":1569844800,"description":"The certificate's start date."},"ecdsa_curve_name":{"description":"The ECDSA curve that the certificate's key uses.\n\n* `prime256v1`\n* `secp384r1`\n* `null` — The certificate's key is **not** an ECDSA key.","enum":["prime256v1","secp384r1"],"example":"prime256v1","type":"string","nullable":true},"subject.commonName":{"type":"string","example":"example.com","description":"The certificate's Common Name (CN)."},"ecdsa_public":{"example":null,"description":"The certificate's key's ECDSA compressed public point, in hexadecimal format.\n\n* `null` — The certificate's key is **not** an ECDSA key.","nullable":true,"type":"string"},"issuer.organizationName":{"description":"The certificate's organization.","example":"Organization","type":"string"},"signature_algorithm":{"type":"string","example":"sha256WithRSAEncryption","description":"The OID hash algorithm signature of the certificate."},"subject_text":{"description":"The certificate's subject text information.","example":"commonName\nwww.example.com","type":"string"},"key_algorithm":{"type":"string","example":"rsaEncryption","enum":["rsaEncryption","id-ecPublicKey"],"description":"The certificate's key's algorithm.\n\n* `rsaEncryption` — RSA.\n* `id-ecPublicKey` — ECDSA."},"validation_type":{"type":"string","nullable":true,"description":"The certificate's validation type.\n\n* `ev` — Extended Validation.\n* `ov` — Organization Validation.\n* `dv` — Domain Validation.\n* `null` — The system could not parse and determine the\ncertificate's validation type.","enum":["ev","ov","dv"],"example":"dv"},"modulus_length":{"example":2048,"description":"The length, in bits, of the certificate's key's modulus.\n\n* `null` — The certificate's key is **not** an RSA key.","nullable":true,"type":"integer"},"domains":{"items":{"example":"example.com","type":"string"},"description":"A list of domains that the certificate covers.","type":"array"}},"type":"object"},"type":"array"},"metadata":{"properties":{"transformed":{"description":"Post-processing may have transformed the data.","enum":[1],"example":1,"type":"integer"}}},"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null},"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"},"status":{"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","example":1,"enum":[1,0],"type":"integer"}},"type":"object"},"module":{"type":"string","example":"SSL","description":"The name of the module called."},"apiversion":{"example":3,"description":"The version of the API.","type":"integer"}}}}}}},"tags":["SSL","cPanel Account SSL Management"],"operationId":"SSL-list_certs","x-readonly":true,"summary":"Return all SSL certificates","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  SSL \\\n  list_certs\n","label":"CLI","lang":"Shell"},{"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# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file SSL_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/<theme_name>/\n#    to .../frontend/<theme_name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file SSL_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/<theme_name>/\n//    to .../frontend/<theme_name>/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}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 11.42","x-cpanel-api-version":"UAPI","parameters":[],"description":"This function lists an account's certificates.\n\n**Important:**\n\nWhen you disable the Calendars and Contacts, Receive Mail, Web Disk, Webmail,\nand Web Server [roles](https://go.cpanel.net/howtouseserverprofiles#roles),\nthe system **disables** this function.","x-rollback":"none"}}}},"start_autossl_check":{"paths":{"/SSL/start_autossl_check":{"get":{"x-readonly":false,"operationId":"SSL-start_autossl_check","parameters":[],"tags":["SSL","Auto-generated SSL Certificates"],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"apiversion":{"type":"integer","description":"The version of the API.","example":3},"func":{"type":"string","description":"The name of the method called.","example":"start_autossl_check"},"module":{"type":"string","description":"The name of the module called.","example":"SSL"},"result":{"properties":{"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null},"errors":{"nullable":true,"type":"array","example":null,"description":"List of errors if the API failed.","items":{"type":"string"}},"metadata":{"properties":{}},"data":{"default":null,"type":"object","nullable":true},"warnings":{"type":"array","nullable":true,"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"},"example":null},"status":{"type":"integer","description":"- 1 - Success.\n- 0 - Failed. Check the `errors` field for more details.","enum":[1,0],"example":1}}}},"type":"object"}}},"description":"HTTP Request was successful."}},"x-rollback":"none","x-cpanel-api-version":"UAPI","description":"This function initiates an [AutoSSL](https://go.cpanel.net/whmdocsManageAutoSSL) check for the user.\n\n**Important:**\n\nWhen you disable the Calendars and Contacts, Receive Mail, Web Disk, Webmail, and  Web Server [roles](https://go.cpanel.net/serverroles), the system **disables** this function.","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  SSL \\\n  start_autossl_check\n","lang":"Shell","label":"CLI"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/SSL/start_autossl_check"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file SSL_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/<theme_name>/\n#    to .../frontend/<theme_name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file SSL_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/<theme_name>/\n//    to .../frontend/<theme_name>/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\nheader('Content-Type: text/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\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 68","summary":"Start AutoSSL for current user"}}},"security":[{"BasicAuth":[]}],"servers":[{"url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"description":"The SSL module for UAPI.","name":"SSL"},{"name":"Auto-generated SSL Certificates","description":"SSL Certificates / Auto-generated SSL Certificates"}],"x-tagGroups":[{"name":"SSL Certificates","tags":["Auto-generated SSL Certificates"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"}}},"get_cn_name":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/"},"security":[{"BasicAuth":[]}],"servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"name":"SSL","description":"The SSL module for UAPI."},{"description":"SSL Certificates / cPanel Account SSL Management","name":"cPanel Account SSL Management"}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"x-tagGroups":[{"name":"SSL Certificates","tags":["cPanel Account SSL Management"]}],"paths":{"/SSL/get_cn_name":{"get":{"x-readonly":true,"operationId":"SSL-get_cn_name","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"module":{"example":"SSL","description":"The name of the module called.","type":"string"},"result":{"properties":{"metadata":{"properties":{}},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"data":{"type":"object","properties":{"is_currently_valid":{"type":"integer","example":0,"enum":[1,0],"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)."},"is_self_signed":{"type":"integer","enum":[1,0],"example":1,"description":"Whether the certificate is self-signed.\n\n* `1` — Self-signed.\n* `0` — Not self-signed.\n\n**Note:**\n\nIf the `cert_match_method` value is `none`, you should ignore this return's value."},"ssldomain_matches_cert":{"description":"Whether an SSL-protected domain matches the certificate.\n\n* `1` — Matches.\n* `0` — Does **not** match.","example":1,"enum":[1,0],"type":"integer"},"is_wild_card":{"type":"integer","description":"Whether the certificate is a wildcard certificate.\n\n* `1` — Wildcard.\n* `0` — Not a wildcard.","example":0,"enum":[1,0]},"cert_match_method":{"description":"The method that the system used to match the certificate with the mail\nservice.\n\n* `none` — No domain matches the certificate.\n* `exact` — The domain exactly matches the certificate.\n* `exact-wildcard` — The domain exactly matches the certificate.\n* `mail-wildcard` — The `mail` subdomain of the domain matches the domain of the wildcard certificate.\n* `www-wildcard` — The `www` subdomain of the domain matches the domain of the wildcard certificate.\n* `hostname-wildcard` — The hostname's domain matches the domain of the wildcard certificate.\n* `hostname` — The hostname matches the domain of the certificate.\n* `localdomain_on_cert-mail-wildcard` — A `mail` subdomain of a domain on the server that matches the certificate.\n* `localdomain_on_cert-www-wildcard` — A `www` subdomain of a domain on the server matches the certificate.\n* `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"},"ssldomain":{"example":"hostname.example.com","description":"The best domain to use to access the service.","format":"domain","type":"string"},"cert_valid_not_after":{"description":"The certificate's expiration date.","example":1394288638,"format":"unix_timestamp","type":"integer"}}},"messages":{"example":null,"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"},"errors":{"example":null,"items":{"type":"string"},"description":"List of errors if the API failed.","nullable":true,"type":"array"},"status":{"type":"integer","description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","example":1,"enum":[1,0]}},"type":"object"},"func":{"type":"string","example":"get_cn_name","description":"The name of the method called."}}}}},"description":"HTTP Request was successful."}},"tags":["SSL","cPanel Account SSL Management"],"parameters":[{"required":true,"description":"A domain name, cPanel username, or email address.","example":"example.com","schema":{"anyOf":[{"type":"string","format":"domain","description":"A valid domain."},{"description":"A valid email address.","type":"string","format":"email"},{"type":"string","format":"username","description":"A valid cPanel username."}]},"name":"domain","in":"query"},{"schema":{"example":"cpanel","enum":["cpanel","imap","pop3","smtp"],"type":"string"},"required":true,"description":"The service's name.\n\n* `cpanel`\n* `imap`\n* `pop3`\n* `smtp`","in":"query","name":"service"},{"required":false,"description":"Whether to append `mail` to the `domain` value to find the best match.\n\nFor example, if you specify the domain `example.com` and call this parameter, the\nfunction only searches the `mail.example.com` service domains.\n\n* `1` — Append `mail` to the `domain` value during the search.\n* `0` — Match on the specified `domain` value **only**.","schema":{"example":0,"enum":[1,0],"default":0,"type":"integer"},"name":"add_mail_subdomain","in":"query"}],"description":"This function retrieves the most secure domain for a service.","x-codeSamples":[{"lang":"Shell","label":"CLI","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"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file SSL_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/<theme_name>/\n#    to .../frontend/<theme_name>/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\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file SSL_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/<theme_name>/\n//    to .../frontend/<theme_name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"summary":"Request best SSL domain for service","x-cpanel-available-version":"cPanel 11.42","x-cpanel-api-version":"UAPI"}}}},"install_ssl":{"security":[{"BasicAuth":[]}],"x-tagGroups":[{"name":"SSL Certificates","tags":["SSL Certificate Management"]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"openapi":"3.0.2","tags":[{"name":"SSL","description":"The SSL module for UAPI."},{"description":"SSL Certificates / SSL Certificate Management","name":"SSL Certificate Management"}],"servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}}}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"}},"paths":{"/SSL/install_ssl":{"get":{"tags":["SSL","SSL Certificate Management"],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"apiversion":{"description":"The version of the API.","example":3,"type":"integer"},"module":{"type":"string","example":"SSL","description":"The name of the module called."},"result":{"properties":{"status":{"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","enum":[0,1],"example":1,"type":"integer"},"metadata":{"properties":{"transformed":{"description":"Post-processing may have transformed the data.","example":1,"enum":[1],"type":"integer"}}},"warnings":{"example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","nullable":true,"type":"array"},"data":{"properties":{"statusmsg":{"description":"The results.","example":"The SSL certificate is now installed onto the domain \"example.com\" using the IP address \"192.168.0.1\".\nThe existing virtual host was updated with the new certificate.\nApache is restarting in the background.\nThe SSL certificate is now installed onto the domain \"example.com\" using the IP address \"192.168.0.1\".\nThe existing virtual host was updated with the new certificate.\nApache is restarting in the background","type":"string"},"cert_id":{"description":"The certificate ID.","example":"example_com_bbe7e_16e2d_1369007999_1d87a0cdb540f5aae607b10e9a1a82fb","type":"string"},"warning_domains":{"type":"array","description":"The domains that the certificate does not cover.","items":{"format":"domain","type":"string","example":"warning.com"}},"user":{"type":"string","format":"username","example":"example","description":"The domain's owner."},"working_domains":{"description":"The domains that the certificate covers.","items":{"type":"string","format":"domain","example":"example.com"},"type":"array"},"key_id":{"example":"bbe7e_16e2d_df7539f280eb1ecf6c1096190e41ada7","description":"The key ID.","type":"string"},"action":{"example":"update","description":"The action that the function used to install the certificate.","type":"string"},"message":{"type":"string","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\".\nThe existing virtual host was updated with the new certificate.\nApache is restarting in the background."},"extra_certificate_domains":{"type":"array","items":{"type":"string","format":"domain","example":"ssl.example.com"},"description":"The domains that require extra certificates for mail and other services."},"ip":{"example":"192.168.0.1","oneOf":[{"format":"ipv4","type":"string"},{"type":"string","format":"ipv6"}],"description":"The domain's IP address."},"domain":{"type":"string","format":"domain","example":"example.com","description":"The domain that the certificate covers."},"html":{"type":"string","example":"The SSL certificate is now installed onto the domain \"example.com\" using the IP address \"192.168.0.1\".\nThe existing virtual host was updated with the new certificate. Apache is restarting in the background.","description":"The results, in HTML format."}},"type":"object"},"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null},"errors":{"example":null,"description":"List of errors if the API failed.","items":{"type":"string"},"nullable":true,"type":"array"}},"type":"object"},"func":{"description":"The name of the method called.","example":"install_ssl","type":"string"}},"type":"object"}}},"description":"HTTP Request was successful."}},"operationId":"SSL-install_ssl","x-readonly":false,"summary":"Install SSL certificate","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-----'"},{"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-----","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file SSL_install_ssl.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/SSL_install_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/install_ssl/,\n    {\n        'domain' => 'example.com',\n        'cert' => '-----BEGIN CERTIFICATE-----\nMIIEEzCCAvugAwIBAgIJALF/jFpw6p1bMA0GCSqGSIb3DQEBBQUAMIGfMRYwFAYD\nVQQDEw10ZXN0c2ltb24uY29tMRYwFAYDVQQLEw1Eb2N1bWVudGF0aW9uMQswCQYD\nVQQGEwJVUzEoMCYGCSqGSIb3DQEJARYZbGF1cmVuY2Uuc2ltb25AY3BhbmVsLm5l\ndDEUMBIGA1UEChMLY1BhbmVsIEluYy4xDjAMBgNVBAgTBVRleGFzMRAwDgYDVQQH\nEwdIb3VzdG9uMB4XDTEzMDUxNzE2MTMwN1oXDTE0MDUxNzE2MTMwN1owgZ8xFjAU\nBgNVBAMTDXRlc3RzaW1vbi5jb20xFjAUBgNVBAsTDURvY3VtZW50YXRpb24xCzAJ\nBgNVBAYTAlVTMSgwJgYJKoZIhvcNAQkBFhlsYXVyZW5jZS5zaW1vbkBjcGFuZWwu\nbmV0MRQwEgYDVQQKEwtjUGFuZWwgSW5jLjEOMAwGA1UECBMFVGV4YXMxEDAOBgNV\nBAcTB0hvdXN0b24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDRO0AP\nN5XtjDqkEyJ6ctfYqUtt9yUXyRuCETFjW6opNLSmZSHeF6L2aZka646lhj02CFyl\nkzsNSxysN66tY+WZcTmvgPisJdQFpFvjroJZgDjYRV0QqokKdRy/5BU0+tHXoYpj\n9JOQlbvEWxiGR3R80sL1ma4AfSE6Gv8M/PULTadan51eHaikXqjOXdPJQKuWP3g9\nFnIuf38WRYwzGrre88qsZrpsMrADX5dotHWgqAf7Tap6xfA4CUAgQo9tldariuVi\nBz+sRJ/Sjgxnhw1HYWGttBuBZFhMpdHpPnTJ7DIFMd/FN5gG/tah30SapWpo35Ux\n3BpJcdUjtazy82K5AgMBAAGjUDBOMB0GA1UdDgQWBBQAlv7/tALOYb7zAXbYG2+9\nAMI3xjAfBgNVHSMEGDAWgBQAlv7/tALOYb7zAXbYG2+9AMI3xjAMBgNVHRMEBTAD\nAQH/MA0GCSqGSIb3DQEBBQUAA4IBAQCxzpe71Hc7Es0dqIN7bhIFYIIgcr6wxM6a\na9d+QG+QPH0x0KAqV8EgUbZysvyxEF0bPxW3ZAr1Is1wk80PMuU3bToFFVbFFIIr\nHRNfKLGvxiMXnZA1c6L4N0lowvXHgZxTTUXtDFLXyrcwrLsvUErEV7rbizuxqfPw\ncaRtXn4uc+t6HYuW7yWesBauCWnJNiKbjN/F+uCTurN3QMAeWf3ZJtsfkAgk8dyq\nR/83a3kDtSPrpt+jX+qdjKEpRtQ5Qpm6XT2gCOQPgnfiUtOCH419pp922P/AAGc+\nZUhYoWcRWKw/y6gI7Ru++9+8+wkadL9EbKMZxhVwD5qVm4ZlWK2a\\r\\n\n-----END CERTIFICATE-----',\n        'key' => '-----BEGIN RSA PRIVATE KEY-----\nMIIEpAIBAAKCAQEA4AVM6J4Qg3DIFWr/eJ5GRmIATYsJIepKbrDy70sq+udcO8R8\nxxak0oMZ/9mUdpjSNK/fLVTuCO0kxTfQ9VUWJllX7ThD6Zh9ZvlC/nf/OEZLm3Zb\nBgu8rbC8E9wuDOkKbJLnINgdhtowIydLK2MJ++q62bFV89jkHWTMcKyyqHENo3h\nc+lkpd9vnp8rZTinaVb7nX26uQqAFZYRo+WU0G/NPsq40QVSMoqPxyEz4qXo0hvu\nIlCXmzFZq/6fCVPEKPLhQgMmpdBkMz4dVOazREfqXdjMD2+QXSNiA1AwWr8l0r4r\ntzlxEYDJIR41yXp0xMl3KoolxMyvLBqZy32niQIDAQABAoIBAQCmbGmhWmPsMeoC\nt1WJFxQgD4goE0U6k+Kt7vjbOt14Pk6v/B2yjaju1wSGpO59WLS4/XrwI2se6IXr\nmba7u3VUEgWXLriNHoLy7/SMNTs+ZEKhAMG36eNe3tVdT7busTag31r6sEMGGwCs\nIwpU+azosk0oylWLEX/m/uHWEs1eaIEWWWtgHB+KZrrP7Rr9RYfVQ144DxmOxS3C\na9+mST62WqAVPR6POWGEfZqnZl/ePWZPcQYbFrhwnnefNoYBl/bnLZBo8rbNWxAq\nOEOuKfkrBzglKG/39WKPw8rj4JIVzY0yOuFCW6xCDWRkOrhU8Ol/3FvwDa3uJpkp\nmgPr4TgxAoGBAPGPLmxSuOYR97mDAXxrs037F2GCbqWvI6m7/ezWe9yn+bMpjSIW\nfsgtq4FsyqzPueEkDdQWi3xh6nu2WI/1Tl875opGAqEIJMqss/u11tnva5wzu1cC\nL6H85A5+HMOBvP3sm6CObKcVw92h7kxynVIUJJWhjfeZMN8gBFFpKIVFAoGBAO1p\ntXBmXLC/YKKvtHI3M16/ZopvM8ZqU2HcAHaw214Refw9JJ/e3/xTNfSerVTyCAQO\n1AdWTzJKBN8jmSYv1Mk1D3RpQPNR7wVzi46KR081AU41uMpqIGVOwHtyVnW/ZfLr\nc1DLIK8Cx8aHfoxffwzoMO5SEQSooeZfOLhsfDN1AoGBAKQTUEINsj+75psgbAr6\nELGgItJ9yPBLVRr+cUzEpx9LDWVvjMihpP4NX1gq8EOPWT+ewLHVmmsjCyV6xw8J\nXXF8e2xif3in0m3D/wCzE7u2T06rKM3B017hKnrZmGoHnrqPU2osM4sOUpshWX6d\nv1Q4EF1+fbK3YCW+VpCBsB9NAoGAQo+uhNLODee56iKkzpjXWCsFTq6ar3hD5F3P\n63buKdNwhd2GlSPhXFbf+7M5GWW6BZk6rMvv7EOAVice2uvyFm8/4/1WbmF8R+T7\nLX1rPLO5p/m701QpvP11TabiwqRkqtSEQhSRF0AKTojSW/yyHCZFAawUhV/Z9EKi\nHmKb97kCgYAyzmFc2it0HqnsOnRybop603nqMtWGTQO4cxa93HUDpYajuK2K3Dfr\nxUj6lG3z/oKJGGE2JqgZ6LBAhNJtJWJu2ox3pKGE63QjLJnVwb8y1NFYpe/crbLe\nPuBwIR0L7drXxfv7O5btY7h6QI2d1/UIAQPAWbxLoTM+ndQ/uPEdfA==\n-----END RSA PRIVATE KEY-----',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file SSL_install_ssl.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/SSL_install_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    'install_ssl',\n    array (\n        'domain' => 'example.com',\n        'cert' => '-----BEGIN CERTIFICATE-----\nMIIEEzCCAvugAwIBAgIJALF/jFpw6p1bMA0GCSqGSIb3DQEBBQUAMIGfMRYwFAYD\nVQQDEw10ZXN0c2ltb24uY29tMRYwFAYDVQQLEw1Eb2N1bWVudGF0aW9uMQswCQYD\nVQQGEwJVUzEoMCYGCSqGSIb3DQEJARYZbGF1cmVuY2Uuc2ltb25AY3BhbmVsLm5l\ndDEUMBIGA1UEChMLY1BhbmVsIEluYy4xDjAMBgNVBAgTBVRleGFzMRAwDgYDVQQH\nEwdIb3VzdG9uMB4XDTEzMDUxNzE2MTMwN1oXDTE0MDUxNzE2MTMwN1owgZ8xFjAU\nBgNVBAMTDXRlc3RzaW1vbi5jb20xFjAUBgNVBAsTDURvY3VtZW50YXRpb24xCzAJ\nBgNVBAYTAlVTMSgwJgYJKoZIhvcNAQkBFhlsYXVyZW5jZS5zaW1vbkBjcGFuZWwu\nbmV0MRQwEgYDVQQKEwtjUGFuZWwgSW5jLjEOMAwGA1UECBMFVGV4YXMxEDAOBgNV\nBAcTB0hvdXN0b24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDRO0AP\nN5XtjDqkEyJ6ctfYqUtt9yUXyRuCETFjW6opNLSmZSHeF6L2aZka646lhj02CFyl\nkzsNSxysN66tY+WZcTmvgPisJdQFpFvjroJZgDjYRV0QqokKdRy/5BU0+tHXoYpj\n9JOQlbvEWxiGR3R80sL1ma4AfSE6Gv8M/PULTadan51eHaikXqjOXdPJQKuWP3g9\nFnIuf38WRYwzGrre88qsZrpsMrADX5dotHWgqAf7Tap6xfA4CUAgQo9tldariuVi\nBz+sRJ/Sjgxnhw1HYWGttBuBZFhMpdHpPnTJ7DIFMd/FN5gG/tah30SapWpo35Ux\n3BpJcdUjtazy82K5AgMBAAGjUDBOMB0GA1UdDgQWBBQAlv7/tALOYb7zAXbYG2+9\nAMI3xjAfBgNVHSMEGDAWgBQAlv7/tALOYb7zAXbYG2+9AMI3xjAMBgNVHRMEBTAD\nAQH/MA0GCSqGSIb3DQEBBQUAA4IBAQCxzpe71Hc7Es0dqIN7bhIFYIIgcr6wxM6a\na9d+QG+QPH0x0KAqV8EgUbZysvyxEF0bPxW3ZAr1Is1wk80PMuU3bToFFVbFFIIr\nHRNfKLGvxiMXnZA1c6L4N0lowvXHgZxTTUXtDFLXyrcwrLsvUErEV7rbizuxqfPw\ncaRtXn4uc+t6HYuW7yWesBauCWnJNiKbjN/F+uCTurN3QMAeWf3ZJtsfkAgk8dyq\nR/83a3kDtSPrpt+jX+qdjKEpRtQ5Qpm6XT2gCOQPgnfiUtOCH419pp922P/AAGc+\nZUhYoWcRWKw/y6gI7Ru++9+8+wkadL9EbKMZxhVwD5qVm4ZlWK2a\\r\\n\n-----END CERTIFICATE-----',\n        'key' => '-----BEGIN RSA PRIVATE KEY-----\nMIIEpAIBAAKCAQEA4AVM6J4Qg3DIFWr/eJ5GRmIATYsJIepKbrDy70sq+udcO8R8\nxxak0oMZ/9mUdpjSNK/fLVTuCO0kxTfQ9VUWJllX7ThD6Zh9ZvlC/nf/OEZLm3Zb\nBgu8rbC8E9wuDOkKbJLnINgdhtowIydLK2MJ++q62bFV89jkHWTMcKyyqHENo3h\nc+lkpd9vnp8rZTinaVb7nX26uQqAFZYRo+WU0G/NPsq40QVSMoqPxyEz4qXo0hvu\nIlCXmzFZq/6fCVPEKPLhQgMmpdBkMz4dVOazREfqXdjMD2+QXSNiA1AwWr8l0r4r\ntzlxEYDJIR41yXp0xMl3KoolxMyvLBqZy32niQIDAQABAoIBAQCmbGmhWmPsMeoC\nt1WJFxQgD4goE0U6k+Kt7vjbOt14Pk6v/B2yjaju1wSGpO59WLS4/XrwI2se6IXr\nmba7u3VUEgWXLriNHoLy7/SMNTs+ZEKhAMG36eNe3tVdT7busTag31r6sEMGGwCs\nIwpU+azosk0oylWLEX/m/uHWEs1eaIEWWWtgHB+KZrrP7Rr9RYfVQ144DxmOxS3C\na9+mST62WqAVPR6POWGEfZqnZl/ePWZPcQYbFrhwnnefNoYBl/bnLZBo8rbNWxAq\nOEOuKfkrBzglKG/39WKPw8rj4JIVzY0yOuFCW6xCDWRkOrhU8Ol/3FvwDa3uJpkp\nmgPr4TgxAoGBAPGPLmxSuOYR97mDAXxrs037F2GCbqWvI6m7/ezWe9yn+bMpjSIW\nfsgtq4FsyqzPueEkDdQWi3xh6nu2WI/1Tl875opGAqEIJMqss/u11tnva5wzu1cC\nL6H85A5+HMOBvP3sm6CObKcVw92h7kxynVIUJJWhjfeZMN8gBFFpKIVFAoGBAO1p\ntXBmXLC/YKKvtHI3M16/ZopvM8ZqU2HcAHaw214Refw9JJ/e3/xTNfSerVTyCAQO\n1AdWTzJKBN8jmSYv1Mk1D3RpQPNR7wVzi46KR081AU41uMpqIGVOwHtyVnW/ZfLr\nc1DLIK8Cx8aHfoxffwzoMO5SEQSooeZfOLhsfDN1AoGBAKQTUEINsj+75psgbAr6\nELGgItJ9yPBLVRr+cUzEpx9LDWVvjMihpP4NX1gq8EOPWT+ewLHVmmsjCyV6xw8J\nXXF8e2xif3in0m3D/wCzE7u2T06rKM3B017hKnrZmGoHnrqPU2osM4sOUpshWX6d\nv1Q4EF1+fbK3YCW+VpCBsB9NAoGAQo+uhNLODee56iKkzpjXWCsFTq6ar3hD5F3P\n63buKdNwhd2GlSPhXFbf+7M5GWW6BZk6rMvv7EOAVice2uvyFm8/4/1WbmF8R+T7\nLX1rPLO5p/m701QpvP11TabiwqRkqtSEQhSRF0AKTojSW/yyHCZFAawUhV/Z9EKi\nHmKb97kCgYAyzmFc2it0HqnsOnRybop603nqMtWGTQO4cxa93HUDpYajuK2K3Dfr\nxUj6lG3z/oKJGGE2JqgZ6LBAhNJtJWJu2ox3pKGE63QjLJnVwb8y1NFYpe/crbLe\nPuBwIR0L7drXxfv7O5btY7h6QI2d1/UIAQPAWbxLoTM+ndQ/uPEdfA==\n-----END RSA PRIVATE KEY-----',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 11.42","x-cpanel-api-version":"UAPI","parameters":[{"schema":{"example":"example.com","type":"string","format":"domain"},"required":true,"description":"The domain name.","in":"query","name":"domain"},{"name":"cert","in":"query","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)```","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"}},{"name":"key","in":"query","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-----","type":"string","format":"pem-private-key"},"required":false,"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)```"},{"name":"cabundle","in":"query","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-----","type":"string","format":"pem-certificate"},"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.\nFor 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)```","required":false},{"name":"originating_certificate_id","in":"query","required":false,"description":"The cPanel Store certificate ID that this certificate descends from. The\nshort-lived certificate re-issue workflow sets this so the system can\nsupersede the prior certificate after installation; end users do not\nnormally set it.","schema":{"type":"string","example":"12345"}},{"name":"order_item_id","in":"query","schema":{"example":"67890","type":"string"},"description":"The cPanel Store order item ID associated with the certificate.","required":false},{"schema":{"example":1735689600,"type":"integer"},"required":false,"description":"The expiration of the parent subscription certificate, as a Unix timestamp.","in":"query","name":"parent_cert_expiry"},{"description":"A map of each domain to its domain control validation (DCV) method.","required":false,"schema":{"type":"object","additionalProperties":{"enum":["http","dns"],"type":"string"},"example":{"example.com":"http"}},"in":"query","name":"domain_dcv_method"},{"name":"vhost_names","in":"query","description":"The virtual host names onto which to install the certificate. To set\nmultiple names, duplicate or increment the parameter name. For example,\n`vhost_names-1` and `vhost_names-2`.","required":false,"schema":{"items":{"format":"domain","type":"string","example":"example.com"},"type":"array"}}],"description":"This function installs an SSL certificate.\n\n**Note:**\n\nDue 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.\n\n**Important:**\n\nWhen you disable the *Calendars and Contacts*, *Receive Mail*, *Web Disk*, *Webmail*, and *Web Server* [roles](https://go.cpanel.net/serverroles), the system **disables** this function.","x-rollback":"none"}}}},"installed_host":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"security":[{"BasicAuth":[]}],"servers":[{"description":"A server running cPanel.","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute"}],"openapi":"3.0.2","tags":[{"description":"The SSL module for UAPI.","name":"SSL"},{"description":"SSL Certificates / cPanel Account SSL Management","name":"cPanel Account SSL Management"}],"x-tagGroups":[{"tags":["cPanel Account SSL Management"],"name":"SSL Certificates"}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"paths":{"/SSL/installed_host":{"get":{"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"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file SSL_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/<theme_name>/\n#    to .../frontend/<theme_name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file SSL_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/<theme_name>/\n//    to .../frontend/<theme_name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Return SSL certificate's info for dedicated IP","x-cpanel-available-version":"cPanel 11.42","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.","x-cpanel-api-version":"UAPI","parameters":[{"description":"The domain name.\n\n**Note:**\n\nThe parameter defaults to the account's main domain.","required":false,"schema":{"example":"example.com","format":"domain","type":"string"},"name":"domain","in":"query"},{"in":"query","name":"verify_certificate","schema":{"default":0,"example":1,"enum":[0,1],"type":"integer"},"required":false,"description":"Verify the certificate.\n* `1` — Verify the certificate.\n* `0` — Do **not** verify the certificate."}],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"description":"The version of the API.","example":3,"type":"integer"},"module":{"description":"The name of the module called.","example":"SSL","type":"string"},"result":{"properties":{"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"data":{"properties":{"certificate":{"description":"An object containing the certificate information.","properties":{"ecdsa_public":{"example":null,"description":"The certificate's key's ECDSA compressed public point, in hexadecimal format.\n\n* `null` — The certificate's key is **not** an ECDSA key.","nullable":true,"type":"string"},"issuer.organizationName":{"example":"Organization","description":"The certificate's organization.","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.\n\n**Note:**\n\nYou **must** set the `verify_certificate` parameter to `1` for this return to appear.","example":"","type":"string"},"issuer.commonName":{"example":"example.com","description":"The issuer's Common Name, typically a domain name.","type":"string"},"not_before":{"description":"The certificate's start time.","example":1365633490,"format":"unix_timestamp","type":"integer"},"ecdsa_curve_name":{"description":"The ECDSA curve that the certificate's key uses.\n\n* `prime256v1`\n* `secp384r1`\n* `null` — The certificate's key is **not** an ECDSA key.","enum":["prime256v1","secp384r1"],"example":"prime256v1","type":"string","nullable":true},"subject.commonName":{"description":"The certificate's Common Name.","example":"example.com","type":"string"},"key_algorithm":{"enum":["rsaEncryption","id-ecPublicKey"],"example":"rsaEncryption","description":"The certificate's key's algorithm.\n\n  * `rsaEncryption` — RSA.\n  * `id-ecPublicKey` — ECDSA.","type":"string"},"validation_type":{"description":"The certificate's validation type.\n* `ev` — Extended Validation.\n* `ov` — Organization Validation.\n* `dv` — Domain Validation.\n* `null` — The system could not parse and determine the certificate's validation type.","enum":["ev","ov","dv"],"example":"dv","type":"string","nullable":true},"modulus_length":{"nullable":true,"type":"integer","minimum":1,"example":2048,"description":"The length, in bits, of the certificate's key's modulus.\n\n* `null` — The certificate's key is **not** an RSA key."},"domains":{"items":{"type":"string","format":"domain","example":"example.com"},"description":"The domains that the certificate covers.","type":"array"},"signature_algorithm":{"description":"The signature algorithm of the certificate.","example":"sha256WithRSAEncryption","type":"string"},"subject_text":{"type":"string","example":"commonName\nexample.com","description":"The X.509 information about the certificate's subject that contains CSR information."},"modulus":{"type":"string","nullable":true,"description":"The certificate's key's modulus, in hexadecimal format.\n\n* `null` — The certificate's key is **not** an RSA key.","example":"a673c3b17344664b35f8791f562d3aea6bf4d8faa3ae3fc0a519380fd453964a36677c34d48677ecb7f5ed035df026f5f0f8fbfe21745e52daf1f3b9e58c73f0baefdb709320e2202e7d05250b051a59b30ff1fef22d83d7140c1c81cea314a0890ce8d2226799872181c58a74016c7aaa2cff5ac72b575cecde8f304aa572a2ea03d8b173ab76c6e8cdb9dfd0da81e1119cefd4b8b4dbfbe0e46c7f1ee2fe8b5fd5504e58ccbc0d13b4fa41ecc9ebd0dabe1d1fec5c724f748167e7c0553e997f9b77eb36abce70973f06df151748d41b758de3efd7afa6f2464a1547f5ff158469d96e248be464df9eda0e7ce854a89332a2c1278b17c425368a9604f454db"},"id":{"example":"example_com_c69ce_37ff5_1397169490_169c717cb2c260281df792788accf041","description":"The certificate's ID.","type":"string"},"not_after":{"example":1397169490,"description":"The certificate's expiration time.","type":"integer","format":"unix_timestamp"},"issuer_text":{"example":"commonName\nexample.com\ncountryName\nUS\nemailAddress\nusername@example.com\norganizationName\nExample\nstateOrProvinceName\nTexas\nlocalityName\nHouston","description":"The X.509 information about the issuer that contains CSR information.","type":"string"},"is_self_signed":{"enum":[0,1],"example":1,"description":"Whether the certificate is self-signed.\n* `1` — Self-signed.\n* `0` — Not self-signed.","type":"integer"}},"type":"object"},"host":{"example":"example.com","description":"The issuer's hostname.","type":"string","format":"domain"}},"type":"object"},"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"},"status":{"type":"integer","example":1,"enum":[0,1],"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details."},"metadata":{"properties":{}},"errors":{"example":null,"description":"List of errors if the API failed.","items":{"type":"string"},"nullable":true,"type":"array"}},"type":"object"},"func":{"example":"installed_host","description":"The name of the method called.","type":"string"}},"type":"object"}}}}},"tags":["SSL","cPanel Account SSL Management"],"x-readonly":true,"operationId":"SSL-installed_host"}}}},"get_autossl_renewal_status":{"paths":{"/SSL/get_autossl_renewal_status":{"get":{"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.","summary":"Return AutoSSL renewal status for a domain","x-cpanel-available-version":"cPanel 134","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"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/SSL/get_autossl_renewal_status?domain=example.com"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file SSL_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/<theme_name>/\n#    to .../frontend/<theme_name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file SSL_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/<theme_name>/\n//    to .../frontend/<theme_name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-api-version":"UAPI","tags":["SSL","Auto-generated SSL Certificates"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"func":{"type":"string","example":"get_autossl_renewal_status","description":"The name of the method called."},"result":{"type":"object","properties":{"errors":{"example":null,"description":"List of errors if the API failed.","items":{"type":"string"},"nullable":true,"type":"array"},"messages":{"items":{"type":"string"},"description":"List of messages generated by the API.","example":null,"type":"array","nullable":true},"warnings":{"example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.","nullable":true,"type":"array"},"data":{"type":"object","properties":{"is_active":{"enum":[0,1],"example":1,"description":"Whether an AutoSSL provider is configured on the server.","type":"integer"},"will_renew":{"type":"integer","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},"has_problems":{"description":"Whether AutoSSL has DCV failures recorded for this domain. Defaults to 1 if the problems database is unreachable.","example":0,"enum":[0,1],"type":"integer"},"is_excluded":{"example":0,"enum":[0,1],"description":"Whether the domain is on the user's AutoSSL exclusion list.","type":"integer"}},"description":"An object that contains the AutoSSL renewal status for the domain."},"metadata":{"properties":{}},"status":{"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","enum":[0,1],"example":1,"type":"integer"}}},"module":{"example":"SSL","description":"The name of the module called.","type":"string"},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}},"type":"object"}}}}},"parameters":[{"in":"query","name":"domain","required":true,"description":"The fully qualified domain name to check.","schema":{"type":"string","example":"example.com"}}],"operationId":"SSL-get_autossl_renewal_status","x-readonly":true}}},"security":[{"BasicAuth":[]}],"openapi":"3.0.2","servers":[{"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."}},"description":"A server running cPanel."}],"tags":[{"description":"The SSL module for UAPI.","name":"SSL"},{"description":"SSL Certificates / Auto-generated SSL Certificates","name":"Auto-generated SSL Certificates"}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"x-tagGroups":[{"tags":["Auto-generated SSL Certificates"],"name":"SSL Certificates"}],"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.","version":"11.89.0.9999","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"}}},"find_csrs_for_key":{"tags":[{"name":"SSL","description":"The SSL module for UAPI."},{"description":"SSL Certificates / cPanel Account SSL Management","name":"cPanel Account SSL Management"}],"openapi":"3.0.2","servers":[{"variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"tags":["cPanel Account SSL Management"],"name":"SSL Certificates"}],"security":[{"BasicAuth":[]}],"info":{"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/SSL/find_csrs_for_key":{"get":{"description":"This function retrieves certificate signing requests (CSR) for\na private key.\n\n**Note:**\n\nWhen you call this function, you **must** include either the `id`\nor the `friendly_name` parameter.","x-cpanel-available-version":"cPanel 11.42","summary":"Return private key's certificate signing requests","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"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file SSL_find_csrs_for_key.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/SSL_find_csrs_for_key.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/SSL/,\n    q/find_csrs_for_key/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file SSL_find_csrs_for_key.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/SSL_find_csrs_for_key.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'SSL',\n    'find_csrs_for_key'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-api-version":"UAPI","x-rollback":"none","parameters":[{"schema":{"type":"string","example":"example_com_cb497_a394d_1397249671_d1272da8f13a1fd837493a5ad1f0a0f3"},"required":false,"description":"The key's ID.","name":"id","in":"query"},{"in":"query","name":"friendly_name","required":false,"description":"The key's friendly name.","schema":{"example":"TestKey","type":"string"}}],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"description":"The version of the API.","example":3,"type":"integer"},"result":{"type":"object","properties":{"status":{"example":1,"enum":[1,0],"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","type":"integer"},"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"messages":{"items":{"type":"string"},"description":"List of messages generated by the API.","example":null,"type":"array","nullable":true},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"data":{"items":{"properties":{"commonName":{"type":"string","format":"domain","description":"The CSR's common name.","example":"example.com"},"ecdsa_public":{"example":null,"description":"The CSR's key's ECDSA compressed public point, in hexadecimal format.\n\n* `null` — The CSR's key is **not** an ECDSA key.","nullable":true,"type":"string"},"id":{"description":"The CSR's ID.","example":"example_com_a74f7_9dddf_2c5d1615e85db817d6b640f65335fb62","type":"string"},"modulus":{"description":"The CSR's key's modulus, in hexadecimal format.\n\n* `null` — The CSR's key is **not** an RSA key.","example":"a673c3b17344664b35f8791f562d3aea6bf4d8faa3ae3fc0a519380fd453964a36677c34d48677ecb7f5ed035df026f5f0f8fbfe21745e52daf1f3b9e58c73f0baefdb709320e2202e7d05250b051a59b30ff1fef22d83d7140c1c81cea314a0890ce8d2226799872181c58a74016c7aaa2cff5ac72b575cecde8f304aa572a2ea03d8b173ab76c6e8cdb9dfd0da81e1119cefd4b8b4dbfbe0e46c7f1ee2fe8b5fd5504e58ccbc0d13b4fa41ecc9ebd0dabe1d1fec5c724f748167e7c0553e997f9b77eb36abce70973f06df151748d41b758de3efd7afa6f2464a1547f5ff158469d96e248be464df9eda0e7ce854a89332a2c1278b17c425368a9604f454db","type":"string","nullable":true},"ecdsa_curve_name":{"description":"The ECDSA curve that the CSR's key uses.\n\n* `prime256v1`\n* `secp384r1`\n* `null` — The CSR's key is **not** an ECDSA key.","example":"prime256v1","enum":["prime256v1","secp384r1"],"type":"string","nullable":true},"friendly_name":{"description":"The CSR's friendly name.","example":"TestCSR","type":"string"},"domains":{"type":"array","description":"A list of the domains that the CSR covers.","items":{"format":"domain","type":"string","example":"example.com"}},"key_algorithm":{"enum":["rsaEncryption","id-ecPublicKey"],"example":"rsaEncryption","description":"The CSR's key's algorithm.\n\n* `rsaEncryption` — RSA.\n* `id-ecPublicKey` — ECDSA.","type":"string"},"created":{"type":"integer","format":"unix_timestamp","example":1538265600,"description":"The date the CSR was created."}},"type":"object"},"type":"array"},"metadata":{"properties":{"transformed":{"example":1,"enum":[1],"description":"Post-processing may have transformed the data.","type":"integer"}}}}},"module":{"description":"The name of the module called.","example":"SSL","type":"string"},"func":{"type":"string","description":"The name of the method called.","example":"find_csrs_for_key"}}}}}}},"tags":["SSL","cPanel Account SSL Management"],"x-readonly":false,"operationId":"SSL-find_csrs_for_key"}}}},"set_key_friendly_name":{"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999"},"externalDocs":{"url":"https://cpanel.net/developers/"},"x-tagGroups":[{"name":"SSL Certificates","tags":["SSL Certificate Management"]}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute"}],"tags":[{"description":"The SSL module for UAPI.","name":"SSL"},{"name":"SSL Certificate Management","description":"SSL Certificates / SSL Certificate Management"}],"security":[{"BasicAuth":[]}],"paths":{"/SSL/set_key_friendly_name":{"get":{"x-codeSamples":[{"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":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/SSL/set_key_friendly_name?friendly_name=TestKey&id=a9b72_63971_2cb6d8897b362cfb1548e047d8428b8d&new_friendly_name=TestKey2","lang":"HTTP","label":"URL"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file SSL_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/<theme_name>/\n#    to .../frontend/<theme_name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file SSL_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/<theme_name>/\n//    to .../frontend/<theme_name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"summary":"Update private key's friendly name","x-cpanel-available-version":"cPanel 11.42","x-cpanel-api-version":"UAPI","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"func":{"type":"string","description":"The name of the method called.","example":"set_key_friendly_name"},"result":{"properties":{"status":{"enum":[0,1],"example":1,"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","type":"integer"},"messages":{"description":"List of messages generated by the API.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"metadata":{"properties":{}},"data":{"default":null,"nullable":true,"type":"object"},"warnings":{"example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","nullable":true,"type":"array"}}},"module":{"type":"string","description":"The name of the module called.","example":"SSL"},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}}}}}}},"tags":["SSL","SSL Certificate Management"],"operationId":"SSL-set_key_friendly_name","x-readonly":false,"description":"This function changes a key's friendly name.\n\n**Important:**\n\n* You **must** call either the `friendly_name` or `id` parameter.\n* When you disable the Calendars and Contacts, Receive Mail, Web Disk, Webmail, and Web Server [roles](https://go.cpanel.net/serverroles), the system **disables** this function.","x-rollback":"none","parameters":[{"schema":{"example":"TestKey","type":"string"},"description":"The key's friendly name.","required":true,"name":"friendly_name","in":"query"},{"in":"query","name":"id","required":true,"description":"The key's ID.","schema":{"example":"a9b72_63971_2cb6d8897b362cfb1548e047d8428b8d","type":"string"}},{"description":"The key's new friendly name.","required":true,"schema":{"type":"string","example":"TestKey2"},"name":"new_friendly_name","in":"query"}]}}}},"fetch_certificates_for_fqdns":{"info":{"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","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.","version":"11.89.0.9999","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/"},"externalDocs":{"url":"https://cpanel.net/developers/"},"openapi":"3.0.2","tags":[{"name":"SSL","description":"The SSL module for UAPI."},{"name":"cPanel Account SSL Management","description":"SSL Certificates / cPanel Account SSL Management"}],"servers":[{"description":"A server running cPanel.","variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute"}],"x-tagGroups":[{"tags":["cPanel Account SSL Management"],"name":"SSL Certificates"}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"security":[{"BasicAuth":[]}],"paths":{"/SSL/fetch_certificates_for_fqdns":{"get":{"x-rollback":"none","description":"This function retrieves the certificate information for all fully qualified domain names (FQDNs) that the account owns.","parameters":[{"schema":{"type":"string"},"examples":{"multiple":{"summary":"Multiple domains.","value":"domains=example1.com,example2.com"},"single":{"value":"example.com","summary":"A single domain."}},"description":"A domain or comma-delimited list of domains for which to retrieve information.","style":"form","explode":false,"name":"domains","required":true,"in":"query"}],"summary":"Return SSL certificate information for all FQDN","x-cpanel-available-version":"cPanel 66","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"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/SSL/fetch_certificates_for_fqdns?domains=example.com","label":"URL","lang":"HTTP"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file SSL_fetch_certificates_for_fqdns.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/SSL_fetch_certificates_for_fqdns.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/SSL/,\n    q/fetch_certificates_for_fqdns/,\n    {\n        'domains' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file SSL_fetch_certificates_for_fqdns.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/SSL_fetch_certificates_for_fqdns.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'SSL',\n    'fetch_certificates_for_fqdns',\n    array (\n        'domains' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"x-cpanel-api-version":"UAPI","operationId":"SSL-fetch_certificates_for_fqdns","x-readonly":false,"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"type":"integer","description":"The version of the API.","example":3},"module":{"description":"The name of the module called.","example":"SSL","type":"string"},"result":{"type":"object","properties":{"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null},"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null},"metadata":{"properties":{"transformed":{"description":"Post-processing may have transformed the data.","enum":[1],"example":1,"type":"integer"}}},"data":{"items":{"properties":{"crt":{"description":"The certificate's contents in Base64 PEM format.","example":"-----BEGIN CERTIFICATE-----\nMIIDcTCCAlmgAwIBAgIFAU+BNVgwDQYJKoZIhvcNAQEFBQAwUTESMBAGA1UEAwwJ\nc2lza28udGxkMQswCQYDVQQGEwJVUzEPMA0GA1UECgwGY1BhbmVsMQswCQYDVQQI\nDAJUWDEQMA4GA1UEBwwHSG91c3RvbjAeFw0xNDEwMDYyMjI2MTlaFw0xNTEwMDYy\nMjI2MTlaMFExEjAQBgNVBAMMCXNpc2tvLnRsZDELMAkGA1UEBhMCVVMxDzANBgNV\nBAoMBmNQYW5lbDELMAkGA1UECAwCVFgxEDAOBgNVBAcMB0hvdXN0b24wggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC9zx6zGiHdmWA0dKtoXmJiWXpZ9E3P\nXx3YHsjFEWW7e5pH0vZ+jVMzDmm5nsJ7RXrAkZO1IvpIpVLvoQfiJOWVvkD+o9fW\nvoK1tWJS72FSgPju+58mA2ieBuc87A790Pzuv1P3NR3zFLAjUR99zkHR1fpri/da\nM3PBWO8ET48FWkyU1kOeZaUlF67/+wrEiNgg+t1qhKOCAB61PdNVkLaSGHimksuC\n+Czk8Kq9nuS0E0TCnDtjjEyJ455FUcaCfczlTb8xkB/F9ORe74yTzD+vlk0tFMG6\nPLj/ajIwWqwO0qmQ8wX3NRxkWgGz5kVO1wrVJarKQ5EYQ3/mgvit0v6dAgMBAAGj\nUDBOMB0GA1UdDgQWBBRw+wKBo34+bgexjAa3EMDsgSCd7zAfBgNVHSMEGDAWgBRw\n+wKBo34+bgexjAa3EMDsgSCd7zAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUA\nA4IBAQCHRXIs53opzKM2rM8Qe8lcw524WK6hqy2EWrZHp78N7rU7/6DQ/I3hv3Wh\ncDDIO04I2/Xhe88MLBaLoM367Ya+vy7CaLr14aLi/SfQszMA0ALBvMao+Fis0iVw\nFYq/NLgSXw+fgnpFskt8v8iQZ+4Kaal8U8e9sVgu8m0RgO7rzym1eRiIKpsKd1rh\n/SD7LbSN7M7TRL3QqF7ltw9sQhAAsQcRaBBF21pdWrqhiGZ+Eioo3hhgwNavH2ag\nqz78ddHwrFpHFwrEeUk1OfpPb76MYIce7xIy/4oQNdg6fOq4l/FrajBv+WkzDVPa\nKm6r7YmwfLN/YMZBHXSR58oOGP9W\n-----END CERTIFICATE-----","format":"pem-certificate","type":"string"},"is_self_signed":{"type":"integer","description":"Whether the certificate is self-signed.\n- `1` — Self-signed.\n- `0` — Not self-signed.","enum":[0,1],"example":1},"cab":{"description":"The CA bundle's contents.","example":"-----BEGIN CERTIFICATE-----\nMIIB+jCCAWMCAgGjMA0GCSqGSIb3DQEBBAUAMEUxCzAJBgNVBAYTAlVTMRgwFgYD\nVQQKEw9HVEUgQ29ycG9yYXRpb24xHDAaBgNVBAMTE0dURSBDeWJlclRydXN0IFJv\nb3QwHhcNOTYwMjIzMjMwMTAwWhcNMDYwMjIzMjM1OTAwWjBFMQswCQYDVQQGEwJV\nUzEYMBYGA1UEChMPR1RFIENvcnBvcmF0aW9uMRwwGgYDVQQDExNHVEUgQ3liZXJU\ncnVzdCBSb290MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC45k+625h8cXyv\nRLfTD0bZZOWTwUKOx7pJjTUteueLveUFMVnGsS8KDPufpz+iCWaEVh43KRuH6X4M\nypqfpX/1FZSj1aJGgthoTNE3FQZor734sLPwKfWVWgkWYXcKIiXUT0Wqx73llt/5\n1KiOQswkwB6RJ0q1bQaAYznEol44AwIDAQABMA0GCSqGSIb3DQEBBAUAA4GBABKz\ndcZfHeFhVYAA1IFLezEPI2PnPfMD+fQ2qLvZ46WXTeorKeDWanOB5sCJo9Px4KWl\nIjeaY8JIILTbcuPI9tl8vrGvU9oUtCG41tWW4/5ODFlitppK+ULdjG+BqXH/9Apy\nbW1EDp3zdHSo1TRJ6V6e6bR64eVaH4QwnNOfpSXY\n-----END CERTIFICATE-----","type":"string","format":"pem-certificate"},"created":{"example":1496950287,"description":"When the certificate was created.","format":"unix_timestamp","type":"integer"},"issuer_text":{"example":"stateOrProvinceName\\nTX\\nlocalityName\\nHouston\\ncountryName\\nUS\\ncommonName\\nexample.com\\norganizationName\\ncPanel","description":"The certificate's issuer information.","type":"string"},"serial":{"type":"string","example":"01e57e4d92","description":"The certificate's serial number."},"key_algorithm":{"example":"rsaEncryption","enum":["rsaEncryption","id-ecPublicKey"],"description":"The certificate's key's algorithm.\n\n* `rsaEncryption` — RSA.\n* `id-ecPublicKey` — ECDSA.","type":"string"},"modulus_length":{"nullable":true,"type":"integer","minimum":1,"example":2048,"description":"The length, in bits, of the certificate's key's modulus.\n\n* `null` — The certificate's key is **not** an RSA key."},"subject_text":{"type":"string","example":"stateOrProvinceName\\nTX\\nlocalityName\\nHouston\\ncountryName\\nUS\\ncommonName\\nexample.com\\norganizationName\\ncPanel","description":"The certificate's subject text information."},"verify_error":{"example":"DEPTH_ZERO_SELF_SIGNED_CERT","description":"A message that explains the reason for a verification error.","type":"string"},"ecdsa_public":{"nullable":true,"type":"string","example":null,"description":"The certificate's key's ECDSA compressed public point, in hexadecimal format.\n\n* `null` — The certificate's key is **not** an ECDSA key."},"issuer.organizationName":{"example":"Organization","description":"The certificate's organization.","type":"string"},"subject.commonName":{"format":"domain","type":"string","description":"The certificate's common name.","example":"example.servername.com"},"modulus":{"description":"The length, in bits, of the certificate's key's modulus.\n\n* `null` — The certificate's key is **not** an RSA key.","example":"ce52db786fd2776f69057ed8ee0d8ab267a2f328a66a3afd8\n76017a99d061ec5d24d646f80ec258c696cb742e2bcd2fef920177144d9126a4\n779c1a21ca5589ff06e673556116903493100dfba385a62d11aeec57f47e5b20\nad8d1142fbe93f003fb62403cdcc0012ccd407009ac21639623bc52a5d6d3814\nff9c45a7c246799f0229b4854af2aeddfa755ab13814132424f5b1680f2c357e\n1476af7422bd5863102cfc5982b3ddad7fecdeae5c1cb73789008be9ce2f24fe\n27c9202b3bca6524ba29a30972f14cbf06f0a1b7998c2361ed90221f40829faf\n644adc7b8da6f948d8745ffbe8e5b6f0c8e7ea9ef2bc26413f90666ef1200407\neab7c3b71c6e643","type":"string","nullable":true},"id":{"description":"The certificate's identification.","example":"example_servername_com_ce52d_6e643_2813308004_119580f9b01960cjones72bc519206bc","type":"string"},"not_after":{"format":"unix_timestamp","type":"integer","description":"When the certificate expired.","example":1528486286},"domain_is_configured":{"type":"integer","example":1,"enum":[0,1],"description":"Whether the certificate is installed on the account.\n* `1` — Installed.\n* `0` — Not installed."},"friendly_name":{"type":"string","example":"Cert for example.servername.com","description":"The certificate's friendly name."},"domains":{"example":["example.servername.com","example.com","mail.example.com","www.example.com","www.example.servername.com"],"description":"The domains that the CSR covers.","items":{"type":"string"},"type":"array"},"validation_type":{"type":"string","example":"dv","description":"The certificate's validation type.\n* `ev` — Extended Validation.\n* `ov` — Organization Validated.\n* `dv` — Domain Validated.\n* `null` —  The system could not parse and determine the certificate's validation type."},"signature_algorithm":{"description":"The OID of the hash algorithm used to sign the certificate request.","example":"sha256WithRSAEncryption","type":"string"},"ecdsa_curve_name":{"description":"The ECDSA curve that the certificate's key uses.\n\n* `prime256v1`\n* `secp384r1`\n* `null` — The certificate's key is **not** an ECDSA key.","enum":["prime256v1","secp384r1"],"example":"prime256v1","type":"string","nullable":true},"not_before":{"type":"integer","format":"unix_timestamp","example":1496950286,"description":"When the certificate started."},"key":{"example":"-----BEGIN RSA PRIVATE KEY-----\nMIIJJwIBAAKCAgEA4yilqsoCdEpiNOyLcPJ4FLT7vgwaLdOBeJLTMUeV2uZM4v65/tiZe7H0soDp1C55SCr3uEIEa7Lq7RUZ+F5p67BgRR19rmerKGxfN7N5Vu97pfTwW1f+lVsxUF/56lVeoAmm4okU98xJHiGGlI8ZHGJbUMYfLPy0OrA+gNwMHqMVOv1BSgpbEWCILMvnvtp0rwPutjnPVX2Dj40ia40L4Wqvp+0Yg7mZyhIOl+q6VZVIdXZslR4ZywfRBYt3ieFBDYMyNw9wN3Xy44fCpHc77+ho84W3BqrGaWSSDyf6UkZGD5mfohGf2JSp+c8J6H7hsxo7pta3K1diVXFOSfnaA+k56zW445XruwYs/SN/zvGetGi6uqhMAcVRQcYCmLCixcC6RkcUx3exxgR4q3gthDnFvWC4+NuTh8/K0BcxcuCEhRug/MfVfO3+f7RJFSJPFb9m9Lf4HHBSVkDP5WtG4XiBKCe++9Wuvxbd4QxS7YrnSopNKxkuHKswH8ONpADMYDqfLODMhNrslHNHu95Nv7AlQr8weLqMGWMp7GFqzXcl39RnVkF4Bxd3bAAsMN8/JvanMKCPjTTDrfzVFZcmHXPYOljYDdY1xfIstYVtbyFkUHZP2RPPBaPUAt90lzrKGVF8a2vdIKRiey5SZ5qu9c/mGri3oz7Lkk7qkNPAqDMCAwEAAQKCAgA3f9raG3j2CKZt381Bzzvfc0h+al6LC736Q4Ut6RuH2/S1ER9IUItPWW87nZuDp8ciBr13W0nRNmmHezxZHlgqqXEb8dSfI90Bh1jMNyFSSDihl3KSHrGotBscVBavViREXZdUicGBuXuxtkYno96yvKUq2v0K9MLkA+OBgEHFynqJaw7klBsj573dlAQO8TjI+eD8zKsHbB8Ul5rtRAy/Cl3YXWk75cDZSggevc7A0jRd3o0w8aXDoSlEfYq7OTm3n3JJWZBFPKAXTzgTDr6qItJhjS4IxXsq7RNyeIYES/8aGKKT6lJvjALrcdYt47IpHCOu447lG/h+f6xtDophLGZoAirO7lJFRVfLJh76sLF12bpXJKbbmMN+aut0nM+MLEw8A5K9OV24jJ/3+afj//5789asIyvNaQFPOX23SdLX0QbA5QWvJt2tWvvpS3ubcIJaBEMTK8asEBC68eUW0BBKJaSiYNzecUFYCBjQlxKsIrYuWZoW6fMyRel+cnqMdiH7r2p6RmgF5c9myDwq3E47jE+VrOy8uhw7EMQvT8+YSKaIbgtFZcUSU02BDRB7gWNa842m6nGs5tj5xFNQ6Wt410vilTwL+6zCQqJaKmcdE3woiIgSdrw5MssAHHjqo7QJthZfbpUAUTc6jGPNO13U1ediIRAGdQW5ALqTwQKCAQEA884bmFFZLTewHIv1PJFfNxVZfk3C7LhWE2JcI/5P/YrN4ZA8G08OYhgxqa5XnsHHQPwMM85i1HeOoPwqgTMIyLDX/Sf88+eW3ef4V2M1Y4op0ahWFEwbwXKGxOhncElObN7dfZUwVlxCReaiw2XQAGRqtQC0f+9dZysqPJr+Rz6poTiOtm7DcpW/WiGfBPvVhzBENyqouL9V3vCWYPJSLtCexECoGoPSpHKgUkwbh3+ra8SfG6FOIBj4PpMB82R7oPDjIyXF1VDfb0EwYQlKxyZoP9+NPT2MhZv/hF/Mbm/5LolVHx92hO9q6yxS6nvaFmEPr9fY1EOTWzzPOA+VyQKCAQEA7oVioaTqxENt+wHITZq100iYUpm4X1N1eENTp97QyQbQOVR/t8iGLUdvOZdIxBSTS3JFQ8TNcGDPPc+o319QGdZABNnKwFGY3Ss+5QgVeX6n0WKdxCRelUOUB174aBeXcJCKplh6xBUrLfSZxvZQQb7fv0Mb+2eKUBKTymvES1kpYdn1T0vCCHA3bVpaHuqliCoDSX3RmQICZlfSgCGBbAkmU8RuxDd9yR9l7O9MXUmLsqlsw6hvbUt+7Y13YlDtyX8gbCwEEYsoALOotY1xNfXnyZKTAXhrg+xsQLrURYZUoZiCJyK/mHCWRTPVkt89wq4IexbJ9hqlRjzpmlr8GwKCAQBxRSCs855q06SOnrehHCkQfmrFs3sMX9gdyWTllBG1yfc9BLXoOiKEkJkCLG2o5H6eQnuo1go0jBdH0+ArhnpeQ0sV4q4y4zXEgzFt6Dm1tUsYjQzxASskBQF4GkF0eZpmGmTtI5MBjHt93llgTr0EcaLh1SIHDj5m4DcPUTMyBnro3E3xlCRZ6Biu10/6EMZzuIj42Gjq7HoIyd4TzIFCHsqkgyWWrAgBPwAdPB7OJRKPTxpcy+RwJSmwaLxPSC/n5gKhIbt4D8q+9Zp0esyzGbT1d/c2rJHMwV1FMvzXkk5CwKs7enKl8FXMTRt4tXHtU8rl93JVq8+aY/YiJZuBAoIBAERG2lz7IFjeFHVtpTDRwIqilTfP2P8wnMe4PhInrgxdbu16SrUJKZ98e1I5BBNc8G0AYONtSoGItMo0z1phpkQ/GERLM8aplOB6qJ5XGg6VOuStHgwvfQOtPIp/nQvu9OK7/XRwj3Phu2KESiCyEXdAdDwDsdbdZLJXHwcqoh4Pf9EK2zW/seNIfBVJb9K5yHiZzicTZRQvhxBUw2T6MloCpH4GFM8GM3OHEV4pgeqSSvLxnLjFVmAq5EKL5Ei4cdjkExvj3aZH90N8KicOPgH8SkVhN8OL/Prein5c/LaKJV+8kEUzpTS1xc45cEGCteMsfjD97QINzpG0jgopUVECggEADIaKsx8NUQT3hm0wHRanEFJnQH5HzxaQjWbsjm2uz0KROPNIK1X5L8kypsb+EzlJtvWUqxPaOaTv4DZVpFaVzk8/2PPGsYR3mUjqMqNFYMrNwYZAXvJ/huzDPqq6+w2Pn9jcAifHNw3S8UR650v8gl7BU4fVBvhamG8JelvwLqeGWoikST9NBXVqG5IKBpUkUiFOMUNmRih9ooKvhy7GosoK8MWbmhWo1v8TTSXSagACUhAoIzb6mMN/VFC5WDbFx5AEB/G9tq/zmTqQkuo39dvgl30wyZGRNwc1aFf1Kxeven10/JN9ipp0mTa7NYSdn0RAe9ZRp5cCkgmktqmB0g==\n-----END RSA PRIVATE KEY-----","description":"The private key in Base64 PEM format.","type":"string","format":"pem-private-key"},"issuer.commonName":{"type":"string","description":"The name that issued the certificate.","example":"example.servername.com"}},"type":"object"},"type":"array"},"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null,"type":"array","nullable":true},"status":{"description":"- `1` — Success.\n- `0` — Failed. Check the `errors` field for more details.","example":1,"enum":[0,1],"type":"integer"}}},"func":{"type":"string","description":"The name of the method called.","example":"fetch_certificates_for_fqdns"}},"type":"object"}}}}},"tags":["SSL","cPanel Account SSL Management"]}}}},"enable_mail_sni":{"paths":{"/SSL/enable_mail_sni":{"get":{"summary":"Enable SNI mail services for domain","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  SSL \\\n  enable_mail_sni \\\n  domains='example.com|example1.com|example2.com'\n","lang":"Shell","label":"CLI"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/SSL/enable_mail_sni?domains=example.com%7cexample1.com%7cexample2.com"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file SSL_enable_mail_sni.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/SSL_enable_mail_sni.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/SSL/,\n    q/enable_mail_sni/,\n    {\n        'domains' => 'example.com|example1.com|example2.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file SSL_enable_mail_sni.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/SSL_enable_mail_sni.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'SSL',\n    'enable_mail_sni',\n    array (\n        'domains' => 'example.com|example1.com|example2.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-available-version":"cPanel 11.48","x-cpanel-api-version":"UAPI","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"type":"integer","description":"The version of the API.","example":3},"module":{"example":"SSL","description":"The name of the module called.","type":"string"},"result":{"properties":{"status":{"type":"integer","example":1,"enum":[0,1],"description":"* `1` - Success\n* `0` - Failed: Check the errors field for more details."},"metadata":{"properties":{}},"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"},"example":null,"type":"array","nullable":true},"data":{"example":{"updated_domains":{"example1.com":1,"example.com":1},"failed_domains":{"example2.com":"Sorry, example.com is not one of the domains on your account."}},"type":"object","properties":{"failed_domains":{"description":"An object that contains the domains that did not enable mail SNI.","additionalProperties":{"type":"string","example":"Sorry, example.com is not one of the domains on your account.","description":"The reason the domain failed to enable mail SNI.\n\n**Note:**\n\n The domain name is the return name."},"type":"object"},"updated_domains":{"type":"object","additionalProperties":{"type":"integer","description":"Whether the domain's SNI is enabled.\n\n* `1` - Enabled.\n* `0` - Not enabled.\n\n**Note:**\n\nThe domain name is the return name.","enum":[0,1],"example":1},"description":"An object that contains the domains with disabled mail SNI."}}},"messages":{"nullable":true,"type":"array","example":["cPanel & WHM always enables mail SNI from now on."],"description":"List of messages generated by the API.","items":{"type":"string"}},"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null}},"type":"object"},"func":{"type":"string","description":"The name of the method called.","example":"enable_mail_sni"}}}}}}},"tags":["SSL","SNI Email Settings"],"x-readonly":false,"operationId":"SSL-enable_mail_sni","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.","x-rollback":"none","parameters":[{"in":"query","name":"domains","required":true,"description":"A pipe-delimited list of the account's domains.","schema":{"type":"string","example":"example.com|example1.com|example2.com"}}]}}},"x-tagGroups":[{"tags":["SNI Email Settings"],"name":"SSL Certificates"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"servers":[{"url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}},"description":"A server running cPanel."}],"tags":[{"name":"SSL","description":"The SSL module for UAPI."},{"name":"SNI Email Settings","description":"SSL Certificates / SNI Email Settings"}],"openapi":"3.0.2","security":[{"BasicAuth":[]}],"info":{"license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"externalDocs":{"url":"https://cpanel.net/developers/"}},"is_sni_supported":{"security":[{"BasicAuth":[]}],"openapi":"3.0.2","tags":[{"description":"The SSL module for UAPI.","name":"SSL"},{"description":"SSL Certificates / SNI Email Settings","name":"SNI Email Settings"}],"servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"description":"A server running cPanel."}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"x-tagGroups":[{"tags":["SNI Email Settings"],"name":"SSL Certificates"}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"},"termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999"},"paths":{"/SSL/is_sni_supported":{"get":{"operationId":"SSL-is_sni_supported","x-readonly":true,"parameters":[],"tags":["SSL","SNI Email Settings"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"func":{"type":"string","description":"The name of the method called.","example":"is_sni_supported"},"module":{"type":"string","example":"SSL","description":"The name of the module called."},"result":{"type":"object","properties":{"status":{"type":"integer","example":1,"enum":[0,1],"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details."},"errors":{"example":null,"items":{"type":"string"},"description":"List of errors if the API failed.","nullable":true,"type":"array"},"messages":{"items":{"type":"string"},"description":"List of messages generated by the API.","example":null,"type":"array","nullable":true},"data":{"enum":[0,1],"example":1,"description":"Whether the Apache web server supports SNI.\n* `1` - Supported.\n* `0` - **Not** supported.","type":"integer"},"warnings":{"nullable":true,"type":"array","example":null,"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"}},"metadata":{"properties":{}}}},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}},"type":"object"}}}}},"x-cpanel-api-version":"UAPI","description":"This function checks whether the Apache web server supports SNI.\n\n**Important:**\n\nWhen you disable the [Calendars and Contacts, Receive Mail, Web Disk, Webmail, and Web Server roles](https://go.cpanel.net/serverroles), the system **disables** this function.","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  SSL \\\n  is_sni_supported\n","label":"CLI","lang":"Shell"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/SSL/is_sni_supported"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file SSL_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/<theme_name>/\n#    to .../frontend/<theme_name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file SSL_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/<theme_name>/\n//    to .../frontend/<theme_name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"summary":"Return whether Apache web server supports mail SNI","x-cpanel-available-version":"cPanel 11.42"}}}},"disable_mail_sni":{"paths":{"/SSL/disable_mail_sni":{"get":{"x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  SSL \\\n  disable_mail_sni \\\n  domains='example.com|example1.com|example2.com'\n","label":"CLI","lang":"Shell"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/SSL/disable_mail_sni?domains=example.com%7cexample1.com%7cexample2.com"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file SSL_disable_mail_sni.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/SSL_disable_mail_sni.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/SSL/,\n    q/disable_mail_sni/,\n    {\n        'domains' => 'example.com|example1.com|example2.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file SSL_disable_mail_sni.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/SSL_disable_mail_sni.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'SSL',\n    'disable_mail_sni',\n    array (\n        'domains' => 'example.com|example1.com|example2.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"summary":"Disable SNI mail services for domain","x-cpanel-available-version":"cPanel 11.48","x-cpanel-api-version":"UAPI","x-readonly":false,"operationId":"SSL-disable_mail_sni","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"result":{"type":"object","properties":{"status":{"enum":[0,1],"example":1,"description":"* `1` - Success\n* `0` - Failed: Check the errors field for more details.","type":"integer"},"errors":{"example":null,"items":{"type":"string"},"description":"List of errors if the API failed.","nullable":true,"type":"array"},"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"},"data":{"type":"object","properties":{"failed_domains":{"description":"An object containing the domains that failed to disable\n mail SNI.","type":"object","additionalProperties":{"type":"string","description":"The reason the domain failed to disable SNI.\n\n**Note:**\n\n The domain name is the return name."}},"updated_domains":{"type":"object","additionalProperties":{"description":"Whether the domain's SNI is disabled.\n\n* `1` - Disabled.\n* `0` - Not disabled.\n\n**Note:**\n\nThe domain name is the return name.","enum":[0,1],"type":"integer"},"description":"AN object containing the domains with disabled mail SNI."}},"example":{"updated_domains":{"example1.com":1,"example.com":1},"failed_domains":{"example2.com":"Sorry, example2.com is not one of the domains on your account."}}},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"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},"metadata":{"properties":{}}}},"module":{"description":"The name of the module called.","example":"SSL","type":"string"},"func":{"description":"The name of the method called.","example":"disable_mail_sni","type":"string"}}}}}}},"tags":["SSL","SNI Email Settings"],"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.","parameters":[{"description":"A pipe-delimited list of the account's domains.","required":true,"schema":{"example":"example.com|example1.com|example2.com","type":"string"},"name":"domains","in":"query"}]}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"},"license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."},"security":[{"BasicAuth":[]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"x-tagGroups":[{"tags":["SNI Email Settings"],"name":"SSL Certificates"}],"openapi":"3.0.2","tags":[{"name":"SSL","description":"The SSL module for UAPI."},{"name":"SNI Email Settings","description":"SSL Certificates / SNI Email Settings"}],"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."}}}]},"check_shared_cert":{"paths":{"/SSL/check_shared_cert":{"get":{"x-cpanel-api-version":"UAPI","x-cpanel-available-version":"cPanel 11.42","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  SSL \\\n  check_shared_cert\n","lang":"Shell","label":"CLI"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/SSL/check_shared_cert","label":"URL","lang":"HTTP"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file SSL_check_shared_cert.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/SSL_check_shared_cert.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/SSL/,\n    q/check_shared_cert/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file SSL_check_shared_cert.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/SSL_check_shared_cert.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'SSL',\n    'check_shared_cert'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"summary":"Return whether shared SSL certificate exists","x-readonly":true,"operationId":"SSL-check_shared_cert","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"func":{"type":"string","example":"check_shared_cert","description":"The name of the method called."},"module":{"example":"SSL","description":"The name of the module called.","type":"string"},"result":{"type":"object","properties":{"status":{"type":"integer","description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","example":0,"enum":[0,1]},"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null},"messages":{"items":{"type":"string"},"description":"List of messages generated by the API.","example":null,"type":"array","nullable":true},"data":{"description":"Whether a shared SSL certificate is associated with the account.\n* `1` - Associated.\n* `0` - Not associated.","enum":[0,1],"example":0,"type":"integer"},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"metadata":{"properties":{}}}}}}}},"description":"HTTP Request was successful."}},"tags":["SSL","cPanel Account SSL Management"],"deprecated":true,"description":"This function checks whether a shared SSL certificate is associated with the account.","parameters":[]}}},"security":[{"BasicAuth":[]}],"openapi":"3.0.2","tags":[{"description":"The SSL module for UAPI.","name":"SSL"},{"name":"cPanel Account SSL Management","description":"SSL Certificates / cPanel Account SSL Management"}],"servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}}}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"x-tagGroups":[{"tags":["cPanel Account SSL Management"],"name":"SSL Certificates"}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."}},"rebuildssldb":{"security":[{"BasicAuth":[]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"name":"SSL Certificates","tags":["cPanel Account SSL Management"]}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute"}],"tags":[{"name":"SSL","description":"The SSL module for UAPI."},{"description":"SSL Certificates / cPanel Account SSL Management","name":"cPanel Account SSL Management"}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"}},"paths":{"/SSL/rebuildssldb":{"get":{"operationId":"SSL-rebuildssldb","x-readonly":false,"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"func":{"example":"rebuildssldb","description":"The name of the method called.","type":"string"},"module":{"example":"SSL","description":"The name of the module called.","type":"string"},"result":{"properties":{"status":{"description":"- 1 - Success.\n- 0 - Failed. Check the `errors` field for more details.","example":1,"enum":[1,0],"type":"integer"},"metadata":{"properties":{}},"data":{},"warnings":{"example":null,"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"},"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"},"errors":{"nullable":true,"type":"array","example":null,"description":"List of errors if the API failed.","items":{"type":"string"}}},"type":"object"}}}}},"description":"HTTP Request was successful."}},"tags":["SSL","cPanel Account SSL Management"],"parameters":[],"x-rollback":"none","x-cpanel-api-version":"UAPI","description":"This function rebuilds the account's SSL database.","x-cpanel-available-version":"cPanel 11.42","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  SSL \\\n  rebuildssldb\n","label":"CLI","lang":"Shell"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/SSL/rebuildssldb"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file SSL_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/<theme_name>/\n#    to .../frontend/<theme_name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file SSL_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/<theme_name>/\n//    to .../frontend/<theme_name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Start SSL database rebuild"}}}},"delete_csr":{"paths":{"/SSL/delete_csr":{"get":{"description":"This function deletes a certificate signing request (CSR).\n\n**Note:**\n\n* When you call this function, you **must** include the `id` or the `friendly_name`\nparameter.\n* To delete a private key, use the UAPI `SSL::delete_key` function instead.\n\n**Important:**\n\nWhen you disable the Calendars and Contacts, Receive Mail, Web Disk, Webmail,\nand Web Server [roles](https://go.cpanel.net/howtouseserverprofiles#roles),\nthe system **disables** this function.","x-rollback":"none","parameters":[{"required":false,"description":"The CSR's ID.","schema":{"example":"example_com_e095f_0ab2f_ebcbe4a571276f48562241411556647f","type":"string"},"in":"query","name":"id"},{"description":"The CSR's friendly name.","required":false,"schema":{"example":"TestCSR","type":"string"},"name":"friendly_name","in":"query"}],"x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  SSL \\\n  delete_csr\n","lang":"Shell","label":"CLI"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/SSL/delete_csr"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file SSL_delete_csr.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/SSL_delete_csr.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/SSL/,\n    q/delete_csr/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file SSL_delete_csr.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/SSL_delete_csr.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'SSL',\n    'delete_csr'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-available-version":"cPanel 11.42","summary":"Delete certificate signing request","x-cpanel-api-version":"UAPI","tags":["SSL","SSL Certificate Management"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"type":"integer","description":"The version of the API.","example":3},"result":{"type":"object","properties":{"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null},"metadata":{"properties":{"transformed":{"type":"integer","description":"Post-processing may have transformed the data.","enum":[1],"example":1}}},"status":{"type":"integer","description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","example":1,"enum":[1,0]},"messages":{"example":null,"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"},"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API."},"data":{"type":"array","items":{"type":"object","properties":{"ecdsa_curve_name":{"description":"The ECDSA curve that the CSR's key uses.\n\n* `prime256v1`\n* `secp384r1`\n* `null` — The CSR's key is **not** an ECDSA key.","example":"prime256v1","enum":["prime256v1","secp384r1"],"type":"string","nullable":true},"friendly_name":{"example":"TestCSR","description":"The CSR's friendly name.","type":"string"},"commonName":{"format":"domain","type":"string","example":"example.com","description":"The CSR's Common Name."},"modulus":{"type":"string","nullable":true,"description":"The CSR's key's modulus, in hexadecimal format.\n\n* `null` — The CSR's key is **not** an RSA key.","example":"a74f7636fa6ac93ee6836a83a995b55deb5019ea36d7ba3dafb00e38d693acd\nb0c81b2ff777d6b433a420fae523f127f352a68bcc8b8f2d6ee7b70395bafab\nd8237ada8164fdddf8376b30375c35d4d4cbcce7d33d08069c17b409176a368\n9f1ebc97c0b08fe6ae44c19a92ac6d68448e7f1d13f3b360affd4222a51b4f3\n5342de99b5a1fb5548e438f2d824664562a448002eed7fce24dedc7dc3e1ed1\n79973d1dae959b33716eeb410d172708954e00632cbf60a0e26419860c8c0bc\n285d6bfe4b479de0dd189772a5dae676bd2a92acccc1369821be8cffddd8a7e\n6ecc061f8a32a9ae0661e4e946ed8e3827b277138d3a76116567cbd129cbd86\n9ef9dddf"},"ecdsa_public":{"example":null,"description":"The CSR's key's ECDSA compressed public point, in hexadecimal format.\n\n* `null` — The CSR's key is **not** an ECDSA key.","nullable":true,"type":"string"},"id":{"type":"string","description":"The CSR's ID.","example":"example_com_e095f_0ab2f_ebcbe4a571276f48562241411556647f"},"created":{"type":"integer","format":"unix_timestamp","example":1538308800,"description":"The CSR's creation date."},"domains":{"type":"array","items":{"example":"example.com","type":"string"},"description":"A list of the domains that the CSR covers."},"key_algorithm":{"example":"rsaEncryption","enum":["rsaEncryption","id-ecPublicKey"],"description":"The CSR's key's algorithm.\n\n* `rsaEncryption` — RSA.\n* `id-ecPublicKey` — ECDSA.","type":"string"}}}}}},"module":{"description":"The name of the module called.","example":"SSL","type":"string"},"func":{"description":"The name of the method called.","example":"delete_csr","type":"string"}}}}}}},"operationId":"SSL-delete_csr","x-readonly":false}}},"info":{"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"},"license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."},"externalDocs":{"url":"https://cpanel.net/developers/"},"x-tagGroups":[{"tags":["SSL Certificate Management"],"name":"SSL Certificates"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"openapi":"3.0.2","tags":[{"description":"The SSL module for UAPI.","name":"SSL"},{"name":"SSL Certificate Management","description":"SSL Certificates / SSL Certificate Management"}],"servers":[{"variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"security":[{"BasicAuth":[]}]},"get_autossl_excluded_domains":{"paths":{"/SSL/get_autossl_excluded_domains":{"get":{"x-cpanel-api-version":"UAPI","x-cpanel-available-version":"cPanel 66","summary":"Return AutoSSL disabled domains","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  SSL \\\n  get_autossl_excluded_domains\n","lang":"Shell","label":"CLI"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/SSL/get_autossl_excluded_domains","lang":"HTTP","label":"URL"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file SSL_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/<theme_name>/\n#    to .../frontend/<theme_name>/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}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file SSL_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/<theme_name>/\n//    to .../frontend/<theme_name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"description":"This function lists the domains with AutoSSL disabled.","operationId":"SSL-get_autossl_excluded_domains","x-readonly":true,"parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"result":{"properties":{"status":{"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","example":1,"enum":[0,1],"type":"integer"},"data":{"description":"An array of objects that include domain's AutoSSL information.","items":{"properties":{"excluded_domain":{"example":"example.com","description":"A domain that has AutoSSL disabled.","type":"string"}},"type":"object"},"type":"array"},"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"},"example":null,"type":"array","nullable":true},"metadata":{"properties":{}},"errors":{"example":null,"items":{"type":"string"},"description":"List of errors if the API failed.","nullable":true,"type":"array"},"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."}},"type":"object"},"module":{"description":"The name of the module called.","example":"SSL","type":"string"},"func":{"description":"The name of the method called.","example":"get_autossl_excluded_domains","type":"string"},"apiversion":{"type":"integer","example":3,"description":"The version of the API."}},"type":"object"}}},"description":"HTTP Request was successful."}},"tags":["SSL","Auto-generated SSL Certificates"]}}},"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"x-tagGroups":[{"name":"SSL Certificates","tags":["Auto-generated SSL Certificates"]}],"servers":[{"description":"A server running cPanel.","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"url":"https://{host}:{port}/execute"}],"openapi":"3.0.2","tags":[{"name":"SSL","description":"The SSL module for UAPI."},{"description":"SSL Certificates / Auto-generated SSL Certificates","name":"Auto-generated SSL Certificates"}],"security":[{"BasicAuth":[]}],"info":{"termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"}},"externalDocs":{"url":"https://cpanel.net/developers/"}},"set_primary_ssl":{"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/"},"externalDocs":{"url":"https://cpanel.net/developers/"},"x-tagGroups":[{"name":"SSL Certificates","tags":["SSL Certificate Management"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"servers":[{"description":"A server running cPanel.","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"url":"https://{host}:{port}/execute"}],"openapi":"3.0.2","tags":[{"description":"The SSL module for UAPI.","name":"SSL"},{"name":"SSL Certificate Management","description":"SSL Certificates / SSL Certificate Management"}],"security":[{"BasicAuth":[]}],"paths":{"/SSL/set_primary_ssl":{"get":{"parameters":[{"name":"servername","in":"query","required":true,"description":"The primary SSL website's servername.","schema":{"format":"domain","type":"string","example":"hostname.example.com"}}],"description":"This function sets a new primary SSL website for a dedicated IP address.\n\n**Important:**\n\nWhen you disable the [Calendars and Contacts, Receive Mail, Web Disk, Webmail, and Web Server roles](https://go.cpanel.net/serverroles), the system **disables** this function.","x-rollback":"none","tags":["SSL","SSL Certificate Management"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"description":"The version of the API.","example":3,"type":"integer"},"func":{"type":"string","description":"The name of the method called.","example":"set_primary_ssl"},"result":{"properties":{"metadata":{"properties":{}},"data":{"default":null,"nullable":true,"type":"object"},"warnings":{"nullable":true,"type":"array","example":null,"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"}},"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"status":{"type":"integer","example":1,"enum":[0,1],"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details."}}},"module":{"example":"SSL","description":"The name of the module called.","type":"string"}}}}}}},"x-readonly":false,"operationId":"SSL-set_primary_ssl","x-codeSamples":[{"lang":"Shell","label":"CLI","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# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file SSL_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/<theme_name>/\n#    to .../frontend/<theme_name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file SSL_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/<theme_name>/\n//    to .../frontend/<theme_name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"summary":"Update SSL website for dedicated IP address","x-cpanel-available-version":"cPanel 11.42","x-cpanel-api-version":"UAPI"}}}},"set_csr_friendly_name":{"paths":{"/SSL/set_csr_friendly_name":{"get":{"tags":["SSL","SSL Certificate Management"],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"func":{"type":"string","description":"The name of the method called.","example":"set_csr_friendly_name"},"module":{"example":"SSL","description":"The name of the module called.","type":"string"},"result":{"properties":{"status":{"type":"integer","description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","example":1,"enum":[0,1]},"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null},"warnings":{"example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","nullable":true,"type":"array"},"data":{"nullable":true,"type":"object","default":null},"metadata":{"properties":{}}}}}}}},"description":"HTTP Request was successful."}},"parameters":[{"schema":{"example":"TestCSR","type":"string"},"description":"The CSR's friendly name.","required":true,"name":"friendly_name","in":"query"},{"description":"The CSR's ID.\n\n**Note:**\n\nTo retrieve a CSR's ID, use the UAPI `list_csrs` function.","required":true,"schema":{"type":"string","example":"example_com_eda9d_543fb_a3009b4b01a592390866ab3a47c0df18"},"in":"query","name":"id"},{"description":"The CSR's new friendly name.","required":true,"schema":{"type":"string","example":"TestCSR2"},"in":"query","name":"new_friendly_name"}],"operationId":"SSL-set_csr_friendly_name","x-readonly":false,"x-cpanel-api-version":"UAPI","description":"This function changes a certificate signing request's (CSR) friendly name.\n\n**Important:**\n\n* You **must** call either the `friendly_name` or `id` parameter.\n* When you disable the Calendars and Contacts, Receive Mail, Web Disk, Webmail, and Web Server [roles](https://go.cpanel.net/serverroles), the system **disables** this function.","x-codeSamples":[{"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","lang":"Shell","label":"CLI"},{"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":"URL","lang":"HTTP"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file SSL_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/<theme_name>/\n#    to .../frontend/<theme_name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file SSL_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/<theme_name>/\n//    to .../frontend/<theme_name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 11.42","summary":"Update certificate signing request's friendly name","x-rollback":"none"}}},"x-tagGroups":[{"tags":["SSL Certificate Management"],"name":"SSL Certificates"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"openapi":"3.0.2","tags":[{"description":"The SSL module for UAPI.","name":"SSL"},{"name":"SSL Certificate Management","description":"SSL Certificates / SSL Certificate Management"}],"servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}}}],"security":[{"BasicAuth":[]}],"info":{"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI"},"externalDocs":{"url":"https://cpanel.net/developers/"}},"generate_cert":{"paths":{"/SSL/generate_cert":{"get":{"parameters":[{"in":"query","name":"domains","examples":{"multiple":{"summary":"Generate certificates for multiple domains.","value":"domains=example1.com,example2.com,example3.com"},"single":{"value":"example.com","summary":"Generate a certificate for a domain."}},"description":"A comma-separated list of domains for which to generate the certificate.","required":true,"schema":{"type":"string","format":"domain"}},{"in":"query","name":"countryName","required":true,"description":"The two-letter country code.","schema":{"example":"US","format":"ISO-3166-1 (alpha-2)","type":"string"}},{"schema":{"type":"string","example":"TX"},"description":"The two-letter state or locality abbreviation.","required":true,"in":"query","name":"stateOrProvinceName"},{"required":true,"description":"The certificate's city or locality name.","schema":{"type":"string","example":"Houston"},"in":"query","name":"localityName"},{"name":"organizationName","in":"query","required":true,"description":"The certificate's Organization Name.","schema":{"example":"Organization","type":"string"}},{"schema":{"example":"Department","default":"","type":"string"},"required":false,"description":"The certificate's organizational unit or department name.","in":"query","name":"organizationalUnitName"},{"in":"query","name":"emailAddress","schema":{"example":"username@example.com","type":"string","format":"email"},"description":"An email address to associate with the certificate.","required":false},{"schema":{"type":"string","example":"example_com_cb497_a394d_1397249671_d1272da8f13a1fd837493a5ad1f0a0f3"},"required":true,"description":"The key's ID.","in":"query","name":"key_id"},{"in":"query","name":"friendly_name","required":false,"description":"A friendly name for the new certificate.\n\nThis parameter defaults to the domain's name for which you generated the\ncertificate.","schema":{"example":"TestCert","type":"string"}}],"x-rollback":"none","description":"This function generates a self-signed SSL certificate.\n\n**Important:**\n\nWhen you disable the Calendars and Contacts, Receive Mail, Web Disk, Webmail,\nand Web Server [roles](https://go.cpanel.net/howtouseserverprofiles#roles),\nthe system **disables** this function.","operationId":"SSL-generate_cert","x-readonly":false,"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"module":{"type":"string","description":"The name of the module called.","example":"SSL"},"result":{"type":"object","properties":{"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"messages":{"nullable":true,"type":"array","description":"List of messages generated by the API.","items":{"example":"Certificate generated","type":"string"}},"data":{"properties":{"is_self_signed":{"description":"Whether the certificate is self-signed.\n\n* `1` — Self-signed.\n* `0` — Not self-signed.","example":1,"enum":[1,0],"type":"integer"},"created":{"example":1538308800,"description":"The certificate's creation date.","format":"unix_timestamp","type":"integer"},"not_after":{"format":"unix_timestamp","type":"integer","example":1569844800,"description":"The date that the certificate expires."},"id":{"example":"example_com_a74f7_9dddf_1446659822_eae1ff43c4ec1991e195877c55755eff","description":"The certificate's ID.","type":"string"},"modulus":{"description":"The certificate's key's modulus, in hexadecimal format.\n\n* `null` — The certificate's key is **not** an RSA key.","example":"a673c3b17344664b35f8791f562d3aea6bf4d8faa3ae3fc0a519380fd453964a36677c34d48677ecb7f5ed035df026f5f0f8fbfe21745e52daf1f3b9e58c73f0baefdb709320e2202e7d05250b051a59b30ff1fef22d83d7140c1c81cea314a0890ce8d2226799872181c58a74016c7aaa2cff5ac72b575cecde8f304aa572a2ea03d8b173ab76c6e8cdb9dfd0da81e1119cefd4b8b4dbfbe0e46c7f1ee2fe8b5fd5504e58ccbc0d13b4fa41ecc9ebd0dabe1d1fec5c724f748167e7c0553e997f9b77eb36abce70973f06df151748d41b758de3efd7afa6f2464a1547f5ff158469d96e248be464df9eda0e7ce854a89332a2c1278b17c425368a9604f454db","type":"string","nullable":true},"friendly_name":{"description":"The certificate's friendly name.","example":"TestCert","type":"string"},"serial":{"example":"01e57e4d92","description":"The certificate's serial number.","type":"string"},"text":{"example":"-----BEGIN CERTIFICATE-----\nMIIGBzCCA++gAwIBAgIFAeV+TZIwDQYJKoZIhvcNAQELBQAwUjELMAkGA1UECAwC\nVFgxEDAOBgNVBAcMB0hvdXN0b24xCzAJBgNVBAYTAlVTMRMwEQYDVQQDDAptcmZy\nb2cuY29tMQ8wDQYDVQQKDAZjUGFuZWwwHhcNMjAwNjA4MTUyNjA0WhcNMjEwNjA4\nMTUyNjA0WjBSMQswCQYDVQQIDAJUWDEQMA4GA1UEBwwHSG91c3RvbjELMAkGA1UE\nBhMCVVMxEzARBgNVBAMMCm1yZnJvZy5jb20xDzANBgNVBAoMBmNQYW5lbDCCAiIw\nDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK/PpzRsms2ZZmA1EG2rNYZaAq2z\nbhUGN6YMpugDwPL9xuqDwf0WUdoBjSBbty7rb5zMCZ+Ty3xHFAo15TLQXqtM0zIo\nh/FRET9rtl6EuXFFFN+eAiV4GgZJVmVMmcgXNGgSjKZHhie5THkGJbwXXRxZryHN\nQIeLlT7DttSwoAh9rEbk6hHKyyoQQ4rSkNXREUZTN3Gk7u7et8iYWl1FBkmJkFDJ\nH4Ys678md7AiXndb4YkOQd2CEgoWXMaMLWJcFkdAmrIYhRmJvyp3BzF9hEkg+qPp\nVEyIL/xVxScdxiFKGWbiHr10UiFt/0+g0gToyUXCmsfo01p0oqrk4qRSZMnUtfdX\nW06vvD64x4Z4M4Jh5WqzVEXEdppzJx09Z7MBK6GLN82pV46x8jp87cBL1LZrpWDinerx+6Vr7YC62itfp6aJ2q6vkxCh4u8T6EjPEcpZAEh5SiQZaOLhAlqgt/lwPpuCW\nQ7LEi/Vg4aG3yb/z8e2BvRK5nnCHd7OOZqg7HJ9UnrzFxeQ8KyvcxP+oYD3h0EvZ\n1zVTbJDLbYuohqbLts3Skuk1hT9HoeWqrmzn2XkoU8LkvzCcRT0oG40BfFr4z7Zz\nsKfG9Z4e06kb1YAPrSqd9w/iI1Ej8cRhBBlowYFq9RjNlkjJCwKlxzynNAJjoQ5W\nU5NJzKjUz6ChHAAtAgMBAAGjgeMwgeAwHQYDVR0OBBYEFFczMNVfcxDsyk27GfjD\nC0Z1Yv+mMAkGA1UdEwQCMAAwfgYDVR0jBHcwdYAUVzMw1V9zEOzKTbsZ+MMLRnVi\n/6ahVqRUMFIxCzAJBgNVBAgMAlRYMRAwDgYDVQQHDAdIb3VzdG9uMQswCQYDVQQG\nEwJVUzETMBEGA1UEAwwKbXJmcm9nLmNvbTEPMA0GA1UECgwGY1BhbmVsggUB5X5N\nkjAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwFQYDVR0RBA4wDIIKbXJm\ncm9nLmNvbTANBgkqhkiG9w0BAQsFAAOCAgEArbNqSdABFWy8NbpDGDAoi2rpw/aM\nWu18iEAHmPg9YekIngNpxZg4b8SB4jrNSSqB0pK8asckxmAcho/pnAx4rOFibftd\nDmGzYxGN9h60JkVToWSn3UQ/0dbqfhfTbGiQvJHTNqB3pQVvWenMFRz9XEcpMDUj\n7UKR8v2xe5Y25yvNPVezYF2/x85awlOoSa00UlKgqh0OU+iuzQZ9T3wtk5uvlc7Z\nIEzBseIn3Kp/WG3P64Rxn95YT6QssKJ+pZ412yKM7vKdcuglNLTv5cx4ffKFN1jm\nanCmPXgYsUdAazmZVSjVuVN7d2+NL+SDVczZCdJ2Vhk5DPqv8ZnHUF7MT+K6vtQd\nJ16+pszCF55t9w5uPqur67/R00dCWLpxvHRRF8J+2Xverhmex5kR6a1nUlbP1oOP\nVq+EmcAL0PP6qdDr8fkjgvNyX7hT+cuiPBbxpY6XfDSlat5+5T2lJ1Ny6GWhBnaR\n35g3EF8ysu3AYQnDwtZrOrEa08lDN3mbrkT3ImSa5oZKgOrlpCZ0dzi8p4wSrboq\n9eZyqikEvuudz+VeQf1WR/6/FsyRq2PEtjgX1atWZiPfatN5f1YVxcElTvuMzyOP\nZXjpUs8MO+CHF1FwtKm52NNItIlnUY7KPpFU8L+oa8O2BMr91wi8NpTR2gd0F+jH\n21NkfEM7YlXzgMw=\n-----END CERTIFICATE-----\n","description":"The certificate's text.","format":"pem-certificate","type":"string"},"domains":{"items":{"example":"example.com","type":"string","format":"domain"},"description":"A list of domains that the certificate covers.","type":"array"},"modulus_length":{"example":2048,"description":"The length, in bits, of the certificate's key's modulus.\n\n* `null` — The certificate's key is **not** an RSA key.","nullable":true,"type":"integer"},"validation_type":{"nullable":true,"type":"string","example":null,"description":"The certificate's validation type, if one exists."},"key_algorithm":{"description":"The certificate's key's algorithm.\n\n* `rsaEncryption` — RSA.\n* `id-ecPublicKey` — ECDSA.","example":"rsaEncryption","enum":["rsaEncryption","id-ecPublicKey"],"type":"string"},"signature_algorithm":{"type":"string","example":"sha256WithRSAEncryption","description":"The certificate's OID hash algorithm signature."},"issuer.organizationName":{"type":"string","example":"Organization","description":"The certificate's Organization Name."},"ecdsa_public":{"type":"string","nullable":true,"description":"The certificate's key's ECDSA compressed public point, in hexadecimal format.\n\n* null — The certificate's key is **not** an ECDSA key.","example":null},"subject.commonName":{"example":"example.com","description":"The domain that issued the certificate.","format":"domain","type":"string"},"ecdsa_curve_name":{"type":"string","nullable":true,"description":"The ECDSA curve that the certificate's key uses.\n\n* `prime256v1`\n* `secp384r1`\n* `null` — The certificate's key is **not** an ECDSA key.","enum":["prime256v1","secp384r1"],"example":"prime256v1"},"not_before":{"format":"unix_timestamp","type":"integer","description":"The certificate's start date.","example":1538308800},"issuer.commonName":{"description":"The certificate's Common Name.","example":"example.com","type":"string"}},"type":"object"},"warnings":{"example":null,"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"},"metadata":{"properties":{}},"status":{"type":"integer","description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","enum":[1,0],"example":1}}},"func":{"type":"string","description":"The name of the method called.","example":"generate_cert"},"apiversion":{"example":3,"description":"The version of the API.","type":"integer"}}}}}}},"tags":["SSL","SSL Certificate Management"],"x-cpanel-api-version":"UAPI","x-codeSamples":[{"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","lang":"Shell","label":"CLI"},{"lang":"HTTP","label":"URL","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"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file SSL_generate_cert.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/SSL_generate_cert.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/SSL/,\n    q/generate_cert/,\n    {\n        'domains' => 'example.com',\n        'countryName' => 'US',\n        'stateOrProvinceName' => 'TX',\n        'localityName' => 'Houston',\n        'organizationName' => 'Organization',\n        'key_id' => 'example_com_cb497_a394d_1397249671_d1272da8f13a1fd837493a5ad1f0a0f3',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file SSL_generate_cert.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/SSL_generate_cert.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'SSL',\n    'generate_cert',\n    array (\n        'domains' => 'example.com',\n        'countryName' => 'US',\n        'stateOrProvinceName' => 'TX',\n        'localityName' => 'Houston',\n        'organizationName' => 'Organization',\n        'key_id' => 'example_com_cb497_a394d_1397249671_d1272da8f13a1fd837493a5ad1f0a0f3',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Create self-signed SSL certificate","x-cpanel-available-version":"cPanel 11.42"}}},"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"x-tagGroups":[{"name":"SSL Certificates","tags":["SSL Certificate Management"]}],"servers":[{"url":"https://{host}:{port}/execute","variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"description":"The cPanel port.","default":"2083"}},"description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"name":"SSL","description":"The SSL module for UAPI."},{"name":"SSL Certificate Management","description":"SSL Certificates / SSL Certificate Management"}],"security":[{"BasicAuth":[]}],"info":{"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"},"termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."},"externalDocs":{"url":"https://cpanel.net/developers/"}},"rebuild_mail_sni_config":{"info":{"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/","contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"openapi":"3.0.2","tags":[{"description":"The SSL module for UAPI.","name":"SSL"},{"description":"SSL Certificates / SNI Email Settings","name":"SNI Email Settings"}],"servers":[{"description":"A server running cPanel.","variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute"}],"x-tagGroups":[{"name":"SSL Certificates","tags":["SNI Email Settings"]}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"security":[{"BasicAuth":[]}],"paths":{"/SSL/rebuild_mail_sni_config":{"get":{"x-rollback":"none","x-cpanel-api-version":"UAPI","summary":"Start SNI configuration files rebuild","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  SSL \\\n  rebuild_mail_sni_config\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/SSL/rebuild_mail_sni_config","label":"URL","lang":"HTTP"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file SSL_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/<theme_name>/\n#    to .../frontend/<theme_name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file SSL_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/<theme_name>/\n//    to .../frontend/<theme_name>/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\nheader('Content-Type: text/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\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-available-version":"cPanel 11.48","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","x-readonly":false,"parameters":[{"schema":{"default":1,"enum":[0,1],"example":1,"type":"integer"},"required":false,"description":"Whether to reload the Dovecot service after the system rebuilds\nthe configuration files.\n* `1` - Reload Dovecot.\n* `0` - Do **not** reload Dovecot.","in":"query","name":"reload_dovecot"}],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"func":{"example":"rebuild_mail_sni_config","description":"The name of the method called.","type":"string"},"module":{"type":"string","example":"SSL","description":"The name of the module called."},"result":{"properties":{"errors":{"nullable":true,"type":"array","example":null,"description":"List of errors if the API failed.","items":{"type":"string"}},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}},"data":{"type":"object","properties":{"success":{"type":"integer","description":"Whether the system rebuilt the configuration files.\n* `1` - Configuration files rebuilt.\n* `0` - Configuration files **not** rebuilt.","enum":[0,1],"example":1}}},"warnings":{"example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","nullable":true,"type":"array"},"metadata":{"properties":{}},"status":{"type":"integer","description":"* `1` - Success\n* `0` - Failed: Check the errors field for more details.","example":1,"enum":[0,1]}},"type":"object"},"apiversion":{"type":"integer","example":3,"description":"The version of the API."}},"type":"object"}}}}},"tags":["SSL","SNI Email Settings"]}}}},"fetch_best_for_domain":{"info":{"license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"x-tagGroups":[{"name":"SSL Certificates","tags":["cPanel Account SSL Management"]}],"servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"name":"SSL","description":"The SSL module for UAPI."},{"description":"SSL Certificates / cPanel Account SSL Management","name":"cPanel Account SSL Management"}],"security":[{"BasicAuth":[]}],"paths":{"/SSL/fetch_best_for_domain":{"get":{"x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  SSL \\\n  fetch_best_for_domain \\\n  domain='example.com'\n","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/SSL/fetch_best_for_domain?domain=example.com","lang":"HTTP","label":"URL"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file SSL_fetch_best_for_domain.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/SSL_fetch_best_for_domain.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/SSL/,\n    q/fetch_best_for_domain/,\n    {\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file SSL_fetch_best_for_domain.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/SSL_fetch_best_for_domain.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'SSL',\n    'fetch_best_for_domain',\n    array (\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"summary":"Request best SSL certificate","x-cpanel-available-version":"cPanel 11.42","x-cpanel-api-version":"UAPI","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"func":{"example":"fetch_best_for_domain","description":"The name of the method called.","type":"string"},"result":{"type":"object","properties":{"data":{"properties":{"crt_origin":{"format":"username","type":"string","description":"The username that generated the certificate.","example":"username"},"status":{"enum":[0,1],"example":1,"description":"Whether the certificate is active.\n* `1` - Active.\n* `0` - Inactive.","type":"integer"},"statusmsg":{"example":"ok","description":"The certificate's status.","type":"string"},"cab":{"example":"-----BEGIN CERTIFICATE-----\nMIID/DCCAuSgZwBBAvIFANEXIaYwDQYJKoZIhvcNAQELBQAwFjEUMBIGA1UEAwwL\nZXhhbXBsZS5jb20wHhcNMjAwNDA2MTY0NDU2WhcNMjEwNDA2MTY0NDU2WjAWMRQw\nEgYDVQQDDAtleGFtcGxlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC\nggEBALuCGWz/aFOr5TPBehISu3LkcGvnNFg9eY8rVXbNFfpBzyzdWrx5IiMtBcDx\nAZXMOU7GSZyFhSB6cjNfCaESXC/gBTa0sZ/b4b4etNUlNHUFAatb9WckQ6AtWbVA\npxu8aw/5AjAKgMbkaNrUY3vzLzin11CyGOFkbAKwVqT13Z3Yyz/xuz7x2+yMwPBh\n9mEP0tXjvCz7NzETFSTysn9Sf+VjUle0upnpl8Q7GK52CDpvwdqE/O6MrTx/XrXm\nYUfeSkZd+nqFm4oxmrf01hOL2IlEit1RupILwVm2/8CK2sAdazTqh4LapA962b9V\nSKm31YbsGT3kQg5EERbjIgiN6M8CAwEAAaOCAU8wggFLMB0GA1UdDgQWBBRhFUQb\nh7YE6tgcpiHke60td96d4zAJBgNVHRMEAjAAMEIGA1UdIwQ7MDmAFGEVRBuHtgTq\n2BymIeR7rS133p3joRqkGDAWMRQwEgYDVQQDDAtleGFtcGxlLmNvbYIFANEXIaYw\nHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMIG7BgNVHREEgbMwgbCCC2V4\nYW1wbGUuY29tghBtYWlsLmV4YW1wbGUuY29tgg93d3cuZXhhbXBsZS5jb22CEmNw\nYW5lbC5leGFtcGxlLmNvbYITd2VibWFpbC5leGFtcGxlLmNvbYITd2ViZGlzay5l\neGFtcGxlLmNvbYIWY3Bjb250YWN0cy5leGFtcGxlLmNvbYIXY3BjYWxlbmRhcnMu\nZXhhbXBsZS5jb22CD3dobS5leGFtcGxlLmNvbTANBgkqhkiG9w0BAQsFAAOCAQEA\nT0TaI0ypM3eqtRSddgyoy5+nXi8a9a8xFKrwEAljBua3rNR6fOfedMOg9NFwCmQD\nw96/eZJjq+xMh57yLEGu05OBbyFVsdu2AXVhwHeBaURrGn5p7IjNM+dB+ld+oCnP\nex6iisbsfxwUqa7y2vqTU5XaUiXfccqEz8ofvuTcqNs8bgGn0Tm90XbgGnPVd7zl\nGm4t7Gf2pvMNd2R1prJ07z42bp/z8E2DcFhb/QZnblFOhJ8jPspxYK4G5XmwwYZD\n79NDK47OyG3hTiinxroKMjqIgnLT7ZabDMGHJkcg5xOL/VdYi7ZGHAnBEwA8eadO\ndh3jFPxGGIBJTTmKIScSrm==\n-----END CERTIFICATE-----","description":"The CA bundle's contents (if applicable).","type":"string","format":"pem-certificate"},"crt":{"format":"pem-certificate","type":"string","example":"-----BEGIN CERTIFICATE-----\nMIID/DCCAuSgZwBBAvIFANEXIaYwDQYJKoZIhvcNAQELBQAwFjEUMBIGA1UEAwwL\nZXhhbXBsZS5jb20wHhcNMjAwNDA2MTY0NDU2WhcNMjEwNDA2MTY0NDU2WjAWMRQw\nEgYDVQQDDAtleGFtcGxlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC\nggEBALuCGWz/aFOr5TPBehISu3LkcGvnNFg9eY8rVXbNFfpBzyzdWrx5IiMtBcDx\nAZXMOU7GSZyFhSB6cjNfCaESXC/gBTa0sZ/b4b4etNUlNHUFAatb9WckQ6AtWbVA\npxu8aw/5AjAKgMbkaNrUY3vzLzin11CyGOFkbAKwVqT13Z3Yyz/xuz7x2+yMwPBh\n9mEP0tXjvCz7NzETFSTysn9Sf+VjUle0upnpl8Q7GK52CDpvwdqE/O6MrTx/XrXm\nYUfeSkZd+nqFm4oxmrf01hOL2IlEit1RupILwVm2/8CK2sAdazTqh4LapA962b9V\nSKm31YbsGT3kQg5EERbjIgiN6M8CAwEAAaOCAU8wggFLMB0GA1UdDgQWBBRhFUQb\nh7YE6tgcpiHke60td96d4zAJBgNVHRMEAjAAMEIGA1UdIwQ7MDmAFGEVRBuHtgTq\n2BymIeR7rS133p3joRqkGDAWMRQwEgYDVQQDDAtleGFtcGxlLmNvbYIFANEXIaYw\nHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMIG7BgNVHREEgbMwgbCCC2V4\nYW1wbGUuY29tghBtYWlsLmV4YW1wbGUuY29tgg93d3cuZXhhbXBsZS5jb22CEmNw\nYW5lbC5leGFtcGxlLmNvbYITd2VibWFpbC5leGFtcGxlLmNvbYITd2ViZGlzay5l\neGFtcGxlLmNvbYIWY3Bjb250YWN0cy5leGFtcGxlLmNvbYIXY3BjYWxlbmRhcnMu\nZXhhbXBsZS5jb22CD3dobS5leGFtcGxlLmNvbTANBgkqhkiG9w0BAQsFAAOCAQEA\nT0TaI0ypM3eqtRSddgyoy5+nXi8a7a6xFKrwEAljBua3rNR6fOfedMOg9NFwCmQD\nw96/eZJjq+xMh57yLEGu05OBbyFVsdu2AXVhwHeBaURrGn5p7IjNMjdB+ld+oCmU\nex6iisbsfxwUqa7y2vqTU5XaUiXfccqEz8ofvuTcqNs8bgGn0Tm90XbgGnPVd7zl\nGm4t7Gf2pvMNd2R1prJ07z42bp/z8E2DcFhb/RPnblFOhJ8jPspxYK4G5XmwwYZD\n79NDK47OyG3hTiinxroKMjqIgnLT4ZabDMGHJkcg5xOL/VdYi7ZGHAnBEwA8eadO\ndh3jFPxGGIBJTTmKIScSbg==\n-----END CERTIFICATE-----","description":"The certificate's contents."},"user":{"type":"string","format":"username","example":"username","description":"The username that stores the private key."},"key":{"description":"The private key.","example":"-----BEGIN RSA PRIVATE KEY-----\nMIIEpAIBBCKAAQNAu4IZbP0oU6vlM8F6EhK9cuRrs+c1WD24jytPds0V+kH+LN1a\nvHkiIy0FwPABlcw5TrZJnIWFIHpyM18JoRJcM+AFNrSxn9vhvh601SU0dQUBq1v1\nZyRDoC1ZtUCnG7xrD/kCMAqAxuRo2tRje/MvOKfXULIY4WRsArBWpPXdndjLP/G7\nPvHb7IzA8GH2YQ/S1eO8LPs3MRMVJPKyf1J/5WNSV7S6memXxDsYrnYIOm/B2oT8\n7oytPH9eteZhR95KRl36eoWbijGat/TWE4vYiUSK3VG6kgvBWbb/wIrawB1rNOqH\ngtqkD3rZv1VIqbfVhuwZPeRCDkQRFuMiCI3ozwIDAQABAoIBAFADflIS0zQRQCdL\nwol/0NmAPbDt4lpdMUg0161wapZ2CrA8bQHMNxMHnVLuBR0lHrdMyhCusVZgqebe\nAT/ok8oiMFdd2AY9UCFO/R+PVskwr7ut7BRtVyY88/Dye9zMFGumeJaDhNxaj5wB\n0coMxfPJO4pF1XQo5CZplS+jc0RtiNnRmWP/zwwtH+QwT43GXKS3U3QgX1a/7Yzw\nliUFuggsjysNPovM5NzcgzYfVlMg3F9fDnMeve2s/MO6/wCIp1+SHN89DwluDmw0\nII0sJDtBRB1nPqseLV1XwYImdSosKuaUIK225vQy/cXK9S/zcq6+d6P5efCw8nRg\nbCfwd7ECgYEA8Agkx+P7zBAWItnkrNzah6QaWd3VP5bSw6WeHwcWIS1h3ASKSr3u\nT8rp5qDTk92eV/g5Uqr5lr8txnp448wnipeK0LDF4r+uhOsHOY4B4eFiTsRecXKD\nzlcC/ees4UOzbdptqosyAG5ub8UMwEH0zPOCszpnIhZkm004EHxc8zUCgYEAx/t0\nF1DYHm834CYyHfq3XiuB3yNECKMQZ1lgcq8IXaO3EJKnaSF3INogS1lZ6hQR2AW+\ntr+U6LdBRzsxH0ZeHu/lYCZ6ssgV3H6HTLlFVRysufVdlLaeaKAMuEADrUhVgvVA\n8rNM+8WSxrfya+2a/PwyJD9YdHCITcXVdwHHCHMCgYBLhYRtECJNVlJgrMXyTZrE\nSrGvzMgntcCiph1WDdi8n5bGrvcEBTZSDLoDQl7Pi08ixorio8Db2VMBu88FfVqD\nlKKsfrIEYeL7FyeyyCd3dn6D4e0FLM6jwWTDln0iczalPbB7lEgrMpO0vv8ADsCD\nK6rX1ZxZoWoOQwF8zmRAcQKBgQC85weoJpOfXAt5zlq1+ulPKOXKs3NGfVG3bjOp\n4SuT2FvKad19b0EqZSDzR/ylIkQgvHyD/8BXexNMh9tE4aFys8UF6BMq4dnUqCiC\nDtgxJ575IY8+NKq5xcV+HenbO2KbC7RIDZqAkQauc3+o947ZvhhXKQcTJmF6pY+Y\nlLM/hQKBgQCplo1rGsimNitBb2iw2B+jDJoMBLYjWeZWcr8VMwVlN9DXPG19uXKq\nCsbrteMX3VedbeRYk/NITsasRefZq7JDSe9JbsPxj3I+/nzV0EbMXX9cxJL3hkCc\n5QAmE/BMR7yh0odK57o+mcQZtecIEO1BK/qW6Au0otQHPraygGCwkQ==\n-----END RSA PRIVATE KEY-----","type":"string","format":"pem-private-key"},"searched_users":{"items":{"example":"username","type":"string","format":"username"},"description":"The cPanel accounts that the system searched for domain information.","type":"array"},"domain":{"type":"string","format":"domain","description":"The domain that generated the private key.","example":"example.com"},"ip":{"format":"ipv4","type":"string","description":"The IP address.","example":"192.168.0.1"},"key_origin":{"description":"The username that generated the private key.","example":"username","type":"string","format":"username"}},"type":"object"},"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null,"type":"array","nullable":true},"metadata":{"properties":{}},"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"},"status":{"example":1,"enum":[0,1],"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","type":"integer"}}},"module":{"description":"The name of the module called.","example":"SSL","type":"string"},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}}}}}}},"tags":["SSL","cPanel Account SSL Management"],"operationId":"SSL-fetch_best_for_domain","x-readonly":false,"description":"This function retrieves the best-available certificate for the domain. The function also\nretrieves the certificate's associated private key and CA bundle, if available.\n\n**Important:**\n\nWhen you disable the [Calendars and Contacts, Receive Mail, Web Disk, Webmail, and Web Server roles](https://go.cpanel.net/serverroles), the system **disables** this function.","x-rollback":"none","parameters":[{"required":true,"description":"The domain name.","schema":{"type":"string","format":"domain","example":"example.com"},"in":"query","name":"domain"}]}}}},"installed_hosts":{"paths":{"/SSL/installed_hosts":{"get":{"x-readonly":true,"operationId":"SSL-installed_hosts","tags":["SSL","cPanel Account SSL Management"],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"func":{"description":"The name of the method called.","example":"installed_hosts","type":"string"},"result":{"type":"object","properties":{"status":{"type":"integer","example":1,"enum":[0,1],"description":"* `1` - Success\n* `0` - Failed: Check the errors field for more details."},"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null},"messages":{"description":"List of messages generated by the API.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"data":{"items":{"type":"object","properties":{"fqdns":{"items":{"format":"domain","type":"string","example":"www.example.com"},"description":"An array of every valid fully qualified domain\nname (FQDN) on the virtual host, which includes service\nsubdomains (proxy subdomains).","type":"array"},"is_primary_on_ip":{"type":"integer","description":"Whether the website is primary on the IP address.\n* `1` - Primary.\n* `0` - Not primary.","enum":[0,1],"example":1},"docroot":{"format":"path","type":"string","example":"/home/username/public_html","description":"The document root of the domain that the certificate covers."},"certificate":{"type":"object","properties":{"ecdsa_public":{"type":"string","nullable":true,"description":"The certificate's key's ECDSA compressed public point, in hexadecimal format.\n\n* `null` — The certificate's key is **not** an ECDSA key.","example":null},"issuer.organizationName":{"example":"The Example Organization","description":"The certificate's organization name.","type":"string"},"issuer.commonName":{"format":"domain","type":"string","example":"example.com","description":"The name that issued the certificate."},"subject.commonName":{"format":"domain","type":"string","example":"example.com","description":"The certificate's common name."},"not_before":{"example":1415123822,"description":"When the certificate started.","type":"integer","format":"unix_timestamp"},"ecdsa_curve_name":{"example":"prime256v1","enum":["prime256v1","secp384r1"],"description":"The ECDSA curve that the certificate's key uses.\n\n* `prime256v1`\n* `secp384r1`\n* `null` — The certificate's key is **not** an ECDSA key.","nullable":true,"type":"string"},"modulus_length":{"nullable":true,"type":"integer","minimum":1,"example":2048,"description":"The length, in bits, of the certificate's key's modulus.\n\n* `null` — The certificate's key is **not** an RSA key."},"validation_type":{"enum":["ev","ov","dv"],"example":"dv","description":"The certificate's validation type.\n\n**Note:**\n* `ev` -  Extended Validation.\n* `ov` - Organization Validation.\n* `dv` - Domain Validation.\n* null - The system could not parse and determine the certificate's validation type.","nullable":true,"type":"string"},"key_algorithm":{"type":"string","description":"The certificate's key's algorithm.\n\n* `rsaEncryption` — RSA.\n* `id-ecPublicKey` — ECDSA.","example":"rsaEncryption","enum":["rsaEncryption","id-ecPublicKey"]},"domains":{"description":"The domains that the certificate covers.","items":{"format":"domain","type":"string","example":"example.com"},"type":"array"},"subject_text":{"type":"string","example":"commonName\nexample.com","description":"The subject's X.509 information."},"signature_algorithm":{"description":"The signature algorithm of the certificate.","example":"sha256WithRSAEncryption","format":"sha256","type":"string"},"not_after":{"format":"unix_timestamp","type":"integer","example":1446659822,"description":"When the certificate expired."},"modulus":{"example":"a673c3b17344664b35f8791f562d3aea6bf4d8faa3ae3fc0a519380fd453964a36677c34d48677ecb7f5ed035df026f5f0f8fbfe21745e52daf1f3b9e58c73f0baefdb709320e2202e7d05250b051a59b30ff1fef22d83d7140c1c81cea314a0890ce8d2226799872181c58a74016c7aaa2cff5ac72b575cecde8f304aa572a2ea03d8b173ab76c6e8cdb9dfd0da81e1119cefd4b8b4dbfbe0e46c7f1ee2fe8b5fd5504e58ccbc0d13b4fa41ecc9ebd0dabe1d1fec5c724f748167e7c0553e997f9b77eb36abce70973f06df151748d41b758de3efd7afa6f2464a1547f5ff158469d96e248be464df9eda0e7ce854a89332a2c1278b17c425368a9604f454db","description":"The certificate's key's modulus, in hexadecimal format.\n\n* `null` — The certificate's key is **not** an RSA key.","format":"hex","nullable":true,"type":"string"},"id":{"description":"The certificate's ID.","example":"example_com_a74f7_9dddf_1446659822_eae1ff43c4ec1991e195877c55755eff","type":"string"},"issuer_text":{"description":"The issuer's X.509 information.","example":"example.com\ncountryName\nUS\nemailAddress\nusername@example.com\norganizationName\nExample\nstateOrProvinceName\nTexas\nlocalityName\nHouston","type":"string"},"auto_ssl_provider_display_name":{"example":"Sectigo","description":"The AutoSSL provider's display name.","type":"string"},"is_self_signed":{"type":"integer","example":1,"enum":[0,1],"description":"Whether the certificate is self-signed.\n* `1` - Self-signed.\n* `0` - Not self-signed."},"auto_ssl_provider":{"example":"cPanel","description":"The AutoSSL provider's name.","type":"string"},"is_autossl":{"type":"integer","description":"Whether the AutoSSL service provided the certificate.\n* `1` - Provided by the AutoSSL service.\n* `0` - Not provided by the AutoSSL service.","enum":[0,1],"example":1}},"description":"An object that contains information about each certificate."},"needs_sni":{"enum":[0,1],"example":0,"description":"Whether the website requires SNI to function.\n* `1` - Requires SNI.\n* `0` - Does not require SNI.","type":"integer"},"domains":{"items":{"format":"domain","type":"string","example":"example.com"},"description":"The domains that the certificate covers.","type":"array"},"ip":{"example":"192.168.0.1","oneOf":[{"format":"ipv4","type":"string"},{"format":"ipv6","type":"string"}],"description":"The host's IP address."},"servername":{"example":"example.com","description":"The server's hostname.","format":"domain","type":"string"},"certificate_text":{"format":"pem-certificate","type":"string","example":"-----BEGIN CERTIFICATE-----\nMIIDcTCCAlmgAwIBAgIFAU+BNVgwDQYJKoZIhvcNAQEFBQAwUTESMBAGA1UEAwwJ\nc2lza28udGxkMQswCQYDVQQGEwJVUzEPMA0GA1UECgwGY1BhbmVsMQswCQYDVQQI\nDAJUWDEQMA4GA1UEBwwHSG91c3RvbjAeFw0xNDEwMDYyMjI2MTlaFw0xNTEwMDYy\nMjI2MTlaMFExEjAQBgNVBAMMCXNpc2tvLnRsZDELMAkGA1UEBhMCVVMxDzANBgNV\nBAoMBmNQYW5lbDELMAkGA1UECAwCVFgxEDAOBgNVBAcMB0hvdXN0b24wggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC9zx6zGiHdmWA0dKtoXmJiWXpZ9E3P\nXx3YHsjFEWW7e5pH0vZ+jVMzDmm5nsJ7RXrAkZO1IvpIpVLvoQfiJOWVvkD+o9fW\nvoK1tWJS72FSgPju+58mA2ieBuc87A790Pzuv1P3NR3zFLAjUR99zkHR1fpri/da\nM3PBWO8ET48FWkyU1kOeZaUlF67/+wrEiNgg+t1qhKOCAB61PdNVkLaSGHimksuC\n+Czk8Kq9nuS0E0TCnDtjjEyJ455FUcaCfczlTb8xkB/F9ORe74yTzD+vlk0tFMG6\nPLj/ajIwWqwO0qmQ8wX3NRxkWgGz5kVO1wrVJarKQ5EYQ3/mgvit0v6dAgMBAAGj\nUDBOMB0GA1UdDgQWBBRw+wKBo34+bgexjAa3EMDsgSCd7zAfBgNVHSMEGDAWgBRw\n+wKBo34+bgexjAa3EMDsgSCd7zAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUA\nA4IBAQCHRXIs53opzKM2rM8Qe8lcw524WK6hqy2EWrZHp78N7rU7/6DQ/I3hv3Wh\ncDDIO04I2/Xhe88MLBaLoM367Ya+vy7CaLr14aLi/SfQszMA0ALBvMao+Fis0iVw\nFYq/NLgSXw+fgnpFskt8v8iQZ+4Kaal8U8e9sVgu8m0RgO7rzym1eRiIKpsKd1rh\n/SD7LbSN7M7TRL3QqF7ltw9sQhAAsQcRaBBF21pdWrqhiGZ+Eioo3hhgwNavH2ag\nqz78ddHwrFpHFwrEeUk1OfpPb76MYIce7xIy/4oQNdg6fOq4l/FrajBv+WkzDVPa\nKm6r7YmwfLN/YMZBHXSR58oOGP9W\n-----END CERTIFICATE-----","description":"The certificate's text."},"mail_sni_status":{"type":"integer","example":1,"enum":[0,1],"description":"Whether SNI is active on the domain.\n* `1` - Active.\n* `0` - Inactive."}}},"properties":{},"type":"array"},"warnings":{"nullable":true,"type":"array","example":null,"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"}},"metadata":{"properties":{"transformed":{"type":"integer","description":"Post-processing may have transformed the data.","enum":[1],"example":1}}}}},"module":{"description":"The name of the module called.","example":"SSL","type":"string"},"apiversion":{"type":"integer","example":3,"description":"The version of the API."}},"type":"object"}}},"description":"HTTP Request was successful."}},"parameters":[],"x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  SSL \\\n  installed_hosts\n","lang":"Shell","label":"CLI"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/SSL/installed_hosts","label":"URL","lang":"HTTP"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file SSL_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/<theme_name>/\n#    to .../frontend/<theme_name>/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}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file SSL_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/<theme_name>/\n//    to .../frontend/<theme_name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 11.42","summary":"Return domains with SSL certificate information","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.","x-cpanel-api-version":"UAPI"}}},"info":{"termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"servers":[{"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."}},"description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"description":"The SSL module for UAPI.","name":"SSL"},{"name":"cPanel Account SSL Management","description":"SSL Certificates / cPanel Account SSL Management"}],"x-tagGroups":[{"tags":["cPanel Account SSL Management"],"name":"SSL Certificates"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"security":[{"BasicAuth":[]}]},"list_csrs":{"paths":{"/SSL/list_csrs":{"get":{"x-cpanel-api-version":"UAPI","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  SSL \\\n  list_csrs\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/SSL/list_csrs","lang":"HTTP","label":"URL"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file SSL_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/<theme_name>/\n#    to .../frontend/<theme_name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file SSL_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/<theme_name>/\n//    to .../frontend/<theme_name>/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}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Return all certificate signing requests","x-cpanel-available-version":"cPanel 11.42","x-readonly":true,"operationId":"SSL-list_csrs","tags":["SSL","cPanel Account SSL Management"],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"func":{"type":"string","example":"list_csrs","description":"The name of the method called."},"result":{"type":"object","properties":{"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null},"data":{"type":"array","items":{"properties":{"key_algorithm":{"example":"rsaEncryption","enum":["rsaEncryption","id-ecPublicKey"],"description":"The CSR's key's algorithm.\n\n* `rsaEncryption` — RSA.\n* `id-ecPublicKey` — ECDSA.","type":"string"},"domains":{"type":"array","description":"A list of the domains that the CSR covers.","items":{"format":"domain","type":"string","example":"example.com"}},"created":{"example":1538265600,"description":"The CSR's creation date.","format":"unix_timestamp","type":"integer"},"ecdsa_public":{"type":"string","nullable":true,"description":"The CSR's key's ECDSA compressed public point, in hexadecimal format.\n\n* `null` — The CSR's key is **not** an ECDSA key.","example":null},"id":{"example":"example_com_c69ce_37ff5_1397169490_169c717cb2c260281df792788accf041","description":"The CSR's ID.","type":"string"},"modulus":{"type":"string","nullable":true,"description":"The CSR's key's modulus, in hexadecimal format.\n\n* `null` — The CSR's key is **not** an RSA key.","example":"a673c3b17344664b35f8791f562d3aea6bf4d8faa3ae3fc0a519380fd453964a36677c34d48677ecb7f5ed035df026f5f0f8fbfe21745e52daf1f3b9e58c73f0baefdb709320e2202e7d05250b051a59b30ff1fef22d83d7140c1c81cea314a0890ce8d2226799872181c58a74016c7aaa2cff5ac72b575cecde8f304aa572a2ea03d8b173ab76c6e8cdb9dfd0da81e1119cefd4b8b4dbfbe0e46c7f1ee2fe8b5fd5504e58ccbc0d13b4fa41ecc9ebd0dabe1d1fec5c724f748167e7c0553e997f9b77eb36abce70973f06df151748d41b758de3efd7afa6f2464a1547f5ff158469d96e248be464df9eda0e7ce854a89332a2c1278b17c425368a9604f454db"},"commonName":{"example":"example.com","description":"The CSR's Common Name or Distinguished Name.","type":"string"},"friendly_name":{"type":"string","example":"TestCSR","description":"The CSR's friendly name."},"ecdsa_curve_name":{"type":"string","nullable":true,"description":"The ECDSA curve that the CSR's key uses.\n\n* `prime256v1`\n* `secp384r1`\n* `null` — The CSR's key is **not** an ECDSA key.","enum":["prime256v1","secp384r1"],"example":"prime256v1"}},"type":"object"}},"warnings":{"type":"array","nullable":true,"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"},"example":null},"metadata":{"properties":{"transformed":{"type":"integer","description":"Post-processing may have transformed the data.","example":1,"enum":[1]}}},"status":{"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","enum":[1,0],"example":1,"type":"integer"}}},"module":{"type":"string","example":"SSL","description":"The name of the module called."},"apiversion":{"type":"integer","description":"The version of the API.","example":3}},"type":"object"}}},"description":"HTTP Request was successful."}},"x-rollback":"none","description":"This function lists an account's certificate signing requests (CSR).\n\n**Important:**\n\nWhen you disable the Calendars and Contacts, Receive Mail, Web Disk,\nWebmail, and Web Server\n[roles](https://go.cpanel.net/howtouseserverprofiles#roles),\nthe system **disables** this function.","parameters":[]}}},"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"version":"11.89.0.9999","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/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/"},"externalDocs":{"url":"https://cpanel.net/developers/"},"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"name":"SSL Certificates","tags":["cPanel Account SSL Management"]}],"tags":[{"name":"SSL","description":"The SSL module for UAPI."},{"name":"cPanel Account SSL Management","description":"SSL Certificates / cPanel Account SSL Management"}],"openapi":"3.0.2","servers":[{"variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"security":[{"BasicAuth":[]}]},"is_autossl_check_in_progress":{"paths":{"/SSL/is_autossl_check_in_progress":{"get":{"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"result":{"type":"object","properties":{"status":{"type":"integer","description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","enum":[0,1],"example":1},"metadata":{"properties":{}},"data":{"type":"integer","example":1,"enum":[0,1],"description":"Whether the `autossl_check` task is in progress for the current user.\n* `1` - In progress.\n* `0` - **Not** currently in progress."},"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API."},"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."},"errors":{"nullable":true,"type":"array","example":null,"description":"List of errors if the API failed.","items":{"type":"string"}}}},"module":{"type":"string","example":"SSL","description":"The name of the module called."},"func":{"type":"string","example":"is_autossl_check_in_progress","description":"The name of the method called."},"apiversion":{"example":3,"description":"The version of the API.","type":"integer"}},"type":"object"}}}}},"parameters":[],"tags":["SSL","Auto-generated SSL Certificates"],"x-readonly":true,"operationId":"SSL-is_autossl_check_in_progress","x-cpanel-available-version":"cPanel 68","summary":"Return whether AutoSSL check in progress","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  SSL \\\n  is_autossl_check_in_progress\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/SSL/is_autossl_check_in_progress","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file SSL_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/<theme_name>/\n#    to .../frontend/<theme_name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file SSL_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/<theme_name>/\n//    to .../frontend/<theme_name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"description":"This function verifies whether the `autossl_check` task is in progress for the current user.\n\n**Important:**\n\nWhen you disable the [Calendars and Contacts, Receive Mail, Web Disk, Webmail, and Web Server roles](https://go.cpanel.net/serverroles), the system **disables** this function.","x-cpanel-api-version":"UAPI"}}},"servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}}}],"openapi":"3.0.2","tags":[{"description":"The SSL module for UAPI.","name":"SSL"},{"description":"SSL Certificates / Auto-generated SSL Certificates","name":"Auto-generated SSL Certificates"}],"x-tagGroups":[{"tags":["Auto-generated SSL Certificates"],"name":"SSL Certificates"}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"security":[{"BasicAuth":[]}],"info":{"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"},"title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."},"externalDocs":{"url":"https://cpanel.net/developers/"}},"fetch_key_and_cabundle_for_certificate":{"paths":{"/SSL/fetch_key_and_cabundle_for_certificate":{"post":{"summary":"Return private key and CA bundle","x-codeSamples":[{"source":"uapi --input=json --output=jsonpretty \\\n  --user=username \\\n  SSL \\\n  fetch_key_and_cabundle_for_certificate\n","label":"CLI","lang":"Shell"},{"label":"HTTP Request (Wire Format)","lang":"HTTP","source":"POST /cpsess##########/execute/SSL/fetch_key_and_cabundle_for_certificate HTTP/1.1\nHost: example.com:2083\nCookie: ###################################\nContent-Type: application/json\nContent-Length: 0\n\n"}],"x-cpanel-available-version":"cPanel 11.42","x-cpanel-api-version":"UAPI","operationId":"SSL-fetch_key_and_cabundle_for_certificate","x-readonly":false,"tags":["SSL","cPanel Account SSL Management"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"type":"integer","description":"The version of the API.","example":3},"result":{"properties":{"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null},"metadata":{"properties":{}},"status":{"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","enum":[0,1],"example":1,"type":"integer"},"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null},"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API."},"data":{"properties":{"crt_origin":{"format":"username","type":"string","example":"username","description":"The username that generated the certificate."},"cab":{"format":"pem-certificate","type":"string","description":"The CA bundle's contents (if applicable).","example":"-----BEGIN CERTIFICATE-----MIIB+jCCAWMCAgGjMA0GCSqGSIb3DQEBBAUAMEUxCzAJBgNVBAYTAlVTMRgwFgYDVQQKEw9HVEUgQ29ycG9yYXRpb24xHDAaBgNVBAMTE0dURSBDeWJlclRydXN0IFJvb3QwHhcNOTYwMjIzMjMwMTAwWhcNMDYwMjIzMjM1OTAwWjBFMQswCQYDVQQGEwJVUzEYMBYGA1UEChMPR1RFIENvcnBvcmF0aW9uMRwwGgYDVQQDExNHVEUgQ3liZXJUcnVzdCBSb290MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC45k+625h8cXyvRLfTD0bZZOWTwUKOx7pJjTUteueLveUFMVnGsS8KDPufpz+iCWaEVh43KRuH6X4MypqfpX/1FZSj1aJGgthoTNE3FQZor734sLPwKfWVWgkWYXcKIiXUT0Wqx73llt/51KiOQswkwB6RJ0q1bQaAYznEol44AwIDAQABMA0GCSqGSIb3DQEBBAUAA4GBABKzdcZfHeFhVYAA1IFLezEPI2PnPfMD+fQ2qLvZ46WXTeorKeDWanOB5sCJo9Px4KWlIjeaY8JIILTbcuPI9tl8vrGvU9oUtCG41tWW4/5ODFlitppK+ULdjG+BqXH/9ApybW1EDp3zdHSo1TRJ6V6e6bR64eVaH4QwnNOfpSXY-----END CERTIFICATE-----"},"crt":{"description":"The certificate's contents.","example":"-----BEGIN CERTIFICATE-----MIIDcTCCAlmgAwIBAgIFAU+BNVgwDQYJKoZIhvcNAQEFBQAwUTESMBAGA1UEAwwJc2lza28udGxkMQswCQYDVQQGEwJVUzEPMA0GA1UECgwGY1BhbmVsMQswCQYDVQQIDAJUWDEQMA4GA1UEBwwHSG91c3RvbjAeFw0xNDEwMDYyMjI2MTlaFw0xNTEwMDYyMjI2MTlaMFExEjAQBgNVBAMMCXNpc2tvLnRsZDELMAkGA1UEBhMCVVMxDzANBgNVBAoMBmNQYW5lbDELMAkGA1UECAwCVFgxEDAOBgNVBAcMB0hvdXN0b24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC9zx6zGiHdmWA0dKtoXmJiWXpZ9E3PXx3YHsjFEWW7e5pH0vZ+jVMzDmm5nsJ7RXrAkZO1IvpIpVLvoQfiJOWVvkD+o9fWvoK1tWJS72FSgPju+58mA2ieBuc87A790Pzuv1P3NR3zFLAjUR99zkHR1fpri/daM3PBWO8ET48FWkyU1kOeZaUlF67/+wrEiNgg+t1qhKOCAB61PdNVkLaSGHimksuC+Czk8Kq9nuS0E0TCnDtjjEyJ455FUcaCfczlTb8xkB/F9ORe74yTzD+vlk0tFMG6PLj/ajIwWqwO0qmQ8wX3NRxkWgGz5kVO1wrVJarKQ5EYQ3/mgvit0v6dAgMBAAGjUDBOMB0GA1UdDgQWBBRw+wKBo34+bgexjAa3EMDsgSCd7zAfBgNVHSMEGDAWgBRw+wKBo34+bgexjAa3EMDsgSCd7zAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUAA4IBAQCHRXIs53opzKM2rM8Qe8lcw524WK6hqy2EWrZHp78N7rU7/6DQ/I3hv3WhcDDIO04I2/Xhe88MLBaLoM367Ya+vy7CaLr14aLi/SfQszMA0ALBvMao+Fis0iVwFYq/NLgSXw+fgnpFskt8v8iQZ+4Kaal8U8e9sVgu8m0RgO7rzym1eRiIKpsKd1rh/SD7LbSN7M7TRL3QqF7ltw9sQhAAsQcRaBBF21pdWrqhiGZ+Eioo3hhgwNavH2agqz78ddHwrFpHFwrEeUk1OfpPb76MYIce7xIy/4oQNdg6fOq4l/FrajBv+WkzDVPaKm6r7YmwfLN/YMZBHXSR58oOGP9W-----END CERTIFICATE-----","format":"pem-certificate","type":"string"},"user":{"description":"The username that stores the private key.","example":"username","format":"username","type":"string"},"status":{"example":1,"enum":[0,1],"description":"Whether the certificate is active.\n* `1` - Active.\n* `0` - Inactive.","type":"integer"},"statusmsg":{"example":"ok","description":"The certificate's status.","type":"string"},"key":{"description":"The private key.","example":"-----BEGIN RSA PRIVATE KEY-----MIIJJwIBAAKCAgEA4yilqsoCdEpiNOyLcPJ4FLT7vgwaLdOBeJLTMUeV2uZM4v65/tiZe7H0soDp1C55SCr3uEIEa7Lq7RUZ+F5p67BgRR19rmerKGxfN7N5Vu97pfTwW1f+lVsxUF/56lVeoAmm4okU98xJHiGGlI8ZHGJbUMYfLPy0OrA+gNwMHqMVOv1BSgpbEWCILMvnvtp0rwPutjnPVX2Dj40ia40L4Wqvp+0Yg7mZyhIOl+q6VZVIdXZslR4ZywfRBYt3ieFBDYMyNw9wN3Xy44fCpHc77+ho84W3BqrGaWSSDyf6UkZGD5mfohGf2JSp+c8J6H7hsxo7pta3K1diVXFOSfnaA+k56zW445XruwYs/SN/zvGetGi6uqhMAcVRQcYCmLCixcC6RkcUx3exxgR4q3gthDnFvWC4+NuTh8/K0BcxcuCEhRug/MfVfO3+f7RJFSJPFb9m9Lf4HHBSVkDP5WtG4XiBKCe++9Wuvxbd4QxS7YrnSoKxkuHKswH8ONpADMYDqfLODMhNrslHNHu95Nv7AlQr8weLqMGWMp7GFqzXcl39RnVkF4Bxd3bAAsMN8/JvanMKCPjTTDrfzVFZcmHXPYOljYDdY1xfIstYVtbyFkUHZP2RPPBaPUAt90lzrKGVF8a2vdIKRiey5SZ5qu9c/mGri3oz7Lkk7qkNPAqDMCAwEAAQKCAgA3f9raG3j2CKZt381Bzzvfc0h+al6LC736Q4Ut6RuH2/S1ER9IUItPWW87nZuDp8ciBr13W0nRNmmHezxZHlgqqXEb8dSfI90Bh1jMNyFSSDihl3KSHrGotBscVBavViREXZdUicGBuXuxtkYno96yvKUq2v0K9MLkA+OBgEHFynqJaw7klBsj573dlAQO8TjI+eD8zKsHbB8Ul5rtRAy/Cl3YXWk75cDZSggevc7A0jRd3o0w8aXDoSlEfYq7OTm3n3JJWZBFPKAXTzgTDr6qItJhjS4IxXsq7RNyeIYES/8aGKKT6lJvjALrcdYt47IpHCOu447lG/h+f6xtDophLGZoAirO7lJFRVfLJh76sLF12bpXJKbbmMN+aut0nM+MLEw8A5K9OV24jJ/3+afj//5789asIyvNaQFPOX23SdLX0QbA5QWvJt2tWvvpS3ubcIJaBEMTK8asEBC68eUW0BBKJaSiYNzecUFYCBjQlxKsIrYuWZoW6fMyRel+cnqMdiH7r2p6RmgF5c9myDwq3E47jE+VrOy8uhw7EMQvT8+YSKaIbgtFZcUSU02BDRB7gWNa842m6nGs5tj5xFNQ6Wt410vilTwL+6zCQqJaKmcdE3woiIgSdrw5MssAHHjqo7QJthZfbpUAUTc6jGPNO13U1ediIRAGdQW5ALqTwQKCAQEA884bmFFZLTewHIv1PJFfNxVZfk3C7LhWE2JcI/5P/YrN4ZA8G08OYhgxqa5XnsHHQPwMM85i1HeOoPwqgTMIyLDX/Sf88+eW3ef4V2M1Y4op0ahWFEwbwXKGxOhncElObN7dfZUwVlxCReaiw2XQAGRqtQC0f+9dZysqPJr+Rz6poTiOtm7DcpW/WiGfBPvVhzBENyqouL9V3vCWYPJSLtCexECoGoPSpHKgUkwbh3+ra8SfG6FOIBj4PpMB82R7oPDjIyXF1VDfb0EwYQlKxyZoP9+NPT2MhZv/hF/Mbm/5LolVHx92hO9q6yxS6nvaFmEPr9fY1EOTWzzPOA+VyQKCAQEA7oVioaTqxENt+wHITZq100iYUpm4X1N1eENTp97QyQbQOVR/t8iGLUdvOZdIxBSTS3JFQ8TNcGDPPc+o319QGdZABNnKwFGY3Ss+5QgVeX6n0WKdxCRelUOUB174aBeXcJCKplh6xBUrLfSZxvZQQb7fv0Mb+2eKUBKTymvES1kpYdn1T0vCCHA3bVpaHuqliCoDSX3RmQICZlfSgCGBbAkmU8RuxDd9yR9l7O9MXUmLsqlsw6hvbUt+7Y13YlDtyX8gbCwEEYsoALOotY1xNfXnyZKTAXhrg+xsQLrURYZUoZiCJyK/mHCWRTPVkt89wq4IexbJ9hqlRjzpmlr8GwKCAQBxRSCs855q06SOnrehHCkQfmrFs3sMX9gdyWTllBG1yfc9BLXoOiKEkJkCLG2o5H6eQnuo1go0jBdH0+ArhnpeQ0sV4q4y4zXEgzFt6Dm1tUsYjQzxASskBQF4GkF0eZpmGmTtI5MBjHt93llgTr0EcaLh1SIHDj5m4DcPUTMyBnro3E3xlCRZ6Biu10/6EMZzuIj42Gjq7HoIyd4TzIFCHsqkgyWWrAgBPwAdPB7OJRKPTxpcy+RwJSmwaLxPSC/n5gKhIbt4D8q+9Zp0esyzGbT1d/c2rJHMwV1FMvzXkk5CwKs7enKl8FXMTRt4tXHtU8rl93JVq8+aY/YiJZuBAoIBAERG2lz7IFjeFHVtpTDRwIqilTfP2P8wnMe4PhInrgxdbu16SrUJKZ98e1I5BBNc8G0AYONtSoGItMo0z1phpkQ/GERLM8aplOB6qJ5XGg6VOuStHgwvfQOtPIp/nQvu9OK7/XRwj3Phu2KESiCyEXdAdDwDsdbdZLJXHwcqoh4Pf9EK2zW/seNIfBVJb9K5yHiZzicTZRQvhxBUw2T6MloCpH4GFM8GM3OHEV4pgeqSSvLxnLjFVmAq5EKL5Ei4cdjkExvj3aZH90N8KicOPgH8SkVhN8OL/Prein5c/LaKJV+8kEUzpTS1xc45cEGCteMsfjD97QINzpG0jgopUVECggEADIaKsx8NUQT3hm0wHRanEFJnQH5HzxaQjWbsjm2uz0KROPNIK1X5L8kypsb+EzlJtvWUqxPaOaTv4DZVpFaVzk8/2PPGsYR3mUjqMqNFYMrNwYZAXvJ/huzDPqq6+w2Pn9jcAifHNw3S8UR650v8gl7BU4fVBvhamG8JelvwLqeGWoikST9NBXVqG5IKBpUkUiFOMUNmRih9ooKvhy7GosoK8MWbmhWo1v8TTSXSagACUhAoIzb6mMN/VFC5WDbFx5AEB/G9tq/zmTqQkuo39dvgl30wyZGRNwc1aFf1Kxeven10/JN9ipp0mTa7NYSdn0RAe9ZRp5cCkgmktqmB0g==-----END RSA PRIVATE KEY-----","format":"pem-private-key","type":"string"},"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_origin":{"type":"string","format":"username","example":"username","description":"The username that generated the private key."},"searched_users":{"type":"array","items":{"format":"username","type":"string","example":"username"},"description":"The users that the system searched for certificate information."}},"type":"object"}},"type":"object"},"module":{"example":"SSL","description":"The name of the module called.","type":"string"},"func":{"description":"The name of the method called.","example":"fetch_key_and_cabundle_for_certificate","type":"string"}},"type":"object"}}}}},"x-rollback":"none","description":"This function extracts the private key and CA bundle information from a certificate.\n\n**Note:**\n\nDue to the limited field length of `HTTP GET` method calls, you **must** use the `HTTP POST` method. For this reason, you **cannot** use a cPanel or Webmail session URL to call this function.","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"certificate":{"format":"pem-certificate","type":"string","description":"The certificate file."}}}}},"description":"The certificate's contents."},"parameters":[{"in":"query","name":"certificate","required":true,"description":"An SSL certificate.","schema":{"type":"string","format":"pem-certificate","example":"-----BEGIN CERTIFICATE-----MIIDcTCCAlmgAwIBAgIFAU+BNVgwDQYJKoZIhvcNAQEFBQAwUTESMBAGA1UEAwwJc2lza28udGxkMQswCQYDVQQGEwJVUzEPMA0GA1UECgwGY1BhbmVsMQswCQYDVQQIDAJUWDEQMA4GA1UEBwwHSG91c3RvbjAeFw0xNDEwMDYyMjI2MTlaFw0xNTEwMDYyMjI2MTlaMFExEjAQBgNVBAMMCXNpc2tvLnRsZDELMAkGA1UEBhMCVVMxDzANBgNVBAoMBmNQYW5lbDELMAkGA1UECAwCVFgxEDAOBgNVBAcMB0hvdXN0b24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC9zx6zGiHdmWA0dKtoXmJiWXpZ9E3PXx3YHsjFEWW7e5pH0vZ+jVMzDmm5nsJ7RXrAkZO1IvpIpVLvoQfiJOWVvkD+o9fWvoK1tWJS72FSgPju+58mA2ieBuc87A790Pzuv1P3NR3zFLAjUR99zkHR1fpri/daM3PBWO8ET48FWkyU1kOeZaUlF67/+wrEiNgg+t1qhKOCAB61PdNVkLaSGHimksuC+Czk8Kq9nuS0E0TCnDtjjEyJ455FUcaCfczlTb8xkB/F9ORe74yTzD+vlk0tFMG6PLj/ajIwWqwO0qmQ8wX3NRxkWgGz5kVO1wrVJarKQ5EYQ3/mgvit0v6dAgMBAAGjUDBOMB0GA1UdDgQWBBRw+wKBo34+bgexjAa3EMDsgSCd7zAfBgNVHSMEGDAWgBRw+wKBo34+bgexjAa3EMDsgSCd7zAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUAA4IBAQCHRXIs53opzKM2rM8Qe8lcw524WK6hqy2EWrZHp78N7rU7/6DQ/I3hv3WhcDDIO04I2/Xhe88MLBaLoM367Ya+vy7CaLr14aLi/SfQszMA0ALBvMao+Fis0iVwFYq/NLgSXw+fgnpFskt8v8iQZ+4Kaal8U8e9sVgu8m0RgO7rzym1eRiIKpsKd1rh/SD7LbSN7M7TRL3QqF7ltw9sQhAAsQcRaBBF21pdWrqhiGZ+Eioo3hhgwNavH2agqz78ddHwrFpHFwrEeUk1OfpPb76MYIce7xIy/4oQNdg6fOq4l/FrajBv+WkzDVPaKm6r7YmwfLN/YMZBHXSR58oOGP9W-----END CERTIFICATE-----"}}]}}},"x-tagGroups":[{"tags":["cPanel Account SSL Management"],"name":"SSL Certificates"}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"servers":[{"description":"A server running cPanel.","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute"}],"openapi":"3.0.2","tags":[{"description":"The SSL module for UAPI.","name":"SSL"},{"name":"cPanel Account SSL Management","description":"SSL Certificates / cPanel Account SSL Management"}],"security":[{"BasicAuth":[]}],"info":{"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"},"title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999"},"externalDocs":{"url":"https://cpanel.net/developers/"}},"generate_key":{"paths":{"/SSL/generate_key":{"get":{"x-readonly":false,"operationId":"SSL-generate_key","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"func":{"description":"The name of the method called.","example":"generate_key","type":"string"},"result":{"type":"object","properties":{"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null},"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null},"metadata":{"properties":{}},"data":{"type":"object","properties":{"created":{"example":1601467200,"description":"The key's creation date.","format":"unix_timestamp","type":"integer"},"text":{"type":"string","format":"pem-private-key","description":"The key's contents.","example":"-----BEGIN RSA PRIVATE KEY-----\nMIIEowIBAAKCAQEAyeiHvMuJuVk8ZEY6wMzUS1g0eWaHaIWmIRe+Qrn6SwiRrm1p\npsJCiGPPPQGOSg4FzrMXqE0zsi/Tk3hUO/EEsi7CcZe8cUanjlUeXhiwrb86FCMF\nOb9siRHQvlss7VCg8ZGXXTWZgf5yD3A1xPwdayYwF2Tc7GkNcZGUAI58geuYaq+U\nGiLczRGZep1IQ0b1cZnqDvGMx6AS6hiDqLISjnmXYY2OhG6Uyp+SuinjYzLPJ6eO\nN/7i9qqbcGmt0ssddmhR897+bTEom5SlSuyi03KZ9Rn4ZmNJgOsup9MclSBGxBys\nb6MuuM3N0/tF5QuwmDc8H6h2rNBP9vGV7RTTXQIDAQABAoIBAFS/WVoRRLmbjxG3\nuKl8UA9f8oaSVnu0vUpeoOl5Dmm4Kw2/tvzbxPlii3Xb1VGYGS/tVBy8atp74J6h\nfxm5zHLN1afAPMR/F41ShPCSBHapMUOKf4MBqhjOdYOw2Way1RsQNSxWdxxtJIr+\nWlNYTzDOUpk/KMvCPHZS2IBzTidpcFpDQ3pyDXjOoKJJH0EQWPtvxJNGrFqmU29D\n9WBqQemHnDrzg3s7JzQ5cGpbbCE+QX8IckNkslAkyhm771CtqWdeo+c45e6YfGcx\nKuAy1zGSVzQBuitzYoMUOL5olXLEj8fHzXd/cZP4yCyyabcGz2vi6luxF+28l1OL\nG1axyLECgYEA+bD5B+Y/Dp5hZ/uVR1bbvyraQpwbDesS1zgnJ53KOIl926dnWzIt\nUvM46+c9IF+UJrtzwIB6IvjAQioNFrK36bHgNGzNf9WQ54NN172qveaFLdW34z/i\nGR2ix/efm9OC41QREQ/5IKV07TibCwVazVBWascMPkH7FnguTvTCiosCgYEAzwJ+\nGPlIWjK+sqkK5JMUyuH43qAvgVfkZV906JpNRQH0Mob3bC0nXN95EoTwWXk68ULT\no1GHv9XLbj8e+Ok7kpJQZT5vEZnDN+cy3jdTLCvcjU5Q3ToImOTp9isSAFWRTbtk\nyabLNoIIsTR/ZwwPFTZcRiK2d8k7ZhcRKdfGnrcCgYAPZ06FoTukoDqsGoYkB4S4\n72DVmSHGIwlfg5ROylouULUV9ubWZmsLYfvR+cr4k0zlcsz6RDLEs4nQyx1RmCbm\nYNXPBiNLTpaI4b3MoGPHIVB3+mZEu60sFXr0UR9kkpDRi18eKVkaHXrwI3zVGjh2\n0Az0u2DS+mkOAs4AivLxbwKBgQC0XPqbLc+Bb0dCCREJmLD8GCkrZ6wcaQUB4krN\nQ2vhnVM0Fu5K3Yi3XapynUuA2aSmgtA9MxMw7MkjlHGa9DPIgBz2KZDCaBN0iMeE\nX/XivZCbucmxBxhohsLmjh5QFj3U2Vp2bBIQuvlx1EjQ8uvNUqDRJvuOoNFVIPH+\nYBeZPwKBgA//kXfNtNMHOpch699i3rgTzbRFDmGwsr1otzvJsXw7Pr2bM4WIzUJy\nG2SUSUlQRSZK4+BBKT9S0d7TynJD6X/6R7IBotZbfXs1myYxEsKj89/BQmr47x2h\nHjYVCClNoJlsbd5C2yu1R3PikweWGoVaxE3c+AN5knqjwJ0g21Cf\n-----END RSA PRIVATE KEY-----"},"modulus_length":{"nullable":true,"type":"integer","example":2048,"description":"The length, in bits, of the key's modulus.\n\n* `null` — The key is **not** an RSA key."},"key_algorithm":{"type":"string","enum":["rsaEncryption","id-ecPublicKey"],"example":"rsaEncryption","description":"The key's algorithm.\n\n* `rsaEncryption` — RSA.\n* `id-ecPublicKey` — ECDSA."},"ecdsa_curve_name":{"enum":["prime256v1","secp384r1"],"example":"prime256v1","description":"The ECDSA curve that the key uses.\n\n* `prime256v1`\n* `secp384r1`\n* `null` — The key is **not** an ECDSA key.","nullable":true,"type":"string"},"friendly_name":{"example":"TestKey","description":"The key's friendly name.","type":"string"},"modulus":{"example":"a673c3b17344664b35f8791f562d3aea6bf4d8faa3ae3fc0a519380fd453964a36677c34d48677ecb7f5ed035df026f5f0f8fbfe21745e52daf1f3b9e58c73f0baefdb709320e2202e7d05250b051a59b30ff1fef22d83d7140c1c81cea314a0890ce8d2226799872181c58a74016c7aaa2cff5ac72b575cecde8f304aa572a2ea03d8b173ab76c6e8cdb9dfd0da81e1119cefd4b8b4dbfbe0e46c7f1ee2fe8b5fd5504e58ccbc0d13b4fa41ecc9ebd0dabe1d1fec5c724f748167e7c0553e997f9b77eb36abce70973f06df151748d41b758de3efd7afa6f2464a1547f5ff158469d96e248be464df9eda0e7ce854a89332a2c1278b17c425368a9604f454db","description":"The key's modulus, in hexadecimal format.\n\n* `null` — The key is **not** an RSA key.","nullable":true,"type":"string"},"id":{"example":"example_com_a74f7_9dddf_1446659822_eae1ff43c4ec1991e195877c55755eff","description":"The key's ID.","type":"string"},"ecdsa_public":{"nullable":true,"type":"string","example":null,"description":"The key's ECDSA compressed public point, in hexadecimal format.\n\n* `null` — The key is **not** an ECDSA key."}}},"warnings":{"nullable":true,"type":"array","example":null,"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"}},"status":{"enum":[1,0],"example":1,"description":"* `1` — Success.\n* `0` — Failed. Check the errors field for more details.","type":"integer"}}},"module":{"type":"string","description":"The name of the module called.","example":"SSL"}},"type":"object"}}},"description":"HTTP Request was successful."}},"parameters":[{"in":"query","name":"keytype","schema":{"example":"rsa-2048","enum":["system","rsa-2048","rsa-4096","ecdsa-prime256v1","ecdsa-secp384r1"],"type":"string"},"description":"The key's type.\n\n* `system` — The system's default value.\n* `rsa-2048` — 2,408-bit RSA.\n* `rsa-4096` — 4,096-bit RSA.\n* `ecdsa-prime256v1` — ECDSA prime256v1 (\"P-256\").\n* `ecdsa-secp384r1` — ECDSA secp384r1 (\"P-384\").\n\nThis parameter defaults to the user's\n[default SSL/TLS key type](https://go.cpanel.net/cpaneldocsSSLTLS#default-ssl-tls-key-type).\n\n**Note:**\n\nIf you do **not** use this parameter, the system defaults to the `keysize` parameter's default value.","required":false},{"name":"keysize","in":"query","deprecated":true,"schema":{"type":"integer","default":2048,"example":2048},"description":"The key's modulus size.\n\n**Note:**\n\nUse the `keytype` parameter.","required":false},{"name":"friendly_name","in":"query","schema":{"example":"TestKey","type":"string"},"description":"A friendly name for the new key.\n\nThis parameter defaults to the key's type, creation date, and creation time.","required":false}],"tags":["SSL","SSL Certificate Management"],"x-rollback":"none","description":"This function generates a private key.\n\n**Important:**\n\n* You **cannot** call both the `keytype` and `keysize` parameters in a single call.\n* When you disable the Calendars and Contacts, Receive Mail, Web Disk, Webmail, **and**\nWeb Server [roles](https://go.cpanel.net/howtouseserverprofiles#roles),\nthe system **disables** this function.","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  SSL \\\n  generate_key\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/SSL/generate_key","lang":"HTTP","label":"URL"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file SSL_generate_key.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/SSL_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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file SSL_generate_key.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/SSL_generate_key.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    '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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"summary":"Create private key","x-cpanel-available-version":"cPanel 11.42","x-cpanel-api-version":"UAPI"}}},"security":[{"BasicAuth":[]}],"x-tagGroups":[{"tags":["SSL Certificate Management"],"name":"SSL Certificates"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"tags":[{"description":"The SSL module for UAPI.","name":"SSL"},{"description":"SSL Certificates / SSL Certificate Management","name":"SSL Certificate Management"}],"servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}}}],"openapi":"3.0.2","externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"}}},"set_autossl_excluded_domains":{"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"x-tagGroups":[{"tags":["Auto-generated SSL Certificates"],"name":"SSL Certificates"}],"servers":[{"description":"A server running cPanel.","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute"}],"openapi":"3.0.2","tags":[{"description":"The SSL module for UAPI.","name":"SSL"},{"description":"SSL Certificates / Auto-generated SSL Certificates","name":"Auto-generated SSL Certificates"}],"security":[{"BasicAuth":[]}],"info":{"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"},"license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999"},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/SSL/set_autossl_excluded_domains":{"get":{"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"func":{"type":"string","example":"set_autossl_excluded_domains","description":"The name of the method called."},"result":{"properties":{"warnings":{"example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","nullable":true,"type":"array"},"data":{"enum":[null],"type":"object","nullable":true},"metadata":{"properties":{}},"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"messages":{"items":{"type":"string"},"description":"List of messages generated by the API.","example":null,"type":"array","nullable":true},"status":{"enum":[0,1],"example":1,"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","type":"integer"}}},"module":{"example":"SSL","description":"The name of the module called.","type":"string"},"apiversion":{"example":3,"description":"The version of the API.","type":"integer"}}}}},"description":"HTTP Request was successful."}},"tags":["SSL","Auto-generated SSL Certificates"],"parameters":[{"name":"domains","in":"query","required":false,"description":"A comma-separated list of domains for which to disable AutoSSL.\n\n**Note:**\n\nIf you do not include this parameter, the function will **enable** AutoSSL for every domain on the account.","schema":{"type":"string","example":"example.com,example.net"}}],"x-readonly":false,"operationId":"SSL-set_autossl_excluded_domains","x-cpanel-api-version":"UAPI","description":"This function disables AutoSSL for every domain that you specify.\n\n**Warning:**\n\nThis 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`.\n\n**Important:**\n\nWhen 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.","summary":"Disable AutoSSL for specifed domains","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  SSL \\\n  set_autossl_excluded_domains\n"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/SSL/set_autossl_excluded_domains"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file SSL_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/<theme_name>/\n#    to .../frontend/<theme_name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file SSL_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/<theme_name>/\n//    to .../frontend/<theme_name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-available-version":"cPanel 66","x-rollback":"none"}}}},"is_mail_sni_supported":{"info":{"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute"}],"tags":[{"description":"The SSL module for UAPI.","name":"SSL"},{"description":"SSL Certificates / SNI Email Settings","name":"SNI Email Settings"}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"x-tagGroups":[{"name":"SSL Certificates","tags":["SNI Email Settings"]}],"security":[{"BasicAuth":[]}],"paths":{"/SSL/is_mail_sni_supported":{"get":{"parameters":[],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"func":{"description":"The name of the method called.","example":"is_mail_sni_supported","type":"string"},"module":{"example":"SSL","description":"The name of the module called.","type":"string"},"result":{"type":"object","properties":{"status":{"type":"integer","example":1,"enum":[0,1],"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details."},"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"metadata":{"properties":{}},"warnings":{"example":null,"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"},"data":{"type":"integer","description":"Whether the sslinstall feature is enabled.\n* `1` - Enabled.\n* `0` - Disabled.","example":1,"enum":[0,1]}}}}}}}}},"tags":["SSL","SNI Email Settings"],"operationId":"SSL-is_mail_sni_supported","x-readonly":true,"x-cpanel-api-version":"UAPI","description":"This function checks whether the sslinstall feature is enabled.\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 will fail and make no changes.\n\n**Important:**\n\nWhen you disable the [Calendars and Contacts, Receive Mail, Web Disk, Webmail, and Web Server roles](https://go.cpanel.net/serverroles), the system **disables** this function.","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  SSL \\\n  is_mail_sni_supported\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/SSL/is_mail_sni_supported","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file SSL_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/<theme_name>/\n#    to .../frontend/<theme_name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file SSL_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/<theme_name>/\n//    to .../frontend/<theme_name>/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\nheader('Content-Type: text/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\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Return whether mail SNI is enabled","x-cpanel-available-version":"cPanel 11.48"}}}},"get_autossl_problems":{"x-tagGroups":[{"tags":["Auto-generated SSL Certificates"],"name":"SSL Certificates"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}}}],"openapi":"3.0.2","tags":[{"description":"The SSL module for UAPI.","name":"SSL"},{"description":"SSL Certificates / Auto-generated SSL Certificates","name":"Auto-generated SSL Certificates"}],"security":[{"BasicAuth":[]}],"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/"},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/SSL/get_autossl_problems":{"get":{"operationId":"SSL-get_autossl_problems","x-readonly":true,"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"func":{"example":"get_autossl_problems","description":"The name of the method called.","type":"string"},"module":{"example":"SSL","description":"The name of the module called.","type":"string"},"result":{"properties":{"metadata":{"properties":{}},"data":{"type":"array","items":{"properties":{"problem":{"type":"string","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.)","description":"text description of the problem."},"time":{"format":"ISO-8601 Date Time","type":"string","description":"When the problem occurred.","example":"2018-06-07T05:30:09Z"},"domain":{"description":"The certificate's hostname.","example":"example.com","type":"string","format":"domain"}},"type":"object"}},"warnings":{"example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","nullable":true,"type":"array"},"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."},"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null},"status":{"example":1,"enum":[0,1],"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","type":"integer"}},"type":"object"},"apiversion":{"example":3,"description":"The version of the API.","type":"integer"}},"type":"object"}}}}},"parameters":[],"tags":["SSL","Auto-generated SSL Certificates"],"description":"This function retrieves a list of domains that possess AutoSSL problems.\n\n**Important:**\n\nWhen you disable the [Calendars and Contacts, Receive Mail, Web Disk, Webmail, and Web Server roles](https://go.cpanel.net/serverroles), the system **disables** this function.","x-cpanel-available-version":"cPanel 68","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  SSL \\\n  get_autossl_problems\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/SSL/get_autossl_problems","label":"URL","lang":"HTTP"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file SSL_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/<theme_name>/\n#    to .../frontend/<theme_name>/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}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file SSL_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/<theme_name>/\n//    to .../frontend/<theme_name>/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\nheader('Content-Type: text/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\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Return domains with AutoSSL problems","x-cpanel-api-version":"UAPI"}}}},"set_cert_friendly_name":{"security":[{"BasicAuth":[]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"x-tagGroups":[{"tags":["SSL Certificate Management"],"name":"SSL Certificates"}],"servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"name":"SSL","description":"The SSL module for UAPI."},{"name":"SSL Certificate Management","description":"SSL Certificates / SSL Certificate Management"}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI"},"paths":{"/SSL/set_cert_friendly_name":{"get":{"summary":"Update SSL certificate's friendly name","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"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file SSL_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/<theme_name>/\n#    to .../frontend/<theme_name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file SSL_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/<theme_name>/\n//    to .../frontend/<theme_name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 11.42","x-cpanel-api-version":"UAPI","x-readonly":false,"operationId":"SSL-set_cert_friendly_name","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"func":{"type":"string","example":"set_cert_friendly_name","description":"The name of the method called."},"module":{"description":"The name of the module called.","example":"SSL","type":"string"},"result":{"properties":{"status":{"type":"integer","enum":[0,1],"example":1,"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details."},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"messages":{"items":{"type":"string"},"description":"List of messages generated by the API.","example":null,"type":"array","nullable":true},"warnings":{"type":"array","nullable":true,"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"},"example":null},"data":{"default":null,"type":"object","nullable":true},"metadata":{"properties":{}}}},"apiversion":{"type":"integer","description":"The version of the API.","example":3}},"type":"object"}}},"description":"HTTP Request was successful."}},"tags":["SSL","SSL Certificate Management"],"x-rollback":"none","description":"This function changes a certificate's friendly name.\n\n**Important:**\n\nWhen you disable the [Calendars and Contacts, Receive Mail, Web Disk, Webmail, and Web Server roles](https://go.cpanel.net/serverroles), the system **disables** this function.","parameters":[{"in":"query","name":"friendly_name","description":"The certificate's friendly name.","required":true,"schema":{"example":"TestCert","type":"string"}},{"required":true,"description":"The certificate's new friendly name.","schema":{"example":"TestCert2","type":"string"},"in":"query","name":"new_friendly_name"}]}}}},"delete_key":{"x-tagGroups":[{"tags":["SSL Certificate Management"],"name":"SSL Certificates"}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"servers":[{"description":"A server running cPanel.","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"url":"https://{host}:{port}/execute"}],"tags":[{"name":"SSL","description":"The SSL module for UAPI."},{"description":"SSL Certificates / SSL Certificate Management","name":"SSL Certificate Management"}],"openapi":"3.0.2","security":[{"BasicAuth":[]}],"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/SSL/delete_key":{"get":{"parameters":[{"required":false,"description":"The private key's ID.","schema":{"example":"example_com_e095f_0ab2f_ebcbe4a571276f48562241411556647f","type":"string"},"name":"id","in":"query"},{"schema":{"example":"TestKey","type":"string"},"required":false,"description":"The private key's friendly name.","in":"query","name":"friendly_name"}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"apiversion":{"type":"integer","description":"The version of the API.","example":3},"func":{"type":"string","description":"The name of the method called.","example":"delete_key"},"result":{"properties":{"status":{"example":1,"enum":[1,0],"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","type":"integer"},"data":{"items":{"type":"object","properties":{"created":{"type":"integer","format":"unix_timestamp","description":"The private key's creation date.","example":1538308800},"modulus_length":{"example":2048,"description":"The length, in bits, of the key's modulus.\n\n* `null` — The key is **not** an RSA key.","nullable":true,"type":"integer"},"key_algorithm":{"description":"The key's algorithm.\n\n* `rsaEncryption` — RSA.\n* `id-ecPublicKey` — ECDSA.","example":"rsaEncryption","enum":["rsaEncryption","id-ecPublicKey"],"type":"string"},"friendly_name":{"type":"string","example":"TestKey","description":"The private key's friendly name."},"ecdsa_curve_name":{"description":"The ECDSA curve that the key uses.\n\n* `prime256v1`\n* `secp384r1`\n* `null` — The key is **not** an ECDSA key.","example":"prime256v1","enum":["prime256v1","secp384r1"],"type":"string","nullable":true},"modulus":{"nullable":true,"type":"string","example":"a673c3b17344664b35f8791f562d3aea6bf4d8faa3ae3fc0a519380fd453964a36677c34d48677ecb7f5ed035df026f5f0f8fbfe21745e52daf1f3b9e58c73f0baefdb709320e2202e7d05250b051a59b30ff1fef22d83d7140c1c81cea314a0890ce8d2226799872181c58a74016c7aaa2cff5ac72b575cecde8f304aa572a2ea03d8b173ab76c6e8cdb9dfd0da81e1119cefd4b8b4dbfbe0e46c7f1ee2fe8b5fd5504e58ccbc0d13b4fa41ecc9ebd0dabe1d1fec5c724f748167e7c0553e997f9b77eb36abce70973f06df151748d41b758de3efd7afa6f2464a1547f5ff158469d96e248be464df9eda0e7ce854a89332a2c1278b17c425368a9604f454db","description":"The key's modulus, in hexadecimal format.\n\n* `null` — The key is **not** an RSA key."},"ecdsa_public":{"type":"string","nullable":true,"description":"The key's ECDSA compressed public point, in hexadecimal format.\n\n* `null` — The key is **not** an ECDSA key.","example":null}}},"type":"array"},"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"},"example":null,"type":"array","nullable":true},"metadata":{"properties":{"transformed":{"description":"Post-processing may have transformed the data.","example":1,"enum":[1],"type":"integer"}}},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."}},"type":"object"},"module":{"type":"string","example":"SSL","description":"The name of the module called."}},"type":"object"}}},"description":"HTTP Request was successful."}},"tags":["SSL","SSL Certificate Management"],"x-readonly":false,"operationId":"SSL-delete_key","x-cpanel-api-version":"UAPI","summary":"Delete private key","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  SSL \\\n  delete_key\n","lang":"Shell","label":"CLI"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/SSL/delete_key","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file SSL_delete_key.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/SSL_delete_key.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/SSL/,\n    q/delete_key/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file SSL_delete_key.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/SSL_delete_key.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'SSL',\n    'delete_key'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-available-version":"cPanel 11.42","description":"This function deletes a private key.\n\n**Note:**\n\n* When you call this function, you **must** include the `id` or the `friendly_name`\nparameter.\n* To delete a certificate signing request (CSR), use the UAPI `SSL::delete_csr`\nfunction instead.\n\n**Important:**\n\nWhen you disable the Calendars and Contacts, Receive Mail, Web Disk, Webmail,\nand Web Server [roles](https://go.cpanel.net/howtouseserverprofiles#roles),\nthe system **disables** this function.","x-rollback":"none"}}}},"can_ssl_redirect":{"paths":{"/SSL/can_ssl_redirect":{"get":{"description":"This function determines whether the system can automatically redirect domains on a cPanel account to use SSL.","x-cpanel-available-version":"cPanel 80","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  SSL \\\n  can_ssl_redirect\n"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/SSL/can_ssl_redirect"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file SSL_can_ssl_redirect.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/SSL_can_ssl_redirect.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/SSL/,\n    q/can_ssl_redirect/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file SSL_can_ssl_redirect.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/SSL_can_ssl_redirect.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'SSL',\n    'can_ssl_redirect'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Return whether domains can redirect to secure URL","x-cpanel-api-version":"UAPI","parameters":[],"tags":["SSL","cPanel Account SSL Management"],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"func":{"type":"string","example":"can_ssl_redirect","description":"The name of the method called."},"result":{"properties":{"status":{"enum":[0,1],"example":1,"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","type":"integer"},"metadata":{"properties":{}},"data":{"type":"integer","description":"Whether the system can automatically redirect the domains to use SSL.\n* `1` - Can redirect.\n* `0` - **Cannot** redirect.","example":1,"enum":[0,1]},"warnings":{"example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","nullable":true,"type":"array"},"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"},"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null}},"type":"object"},"module":{"type":"string","description":"The name of the module called.","example":"SSL"},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}},"type":"object"}}},"description":"HTTP Request was successful."}},"operationId":"SSL-can_ssl_redirect","x-readonly":true}}},"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"x-tagGroups":[{"name":"SSL Certificates","tags":["cPanel Account SSL Management"]}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"url":"https://{host}:{port}/execute"}],"tags":[{"name":"SSL","description":"The SSL module for UAPI."},{"name":"cPanel Account SSL Management","description":"SSL Certificates / cPanel Account SSL Management"}],"security":[{"BasicAuth":[]}],"info":{"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"},"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/"},"externalDocs":{"url":"https://cpanel.net/developers/"}},"remove_autossl_excluded_domains":{"paths":{"/SSL/remove_autossl_excluded_domains":{"get":{"tags":["SSL","Auto-generated SSL Certificates"],"parameters":[{"schema":{"type":"string"},"required":true,"description":"Enable AutoSSL for this domain.","examples":{"single":{"summary":"A single domain.","value":"example.com"},"multiple":{"summary":"Multiple domains.","value":"domains=example1.com,example2.com"}},"name":"domains","in":"query"}],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"type":"integer","description":"The version of the API.","example":3},"module":{"type":"string","description":"The name of the module called.","example":"SSL"},"result":{"properties":{"data":{"type":"object","nullable":true,"default":null},"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"},"example":null,"type":"array","nullable":true},"metadata":{"properties":{}},"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null},"messages":{"example":null,"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"},"status":{"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","enum":[0,1],"example":1,"type":"integer"}}},"func":{"description":"The name of the method called.","example":"remove_autossl_excluded_domains","type":"string"}},"type":"object"}}}}},"operationId":"SSL-remove_autossl_excluded_domains","x-readonly":false,"x-cpanel-api-version":"UAPI","summary":"Enable AutoSSL for specifed domains","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"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/SSL/remove_autossl_excluded_domains?domains=example.com"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file SSL_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/<theme_name>/\n#    to .../frontend/<theme_name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file SSL_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/<theme_name>/\n//    to .../frontend/<theme_name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 66","description":"This function enables AutoSSL for the domains that you specify.\n\n**Important:**\n\nWhen you disable the [Calendars and Contacts, Receive Mail, Web Disk, Webmail, and Web Server roles](https://go.cpanel.net/serverroles), the system **disables** this function.","x-rollback":"none"}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999"},"security":[{"BasicAuth":[]}],"servers":[{"variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"description":"The SSL module for UAPI.","name":"SSL"},{"description":"SSL Certificates / Auto-generated SSL Certificates","name":"Auto-generated SSL Certificates"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"name":"SSL Certificates","tags":["Auto-generated SSL Certificates"]}]},"delete_ssl":{"paths":{"/SSL/delete_ssl":{"get":{"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","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":{"example":"SSL","description":"The name of the module called.","type":"string"},"result":{"properties":{"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null,"type":"array","nullable":true},"data":{"type":"object","nullable":true,"default":null},"metadata":{"properties":{}},"errors":{"example":null,"description":"List of errors if the API failed.","items":{"type":"string"},"nullable":true,"type":"array"},"messages":{"items":{"type":"string"},"description":"An array containing a message about the domain's SSL removal.","example":["The SSL host was successfully removed."],"type":"array","nullable":true},"status":{"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","enum":[0,1],"example":1,"type":"integer"}},"type":"object"}}}}},"description":"HTTP Request was successful."}},"parameters":[{"schema":{"type":"string","format":"domain","example":"example.com"},"required":true,"description":"The domain name.","name":"domain","in":"query"}],"tags":["SSL","cPanel Account SSL Management"],"operationId":"SSL-delete_ssl","x-readonly":false,"x-cpanel-api-version":"UAPI","description":"This function removes SSL from a domain.\n\n**Note:**\n\nThis function removes domains from the current certificate to end SSL coverage for those\ndomains. To delete certificates from SSL storage, use the UAPI function `SSL::delete_cert`\ninstead.\n\n**Important:**\n\nWhen you disable the Calendars and Contacts, Receive Mail, Web Disk, Webmail, **and** Web Server\n[roles](https://go.cpanel.net/serverroles), the system **disables** this function.","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  SSL \\\n  delete_ssl \\\n  domain='example.com'\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/SSL/delete_ssl?domain=example.com","label":"URL","lang":"HTTP"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file SSL_delete_ssl.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/SSL_delete_ssl.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/SSL/,\n    q/delete_ssl/,\n    {\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file SSL_delete_ssl.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/SSL_delete_ssl.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'SSL',\n    'delete_ssl',\n    array (\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"summary":"Remove SSL for domain","x-cpanel-available-version":"cPanel 11.42","x-rollback":"none"}}},"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"x-tagGroups":[{"tags":["cPanel Account SSL Management"],"name":"SSL Certificates"}],"servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"name":"SSL","description":"The SSL module for UAPI."},{"description":"SSL Certificates / cPanel Account SSL Management","name":"cPanel Account SSL Management"}],"security":[{"BasicAuth":[]}],"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.","version":"11.89.0.9999","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"}},"externalDocs":{"url":"https://cpanel.net/developers/"}},"list_keys":{"paths":{"/SSL/list_keys":{"get":{"parameters":[],"description":"This function lists an account's private keys.\n\n**Important:**\n\nWhen you disable the Calendars and Contacts, Receive Mail, Web Disk, Webmail,\nand Web Server [roles](https://go.cpanel.net/howtouseserverprofiles#roles),\nthe system **disables** this function.","x-rollback":"none","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"module":{"type":"string","description":"The name of the module called.","example":"SSL"},"result":{"type":"object","properties":{"status":{"enum":[1,0],"example":1,"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","type":"integer"},"metadata":{"properties":{"transformed":{"example":1,"enum":[1],"description":"Post-processing may have transformed the data.","type":"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"},"example":null,"type":"array","nullable":true},"data":{"items":{"properties":{"modulus":{"example":"a673c3b17344664b35f8791f562d3aea6bf4d8faa3ae3fc0a519380fd453964a36677c34d48677ecb7f5ed035df026f5f0f8fbfe21745e52daf1f3b9e58c73f0baefdb709320e2202e7d05250b051a59b30ff1fef22d83d7140c1c81cea314a0890ce8d2226799872181c58a74016c7aaa2cff5ac72b575cecde8f304aa572a2ea03d8b173ab76c6e8cdb9dfd0da81e1119cefd4b8b4dbfbe0e46c7f1ee2fe8b5fd5504e58ccbc0d13b4fa41ecc9ebd0dabe1d1fec5c724f748167e7c0553e997f9b77eb36abce70973f06df151748d41b758de3efd7afa6f2464a1547f5ff158469d96e248be464df9eda0e7ce854a89332a2c1278b17c425368a9604f454db","description":"The key's modulus, in hexadecimal format.\n\n* `null` — The key is **not** an RSA key.","nullable":true,"type":"string"},"id":{"type":"string","example":"b116e_473f5_ad6b3bd9517fb157830d0e37a03bc596","description":"The key ID."},"ecdsa_public":{"example":null,"description":"The key's ECDSA compressed public point, in hexadecimal format.\n\n* `null` — The key is **not** an ECDSA key.","nullable":true,"type":"string"},"ecdsa_curve_name":{"enum":["prime256v1","secp384r1"],"example":"prime256v1","description":"The ECDSA curve that the key uses.\n\n* `prime256v1`\n* `secp384r1`\n* `null` — The key is **not** an ECDSA key.","nullable":true,"type":"string"},"friendly_name":{"example":"TestKey","description":"The key's friendly name.","type":"string"},"key_algorithm":{"type":"string","description":"The key's algorithm.\n\n* `rsaEncryption` — RSA.\n* `id-ecPublicKey` — ECDSA.","example":"rsaEncryption","enum":["rsaEncryption","id-ecPublicKey"]},"modulus_length":{"type":"integer","nullable":true,"description":"The length, in bits, of the key's modulus.\n\n* `null` — The key is **not** an RSA key.","example":2048,"minimum":1},"created":{"example":1569844800,"description":"The key's creation date.","type":"integer","format":"unix_timestamp"}},"type":"object"},"type":"array"},"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"},"errors":{"example":null,"items":{"type":"string"},"description":"List of errors if the API failed.","nullable":true,"type":"array"}}},"func":{"example":"list_keys","description":"The name of the method called.","type":"string"},"apiversion":{"type":"integer","example":3,"description":"The version of the API."}},"type":"object"}}}}},"tags":["SSL","cPanel Account SSL Management"],"operationId":"SSL-list_keys","x-readonly":true,"x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  SSL \\\n  list_keys\n","label":"CLI","lang":"Shell"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/SSL/list_keys"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file SSL_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/<theme_name>/\n#    to .../frontend/<theme_name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file SSL_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/<theme_name>/\n//    to .../frontend/<theme_name>/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}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"summary":"Return all private keys","x-cpanel-available-version":"cPanel 11.42","x-cpanel-api-version":"UAPI"}}},"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."}}}],"openapi":"3.0.2","tags":[{"name":"SSL","description":"The SSL module for UAPI."},{"description":"SSL Certificates / cPanel Account SSL Management","name":"cPanel Account SSL Management"}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"x-tagGroups":[{"name":"SSL Certificates","tags":["cPanel Account SSL Management"]}],"security":[{"BasicAuth":[]}],"info":{"version":"11.89.0.9999","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/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"externalDocs":{"url":"https://cpanel.net/developers/"}},"set_default_key_type":{"openapi":"3.0.2","tags":[{"description":"The SSL module for UAPI.","name":"SSL"},{"name":"cPanel Account SSL Management","description":"SSL Certificates / cPanel Account SSL Management"}],"servers":[{"url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"description":"A server running cPanel."}],"x-tagGroups":[{"tags":["cPanel Account SSL Management"],"name":"SSL Certificates"}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"security":[{"BasicAuth":[]}],"info":{"contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"},"title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/SSL/set_default_key_type":{"get":{"x-cpanel-available-version":"cPanel 92","summary":"Update SSL TLS key type","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  SSL \\\n  set_default_key_type \\\n  type='ecdsa-prime256v1'\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/SSL/set_default_key_type?type=ecdsa-prime256v1","label":"URL","lang":"HTTP"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file SSL_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/<theme_name>/\n#    to .../frontend/<theme_name>/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#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file SSL_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/<theme_name>/\n//    to .../frontend/<theme_name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"description":"This function sets a user’s preferred SSL/TLS key type.","x-cpanel-api-version":"UAPI","x-rollback":"none","parameters":[{"schema":{"type":"string","enum":["system","rsa-2048","rsa-4096","ecdsa-prime256v1","ecdsa-secp384r1"]},"example":"ecdsa-prime256v1","description":"The key type to set.\n\n* `system` — Use the system’s `ssl_default_key_type` value.\n* `rsa-2048` — 2,048-bit RSA.\n* `rsa-4096` — 4,096-bit RSA.\n* `ecdsa-prime256v1` — ECDSA prime256v1 (“P-256”).\n* `ecdsa-secp384r1` — ECDSA secp384r1 (“P-384”).","required":true,"in":"query","name":"type"}],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"module":{"description":"The name of the module called.","example":"SSL","type":"string"},"result":{"type":"object","properties":{"status":{"type":"integer","description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","enum":[0,1],"example":1},"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."},"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API."},"metadata":{"properties":{}}}},"func":{"example":"set_default_key_type","description":"The name of the method called.","type":"string"}}}}}}},"tags":["SSL","cPanel Account SSL Management"],"x-readonly":false,"operationId":"SSL-set_default_key_type"}}}},"delete_cert":{"info":{"contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/"},"externalDocs":{"url":"https://cpanel.net/developers/"},"servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}}}],"openapi":"3.0.2","tags":[{"description":"The SSL module for UAPI.","name":"SSL"},{"description":"SSL Certificates / SSL Certificate Management","name":"SSL Certificate Management"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"x-tagGroups":[{"name":"SSL Certificates","tags":["SSL Certificate Management"]}],"security":[{"BasicAuth":[]}],"paths":{"/SSL/delete_cert":{"get":{"tags":["SSL","SSL Certificate Management"],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"func":{"example":"delete_cert","description":"The name of the method called.","type":"string"},"module":{"type":"string","description":"The name of the module called.","example":"SSL"},"result":{"type":"object","properties":{"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"data":{"type":"array","items":{"type":"object","properties":{"is_self_signed":{"description":"Whether the certificate is self-signed.\n\n* `1` — Self-signed.\n* `0` — Not self-signed.","example":1,"enum":[1,0],"type":"integer"},"created":{"description":"The date the certificate was created.","example":1538308800,"format":"unix_timestamp","type":"integer"},"not_after":{"description":"The date the certificate expired.","example":1569844800,"type":"integer","format":"unix_timestamp"},"modulus":{"description":"The certificate's key's modulus, in hexadecimal format.\n\n* `null` — The certificate's key is **not** an RSA key.","example":"a673c3b17344664b35f8791f562d3aea6bf4d8faa3ae3fc0a519380fd453964a36677c34d48677ecb7f5ed035df026f5f0f8fbfe21745e52daf1f3b9e58c73f0baefdb709320e2202e7d05250b051a59b30ff1fef22d83d7140c1c81cea314a0890ce8d2226799872181c58a74016c7aaa2cff5ac72b575cecde8f304aa572a2ea03d8b173ab76c6e8cdb9dfd0da81e1119cefd4b8b4dbfbe0e46c7f1ee2fe8b5fd5504e58ccbc0d13b4fa41ecc9ebd0dabe1d1fec5c724f748167e7c0553e997f9b77eb36abce70973f06df151748d41b758de3efd7afa6f2464a1547f5ff158469d96e248be464df9eda0e7ce854a89332a2c1278b17c425368a9604f454db","type":"string","nullable":true},"id":{"description":"The certificate's ID.","example":"example_com_cb497_a394d_1397249671_d1272da8f13a1fd837493a5ad1f0a0f3","type":"string"},"issuer_text":{"example":"countryName\nUS\nstateOrProvinceName\nTX\nlocalityName\nHouston\norganizationName\nOrganization\ncommonName\nexample.com","description":"The certificate's issuer information.","type":"string"},"serial":{"type":"string","example":"45462cd0d6537b20cf2f3eb8aec07140","description":"The certificate's serial number."},"friendly_name":{"description":"The certificate's friendly name.","example":"TestCert","type":"string"},"modulus_length":{"example":2048,"description":"The length, in bits, of the certificate's key's modulus.\n\n* `null` — The certificate's key is **not** an RSA key.","nullable":true,"type":"integer"},"key_algorithm":{"example":"rsaEncryption","enum":["rsaEncryption","id-ecPublicKey"],"description":"The certificate's key's algorithm.\n\n* `rsaEncryption` — RSA.\n* `id-ecPublicKey` — ECDSA.","type":"string"},"validation_type":{"description":"The certificate's validation type.\n\n* `ev` — Extended Validation.\n* `ov` — Organization Validation.\n* `dv` — Domain Validation.\n* `null` — The system could not parse and determine the\ncertificate's validation type.","example":"dv","enum":["ev","ov","dv"],"type":"string","nullable":true},"domains":{"description":"A list of the domains that the certificate covers.","items":{"format":"domain","type":"string","example":"example.com"},"type":"array"},"subject_text":{"type":"string","description":"The certificate's subject text information.","example":"commonName\nwww.example.com"},"signature_algorithm":{"type":"string","description":"The certificate's OID signature hash algorithm.","example":"sha256WithRSAEncryption"},"issuer.organizationName":{"type":"string","example":"Organization","description":"The certificate's Organization Name."},"ecdsa_public":{"description":"The certificate's key's ECDSA compressed public point, in hexadecimal format.\n\n* `null` — The certificate's key is **not** an ECDSA key.","example":null,"type":"string","nullable":true},"issuer.commonName":{"type":"string","description":"The certificate's Common Name.","example":"example.com"},"subject.commonName":{"example":"example.com","description":"The certificate's Common Name.","type":"string"},"ecdsa_curve_name":{"type":"string","nullable":true,"description":"The ECDSA curve that the certificate's key uses.\n\n* `prime256v1`\n* `secp384r1`\n* `null` — The certificate's key is **not** an ECDSA key.","enum":["prime256v1","secp384r1"],"example":"prime256v1"},"not_before":{"description":"The date the certificate started.","example":1538308800,"type":"integer","format":"unix_timestamp"}}}},"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"},"status":{"type":"integer","example":1,"enum":[1,0],"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details."},"metadata":{"properties":{"transformed":{"description":"Post-processing may have transformed the data.","example":1,"enum":[1],"type":"integer"}}},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true}}},"apiversion":{"example":3,"description":"The version of the API.","type":"integer"}}}}},"description":"HTTP Request was successful."}},"operationId":"SSL-delete_cert","x-readonly":false,"summary":"Delete SSL certificate","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  SSL \\\n  delete_cert\n","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/SSL/delete_cert","lang":"HTTP","label":"URL"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file SSL_delete_cert.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/SSL_delete_cert.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/SSL/,\n    q/delete_cert/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file SSL_delete_cert.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/SSL_delete_cert.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'SSL',\n    'delete_cert'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 11.42","x-cpanel-api-version":"UAPI","parameters":[{"name":"id","in":"query","schema":{"type":"string","example":"example_com_cb497_a394d_1397249671_d1272da8f13a1fd837493a5ad1f0a0f3"},"description":"The certificate's ID.","required":false},{"name":"friendly_name","in":"query","schema":{"type":"string","example":"TestCert"},"description":"The certificate's friendly name.","required":false}],"description":"This function deletes an SSL certificate.\n\n**Note:**\n\n* When you call this function, you **must** include the `id` or the `friendly_name`\nparameter.\n* This function **only** deletes certificates from SSL storage. To end SSL\ncoverage for a domain, use the UAPI `SSL::delete_ssl` function instead.\n\n**Important:**\n\nWhen you disable the Calendars and Contacts, Receive Mail, Web Disk, Webmail,\nand Web Server [roles](https://go.cpanel.net/howtouseserverprofiles#roles),\nthe system **disables** this function.","x-rollback":"none"}}}},"add_autossl_excluded_domains":{"paths":{"/SSL/add_autossl_excluded_domains":{"get":{"parameters":[{"description":"A comma-separated list of domains for which to disable AutoSSL.\n\n**Note:**\n\nFor browser-based calls, use a URI encoded comma (`%2C`).","required":true,"schema":{"type":"string","format":"domain","example":"example.com,example2.com"},"in":"query","name":"domains"}],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"type":"integer","description":"The version of the API.","example":3},"module":{"type":"string","description":"The name of the module called.","example":"SSL"},"result":{"properties":{"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API."},"data":{"default":null,"nullable":true,"type":"object"},"metadata":{"properties":{}},"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null},"messages":{"description":"List of messages generated by the API.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"status":{"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","example":1,"enum":[0,1],"type":"integer"}}},"func":{"type":"string","description":"The name of the method called.","example":"add_autossl_excluded_domains"}},"type":"object"}}}}},"tags":["SSL","Auto-generated SSL Certificates"],"operationId":"SSL-add_autossl_excluded_domains","x-readonly":false,"x-cpanel-api-version":"UAPI","description":"This function disables AutoSSL for the domains that you specify.\n\n**Important:**\n\nWhen you disable the Calendars and Contacts, Receive Mail, Web Disk, Webmail, and Web Server [roles](https://go.cpanel.net/serverroles), the system **disables** this function.","summary":"Disable AutoSSL for domains","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  SSL \\\n  add_autossl_excluded_domains \\\n  domains='example.com,example2.com'\n","label":"CLI","lang":"Shell"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/SSL/add_autossl_excluded_domains?domains=example.com%2cexample2.com"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file SSL_add_autossl_excluded_domains.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/SSL_add_autossl_excluded_domains.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/SSL/,\n    q/add_autossl_excluded_domains/,\n    {\n        'domains' => 'example.com,example2.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file SSL_add_autossl_excluded_domains.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/SSL_add_autossl_excluded_domains.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'SSL',\n    'add_autossl_excluded_domains',\n    array (\n        'domains' => 'example.com,example2.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"x-cpanel-available-version":"cPanel 66","x-rollback":"none"}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"security":[{"BasicAuth":[]}],"tags":[{"name":"SSL","description":"The SSL module for UAPI."},{"name":"Auto-generated SSL Certificates","description":"SSL Certificates / Auto-generated SSL Certificates"}],"servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}}}],"openapi":"3.0.2","x-tagGroups":[{"tags":["Auto-generated SSL Certificates"],"name":"SSL Certificates"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}}}},"Bandwidth":{"get_retention_periods":{"paths":{"/Bandwidth/get_retention_periods":{"get":{"description":"This function retrieves the retention periods for bandwidth data.","summary":"Return bandwidth retention period","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"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Bandwidth_get_retention_periods.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Bandwidth_get_retention_periods.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Bandwidth/,\n    q/get_retention_periods/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Bandwidth_get_retention_periods.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Bandwidth_get_retention_periods.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Bandwidth',\n    'get_retention_periods'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 11.52","x-cpanel-api-version":"UAPI","operationId":"Bandwidth-get_retention_periods","x-readonly":true,"tags":["Bandwidth"],"parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"module":{"description":"The name of the module called.","example":"Bandwidth","type":"string"},"result":{"type":"object","properties":{"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"},"data":{"items":{"type":"object","properties":{"retention":{"example":2678400,"description":"The retention period for bandwidth data.","type":"integer","format":"unix_timestamp"},"interval":{"enum":["daily","hourly","5min"],"example":"5min","description":"The interval in which the system reports bandwidth data.\n- `daily`\n- `hourly`\n- `5min`","type":"string"}}},"type":"array"},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"metadata":{"properties":{"transformed":{"description":"Post-processing may have transformed the data.","enum":[1],"example":1,"type":"integer"}}},"status":{"enum":[0,1],"example":1,"description":"- `1` — Success.\n- `0` — Failed. Check the `errors` field for more details.","type":"integer"}}},"func":{"example":"get_retention_periods","description":"The name of the method called.","type":"string"},"apiversion":{"type":"integer","example":3,"description":"The version of the API."}},"type":"object"}}},"description":"HTTP Request was successful."}}}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"}},"security":[{"BasicAuth":[]}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}}}],"tags":[{"description":"The Bandwidth module for UAPI.","name":"Bandwidth"}],"x-tagGroups":[{"name":"Retrieve bandwidth information","tags":["Bandwidth"]}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}}},"query":{"paths":{"/Bandwidth/query":{"get":{"parameters":[{"in":"query","required":true,"name":"grouping","explode":false,"schema":{"anyOf":[{"type":"string","enum":["domain","protocol"]},{"type":"string","enum":["year","year_month","year_month_day","year_month_day_hour","year_month_day_hour_minute"]}]},"description":"How to group the data in the report, in pipe-separated format. This list **must** contain one or both of the following parameters:\n\nA pipe-separated list that contains one or both of the following parameters:\n* `domain`\n* `protocol`\n\nThis parameter can also include only **one** of the following start time interval types:\n* `year`\n* `year_month`\n* `year_month_day`\n* `year_month_day_hour`\n* `year_month_day_mour_minute`\n\n**Note:**\n\n* This parameter accepts a maximum of three values.\n* The function nests the return objects in the order that you declare the values in this parameter.","style":"pipeDelimited","examples":{"domain_year":{"summary":"domain|year","value":"grouping=domain|year"},"domain_protocol_year":{"value":"grouping=domain|protocol|year","summary":"domain|protocol|year"},"year_month_day":{"value":"grouping=year_month_day","summary":"year_month_day"},"protocol_year_month":{"value":"grouping=protocol|year_month","summary":"protocol|year_month"}}},{"schema":{"example":"daily","default":"daily","enum":["daily","hourly","5min"],"type":"string"},"required":false,"description":"Length of time between bandwidth data samples.\n\n* `daily`\n* `hourly`\n* `5min`\n\n**Note:**\n\nThe interval's retention period determines availability of the interval's data.\nUse the `Bandwidth::get_retention_periods` API to determine an interval's retention period.","in":"query","name":"interval"},{"schema":{"type":"string","format":"domain"},"examples":{"single":{"value":"example.com","summary":"Get data for a specific domain."},"multiple":{"summary":"Get data for multiple domains and UNKNOWN.","value":"domains=example.com|subdomain.example.com|subdomain2.example.com|parkedexample.com|UNKNOWN"}},"description":"A pipe-separated list of domains for which to provided data.\n\n**Note:**\n\n* If you do not include this parameter, the function will return data for all domains on the cPanel account.\n* The `UNKNOWN` \"pseudo-domain\" refers to data recorded without a specific domain. All traffic except HTTP traffic\nis recorded without a specific domain.","style":"pipeDelimited","explode":false,"name":"domains","required":false,"in":"query"},{"in":"query","required":false,"name":"protocols","explode":false,"schema":{"type":"string"},"description":"A pipe-separated list of the protocols for which to provide data.\n* `http`\n* `imap`\n* `smtp`\n* `pop3`\n* `ftp`","style":"pipeDelimited","examples":{"multiple":{"value":"protocols=http|imap|smtp|pop3|ftp","summary":"Get data for multiple protocols."},"single":{"value":"http","summary":"Get data for a specific protocol."}}},{"description":"The start date of the report window.","required":false,"schema":{"example":1445664609,"type":"integer","format":"unix_timestamp"},"in":"query","name":"start"},{"in":"query","name":"end","description":"The end date of the report window.","required":false,"schema":{"format":"unix_timestamp","type":"integer","example":1446664809}},{"schema":{"format":"olson_timezone_name","type":"string","example":"America/Chicago"},"description":"The timezone in which to report the data.","required":false,"in":"query","name":"timezone"}],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"module":{"description":"The name of the module called.","example":"Bandwidth","type":"string"},"result":{"properties":{"status":{"type":"integer","description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","example":1,"enum":[0,1]},"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"},"type":"array","nullable":true},"data":{"description":"The function returns data in a hierarchy of objects that the order of values in the `grouping` parameter determines.\n\nFor example:\n\n* `domain` - Returns data by domain.\n* `domain|protocol` - Returns data by protocol and nests it within the object for each domain.\n* `domain|year` - Returns data by year and nests it within the object for each domain.\n* `year|domain` - Returns data by domain and nests it within object for each year.\n* `domain|year|protocol` - Returns data by protocol and nests it within object for each year, which the result then nests in objects for each domain.\n\nThe deepest child object contains the bandwidth data in bytes.\n","additionalProperties":{"description":"This object's keys are the values of the first grouping parameter.","x-additionalPropertiesName":"grouping-param-value-1","type":"object","additionalProperties":{"type":"object","x-additionalPropertiesName":"grouping-param-value-2","nullable":true,"additionalProperties":{"description":"This object's keys are the values of the third grouping parameter.","nullable":true,"x-additionalPropertiesName":"grouping-param-value-3","type":"object"},"description":"This object's keys are the values of the second grouping parameter."}},"type":"object"},"metadata":{"description":"An object containing any additional data returned by the API.","additionalProperties":{"type":"object","nullable":true}},"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed."},"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API."}},"type":"object"},"func":{"type":"string","description":"The name of the method called.","example":"query"}}},"examples":{"domain_year":{"value":{"status":1,"data":{"parkedexample.com":{"1388534400":1514221571,"1356998400":1214392,"1325376000":2474092283,"1420070400":14871594368},"example.com":{"1325376000":27496678808,"1388534400":17664354048,"1356998400":16961550301,"1420070400":26169989838},"subdomain.example.com":{"1388534400":5708,"1356998400":1180,"1420070400":4519},"subdomain2.example.com":{"1420070400":683533},"UNKNOWN":{"1420070400":3737236,"1325376000":141799,"1388534400":56450,"1356998400":52558}},"metadata":{},"errors":null,"messages":null},"description":"grouping=domain|year"},"year_domain":{"description":"grouping=year|domain","value":{"status":1,"errors":null,"messages":null,"data":{"1325376000":{"parkedexample.com":18861122614,"example.com":815258916235,"subdomain2.example.com":683533,"subdomain.example.com":11407,"UNKNOWN":70447164},"1356998400":{"UNKNOWN":70447164,"subdomain.example.com":11407,"example.com":815258916235,"subdomain2.example.com":683533,"parkedexample.com":18861122614},"1388534400":{"parkedexample.com":18861122614,"UNKNOWN":70447164,"subdomain.example.com":11407,"example.com":815258916235,"subdomain2.example.com":683533},"1420070400":{"parkedexample.com":18861122614,"UNKNOWN":70447164,"subdomain2.example.com":683533,"example.com":815258916235,"subdomain.example.com":11407}},"metadata":{}}},"domain_protocol_year":{"description":"grouping=domain|protocol|year","value":{"metadata":{},"data":{"example.com":{"http":{"1388534400":330435334428,"1356998400":252262219725,"1325376000":11700672006,"1420070400":220860690076}},"subdomain2.example.com":{"http":{"1420070400":683533}},"subdomain.example.com":{"http":{"1388534400":10227,"1420070400":1180}},"UNKNOWN":{"smtp":{"1420070400":30384052,"1356998400":2525944.05255787,"1388534400":37310742,"1325376000":155605},"imap":{"1420070400":39745,"1388534400":5148,"1356998400":14892,"1325376000":11036.0461226852}},"parkedexample.com":{"http":{"1420070400":18859908222,"1356998400":1214392}}},"messages":null,"errors":null,"status":1}},"domain":{"value":{"errors":null,"messages":null,"data":{"UNKNOWN":70447164,"example.com":815258916235,"subdomain.example.com":11407,"subdomain2.example.com":683533,"parkedexample.com":18861122614},"metadata":{},"status":1},"description":"grouping=domain"}}}}}},"tags":["Bandwidth"],"operationId":"Bandwidth-query","x-readonly":true,"summary":"Return cPanel account's bandwidth usage report","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Bandwidth \\\n  query \\\n  grouping='domain|protocol|year'\n","label":"CLI","lang":"Shell"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/Bandwidth/query?grouping=grouping%3ddomain%7cprotocol%7cyear"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Bandwidth_query.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Bandwidth_query.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Bandwidth/,\n    q/query/,\n    {\n        'grouping' => 'grouping=domain|protocol|year',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Bandwidth_query.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Bandwidth_query.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Bandwidth',\n    'query',\n    array (\n        'grouping' => 'grouping=domain|protocol|year',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 11.52","description":"This function queries an account's bandwidth data and returns a report.\n\n**Note:**\n\nThis function also returns the bandwidth use of a [distributed cPanel account](https://go.cpanel.net/cPanelGlossary#distributed-cpanel-account).","x-cpanel-api-version":"UAPI"}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."},"security":[{"BasicAuth":[]}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}}}],"tags":[{"name":"Bandwidth","description":"The Bandwidth module for UAPI."}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"x-tagGroups":[{"name":"Retrieve bandwidth information","tags":["Bandwidth"]}]},"get_enabled_protocols":{"paths":{"/Bandwidth/get_enabled_protocols":{"get":{"operationId":"Bandwidth-get_enabled_protocols","x-readonly":true,"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"module":{"type":"string","description":"The name of the module called.","example":"Bandwidth"},"result":{"type":"object","properties":{"status":{"type":"integer","example":1,"enum":[0,1],"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details."},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}},"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null},"metadata":{"properties":{}},"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null,"type":"array","nullable":true},"data":{"description":"The bandwidth protocols that the server records.\n* `ftp`\n* `imap`\n* `pop3`\n* `smtp`\n* `http` — This value includes all web traffic for the 80 and 443 ports.","items":{"example":"imap","enum":["ftp","http","imap","pop3","smtp"],"type":"string"},"type":"array"}}},"func":{"type":"string","description":"The name of the method called.","example":"get_enabled_protocols"},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}},"type":"object"}}}}},"parameters":[],"tags":["Bandwidth"],"x-cpanel-api-version":"UAPI","description":"This function returns a list of the server's enabled protocols.","x-cpanel-available-version":"cPanel 76","summary":"Return services monitored in bandwidth data","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Bandwidth \\\n  get_enabled_protocols\n","label":"CLI","lang":"Shell"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/Bandwidth/get_enabled_protocols"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Bandwidth_get_enabled_protocols.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Bandwidth_get_enabled_protocols.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Bandwidth/,\n    q/get_enabled_protocols/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Bandwidth_get_enabled_protocols.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Bandwidth_get_enabled_protocols.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Bandwidth',\n    'get_enabled_protocols'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}]}}},"info":{"termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"x-tagGroups":[{"name":"Retrieve bandwidth information","tags":["Bandwidth"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"openapi":"3.0.2","servers":[{"url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"description":"A server running cPanel."}],"tags":[{"description":"The Bandwidth module for UAPI.","name":"Bandwidth"}],"security":[{"BasicAuth":[]}]}},"LogManager":{"list_error_logs":{"security":[{"BasicAuth":[]}],"servers":[{"description":"A server running cPanel.","variables":{"host":{"description":"The hostname of a server running cPanel.","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute"}],"openapi":"3.0.2","tags":[{"name":"LogManager","description":"The LogManager module for UAPI."},{"name":"Logs","description":"Website Configuration / Logs"}],"x-tagGroups":[{"name":"Website Configuration","tags":["Logs"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/","version":"11.126.1.0","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."},"paths":{"/LogManager/list_error_logs":{"get":{"x-readonly":true,"operationId":"LogManager-list_error_logs","parameters":[{"schema":{"type":"string"},"description":"A domain owned by the cPanel account.","required":true,"example":"example.com","name":"domain","in":"query"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"description":"The version of the API.","example":3,"type":"integer"},"module":{"description":"The name of the module called.","example":"LogManager","type":"string"},"result":{"properties":{"metadata":{"properties":{"transformed":{"type":"integer","description":"Post-processing may have transformed the data.","example":1,"enum":[1]}}},"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API."},"data":{"items":{"properties":{"size":{"description":"The log file's size, in bytes.","example":4096,"type":"integer","nullable":true},"error":{"nullable":true,"type":"string","example":null,"description":"An error message that describes why the system could not\nreturn metadata for this log file."},"modified_today":{"type":"integer","description":"Whether the log file was last modified today\n(server local time).\n\n* `1` — The file was modified today.\n* `0` — The file was not modified today.","example":1,"enum":[1,0]},"mtime":{"nullable":true,"type":"integer","example":1778112083,"description":"The log file's last-modified time as a unix\ntimestamp."},"file_id":{"type":"string","example":"php_fpm_error_log","enum":["php_fpm_error_log","docroot_error_log","homedir_error_log"],"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."},"path":{"example":"/home/cpuser/logs/example_com.php.error.log","description":"The absolute path to the log file.","type":"string"}},"type":"object"},"description":"An array of objects describing the requested error logs.","type":"array"},"messages":{"example":null,"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"},"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null},"status":{"type":"integer","description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","enum":[1,0],"example":1}},"type":"object"},"func":{"type":"string","description":"The name of the method called.","example":"list_error_logs"}}}}},"description":"HTTP Request was successful."}},"tags":["LogManager","Logs"],"x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  LogManager \\\n  list_error_logs \\\n  domain=example.com\n","lang":"Shell","label":"CLI"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/LogManager/list_error_logs?domain=example.com"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to the cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file LogManager_list_error_logs.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/LogManager_list_error_logs.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/LogManager/,\n    q/list_error_logs/,\n    {\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to the cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file LogManager_list_error_logs.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/LogManager_list_error_logs.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'LogManager',\n    'list_error_logs',\n    array(\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}\n","label":"LiveAPI PHP","lang":"PHP"}],"summary":"Return domain's PHP error logs","x-cpanel-available-version":"cPanel 138","description":"This function lists the website's PHP error log files with size\nand last-modified metadata. It does not return file contents.","x-cpanel-api-version":"UAPI"}}}},"delete_archive":{"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.","version":"11.89.0.9999","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/"},"externalDocs":{"url":"https://cpanel.net/developers/"},"servers":[{"variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"name":"LogManager","description":"The LogManager module for UAPI."},{"description":"Website Configuration / Logs","name":"Logs"}],"x-tagGroups":[{"tags":["Logs"],"name":"Website Configuration"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"security":[{"BasicAuth":[]}],"paths":{"/LogManager/delete_archive":{"get":{"x-rollback":"clean","x-cpanel-api-version":"UAPI","x-cpanel-available-version":"cPanel 136","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  LogManager \\\n  delete_archive \\\n  file=example.com-Aug-2024.gz\n"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/LogManager/delete_archive?file=example.com-Aug-2024.gz"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file LogManager_delete_archive.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/LogManager_delete_archive.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/LogManager/,\n    q/delete_archive/,\n    {\n        'file' => 'example.com-Aug-2024.gz',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    print to_json($data);\n}\nelse {\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file LogManager_delete_archive.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/LogManager_delete_archive.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'LogManager',\n    'delete_archive',\n    array (\n        'file' => 'example.com-Aug-2024.gz',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    print to_json($data);\n}\nelse {\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"summary":"Delete a log archive file","description":"Delete a specific log archive file from the authenticated user's `~/logs` directory.","operationId":"LogManager-delete_archive","x-readonly":false,"tags":["LogManager","Logs"],"parameters":[{"in":"query","name":"file","required":true,"description":"The log archive filename to delete. Requirements:\n* Must reside in the user's `~/logs` directory.\n* Must end with `.gz`.\n* Must not contain path traversal characters.\n","schema":{"example":"example.com-Aug-2024.gz","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"module":{"description":"The name of the module called.","example":"LogManager","type":"string"},"result":{"type":"object","properties":{"metadata":{"properties":{}},"warnings":{"example":null,"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"},"data":{},"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."},"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null},"status":{"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.\n","enum":[0,1],"example":1,"type":"integer"}}},"func":{"example":"delete_archive","description":"The name of the method called.","type":"string"},"apiversion":{"type":"integer","example":3,"description":"The version of the API."}},"type":"object"}}},"description":"HTTP Request was successful."}}}}}},"list_archives":{"security":[{"BasicAuth":[]}],"tags":[{"description":"The LogManager module for UAPI.","name":"LogManager"},{"name":"Logs","description":"Website Configuration / Logs"}],"servers":[{"description":"A server running cPanel.","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute"}],"openapi":"3.0.2","components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"x-tagGroups":[{"name":"Website Configuration","tags":["Logs"]}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"}},"paths":{"/LogManager/list_archives":{"get":{"x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  LogManager \\\n  list_archives\n","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/LogManager/list_archives","lang":"HTTP","label":"URL"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file LogManager_list_archives.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/LogManager_list_archives.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/LogManager/,\n    q/list_archives/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file LogManager_list_archives.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/LogManager_list_archives.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'LogManager',\n    'list_archives'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Return cPanel account's archive files list","x-cpanel-available-version":"cPanel 82","description":"This function returns a list of the user's archive files.","x-cpanel-api-version":"UAPI","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"apiversion":{"description":"The version of the API.","example":3,"type":"integer"},"result":{"type":"object","properties":{"data":{"type":"array","description":"An array of objects that contain information about the archive files. These files reside in the cPanel user's `~/logs` directory.","items":{"type":"object","properties":{"file":{"description":"The archive file's name.","example":"domain.com-May-2019.gz","type":"string"},"path":{"type":"string","description":"The archive file's path.","example":"/home/user/logs/domain.com-May-2019.gz"},"mtime":{"description":"The archive file's last modified date.","example":1557835866,"type":"integer","format":"unix_timestamp"}}}},"warnings":{"example":null,"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"},"metadata":{"properties":{"transformed":{"description":"Post-processing may have transformed the data.","enum":[1],"example":1,"type":"integer"}}},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"messages":{"description":"List of messages generated by the API.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"status":{"enum":[0,1],"example":1,"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","type":"integer"}}},"module":{"example":"LogManager","description":"The name of the module called.","type":"string"},"func":{"type":"string","example":"list_archives","description":"The name of the method called."}},"type":"object"}}},"description":"HTTP Request was successful."}},"tags":["LogManager","Logs"],"x-readonly":true,"operationId":"LogManager-list_archives"}}}},"get_settings":{"paths":{"/LogManager/get_settings":{"get":{"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"func":{"description":"The name of the method called.","example":"get_settings","type":"string"},"result":{"properties":{"metadata":{"properties":{"transformed":{"type":"integer","description":"Post-processing may have transformed the data.","example":1,"enum":[1]}}},"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null},"data":{"properties":{"using_default":{"example":1,"enum":[1,0],"description":"Whether the user uses the server-wide default retention period.\n* `1` — Uses the server default.\n* `0` — Uses a custom retention value.","type":"integer"},"archive_logs":{"example":1,"enum":[1,0],"description":"Whether the system archives log files to your home directory.\n* `1` — Archives the logs.\n* `0` — Does **not** archive the logs.","type":"integer"},"prune_archive":{"description":"Whether the system removes the previous month's archived log files from your home directory.\n* `1` — Removes the logs.\n* `0` — Does **not** remove the logs.","example":1,"enum":[1,0],"type":"integer"},"retention_days":{"description":"The number of days the system retains archived log files before automatic removal.\nA value of `0` means the system retains logs indefinitely.\nWhen the user has not set a custom value, this returns the server-wide default.","example":30,"type":"integer"}},"type":"object"},"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API."},"messages":{"description":"List of messages generated by the API.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"status":{"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","enum":[0,1],"example":1,"type":"integer"}},"type":"object"},"module":{"description":"The name of the module called.","example":"LogManager","type":"string"},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}}}}},"description":"HTTP Request was successful."}},"tags":["LogManager","Logs"],"parameters":[],"operationId":"LogManager-get_settings","x-readonly":true,"x-cpanel-api-version":"UAPI","description":"This function retrieves the account's log archival settings.","summary":"Retrieve cPanel account's log archival settings","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  LogManager \\\n  get_settings\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/LogManager/get_settings","label":"URL","lang":"HTTP"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file LogManager_get_settings.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/LogManager_get_settings.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/LogManager/,\n    q/get_settings/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file LogManager_get_settings.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/LogManager_get_settings.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'LogManager',\n    'get_settings'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-available-version":"cPanel 82"}}},"servers":[{"description":"A server running cPanel.","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"url":"https://{host}:{port}/execute"}],"openapi":"3.0.2","tags":[{"name":"LogManager","description":"The LogManager module for UAPI."},{"name":"Logs","description":"Website Configuration / Logs"}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"x-tagGroups":[{"tags":["Logs"],"name":"Website Configuration"}],"security":[{"BasicAuth":[]}],"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/"},"externalDocs":{"url":"https://cpanel.net/developers/"}},"view_error_log":{"paths":{"/LogManager/view_error_log":{"get":{"description":"This function reads the trailing lines of a single PHP error log\nfile for a domain owned by the current cPanel user and returns\nthem in chronological order (oldest first).","x-codeSamples":[{"lang":"Shell","label":"CLI","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"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/LogManager/view_error_log?domain=example.com&file_id=php_fpm_error_log&limit=100","label":"URL","lang":"HTTP"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to the cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file LogManager_view_error_log.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/LogManager_view_error_log.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/LogManager/,\n    q/view_error_log/,\n    {\n        'domain'  => 'example.com',\n        'file_id' => 'php_fpm_error_log',\n        'limit'   => 100,\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to the cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file LogManager_view_error_log.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/LogManager_view_error_log.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'LogManager',\n    'view_error_log',\n    array(\n        'domain'  => 'example.com',\n        'file_id' => 'php_fpm_error_log',\n        'limit'   => 100,\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}\n","label":"LiveAPI PHP","lang":"PHP"}],"summary":"Return PHP error log for a domain","x-cpanel-available-version":"cPanel 138","x-cpanel-api-version":"UAPI","operationId":"LogManager-view_error_log","x-readonly":true,"parameters":[{"name":"domain","in":"query","schema":{"type":"string"},"description":"A domain owned by the current cPanel user.","required":true,"example":"example.com"},{"name":"file_id","in":"query","schema":{"type":"string","enum":["php_fpm_error_log","docroot_error_log","homedir_error_log"]},"required":true,"description":"Which of the three well-known log locations to read.\n\n* `php_fpm_error_log` — The PHP FPM error log. This file is located in the `logs/` directory within the cPanel account's home directory.\n* `docroot_error_log` — The PHP error log. This file is located in the domain's document root directory.\n* `homedir_error_log` — The cPanel account PHP error log. This file is located in the cPanel account's home directory.","example":"php_fpm_error_log"},{"name":"limit","in":"query","required":false,"description":"The number of lines to retrieve from the end of the log file.\n\n**Note:**\n\nValues above `5000` are silently capped at `5000`.","example":100,"schema":{"default":100,"minimum":1,"type":"integer"}}],"tags":["LogManager","Logs"],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"result":{"type":"object","properties":{"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null},"errors":{"example":null,"items":{"type":"string"},"description":"List of errors if the API failed.","nullable":true,"type":"array"},"metadata":{"properties":{"transformed":{"type":"integer","example":1,"enum":[1],"description":"Post-processing may have transformed the data."}}},"data":{"description":"An object describing the requested log file\nand its content.","properties":{"file_id":{"description":"The identifier of the log file that was\nread. Same value as the `file_id` input\nparameter.\n\n* `php_fpm_error_log` — The PHP FPM error log. This file is located in the `logs/` directory within the cPanel account's home directory.\n* `docroot_error_log` — The PHP error log. This file is located in the domain's document root directory.\n* `homedir_error_log` — The cPanel account PHP error log. This file is located in the cPanel account's home directory.","example":"php_fpm_error_log","enum":["php_fpm_error_log","docroot_error_log","homedir_error_log"],"type":"string"},"mtime":{"type":"integer","description":"The log file's last-modified time, in Unix time format.\n\n**Note:**\n\nThis return value is determined via a `fstat` system call on the log file.","example":1778112083},"size":{"type":"integer","description":"The log file's size, in bytes.\n\n**Note:**\n\nThis return value is determined via a `fstat` system call on the log file.","example":4096},"partial":{"enum":[1,0],"example":0,"description":"Whether the log file contains more lines than the `limit` parameter's value.\n\n* `1` — The file exceeds the `limit` parameter's value.\n* `0` — The file did not exceed the `limit` parameter's value.","type":"integer"},"modified_today":{"type":"integer","example":1,"enum":[1,0],"description":"Whether the log file was modified today. The function determines the time and date with the cPanel & WHM server's time.\n\n* `1` — The file was modified today.\n* `0` — The file was not modified today."},"path":{"description":"The absolute path to the log file on disk.","example":"/home/cpuser/logs/example_com.php.error.log","type":"string"},"log_content":{"type":"array","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"},"description":"The end of the error log file in chronological order.\n\n**Note:**\n\nThis array will return an empty value if the log file is empty."},"lines_read":{"type":"integer","description":"The number of lines returned in the `log_content` return's value.","example":2}},"type":"object"},"warnings":{"nullable":true,"type":"array","example":null,"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.","items":{"type":"string"}},"status":{"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","enum":[1,0],"example":1,"type":"integer"}}},"module":{"type":"string","example":"LogManager","description":"The name of the module called."},"func":{"type":"string","description":"The name of the method called.","example":"view_error_log"}}}}},"description":"HTTP Request was successful."}}}}},"info":{"contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"},"license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.126.1.0"},"externalDocs":{"url":"https://cpanel.net/developers/"},"servers":[{"description":"A server running cPanel.","variables":{"host":{"description":"The hostname of a server running cPanel.","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute"}],"openapi":"3.0.2","tags":[{"description":"The LogManager module for UAPI.","name":"LogManager"},{"name":"Logs","description":"Website Configuration / Logs"}],"x-tagGroups":[{"tags":["Logs"],"name":"Website Configuration"}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"security":[{"BasicAuth":[]}]},"set_settings":{"info":{"license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}}}],"openapi":"3.0.2","tags":[{"description":"The LogManager module for UAPI.","name":"LogManager"},{"description":"Website Configuration / Logs","name":"Logs"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"tags":["Logs"],"name":"Website Configuration"}],"security":[{"BasicAuth":[]}],"paths":{"/LogManager/set_settings":{"get":{"operationId":"LogManager-set_settings","x-readonly":false,"parameters":[{"schema":{"enum":[0,1],"example":1,"type":"integer"},"description":"Whether to archive log files to your home directory after the\nsystem processes statistics.\n* `1` — Archive the logs.\n* `0` — Do **not** archive the logs.\n\n**Note:**\n\n* This parameter defaults to the `archive-logs` setting's value in the user's `~/.cpanel-logs` file.\n* If this file does **not** exist, this parameter defaults to the `default_archive-logs` key's value in the [`cpanel.config`](https://go.cpanel.net/cpanelconfiginvalid) file.","required":false,"in":"query","name":"archive_logs"},{"in":"query","name":"prune_archive","description":"Whether to remove the previous month's archived logs from the `~/logs directory` at the end of each month.\n* `1` — Remove the logs.\n* `0` — Do **not** remove the logs.\n\n**Note:**\n\n* This parameter defaults to the `remove-old-archived-logs` setting's value in the user's `~/.cpanel-logs` file.\n* If this file doesn't exist, this parameter defaults to the `default_remove-old-archive-logs` key's value in the [`cpanel.config`](https://go.cpanel.net/cpanelconfiginvalid) file.","required":false,"schema":{"type":"integer","example":1,"enum":[0,1]}},{"schema":{"example":30,"minimum":-1,"type":"integer"},"required":false,"description":"The number of days to retain archived log files before automatic removal.\n* `0` — Retain logs indefinitely.\n* `-1` — Clear the per-user override and revert to the server default.\n* Any positive integer — Retain logs for that many days.\n\nWhen not provided, the existing value is preserved.","name":"retention_days","in":"query"}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"func":{"type":"string","example":"set_settings","description":"The name of the method called."},"module":{"type":"string","example":"LogManager","description":"The name of the module called."},"result":{"type":"object","properties":{"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null},"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"},"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API."},"data":{},"metadata":{"properties":{}},"status":{"type":"integer","description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","enum":[0,1],"example":1}}}},"type":"object"}}},"description":"HTTP Request was successful."}},"tags":["LogManager","Logs"],"x-rollback":"clean","summary":"Save cPanel account's log archive settings","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  LogManager \\\n  set_settings \\\n  archive_logs=1 \\\n  prune_archive=1 \\\n  retention_days=30\n"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/LogManager/set_settings"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file LogManager_set_settings.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/LogManager_set_settings.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/LogManager/,\n    q/set_settings/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file LogManager_set_settings.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/LogManager_set_settings.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'LogManager',\n    'set_settings'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"x-cpanel-available-version":"cPanel 82","description":"This function saves the account's log archive settings.\n\n**Note:**\n\nYou **must** pass at least one of the `archive_logs`, `prune_archive`, or `retention_days` parameters.","x-cpanel-api-version":"UAPI"}}}}},"Leika":{"leika_get_config":{"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel.","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute"}],"tags":[{"name":"Leika","description":"The Leika module for cPanel UAPI."},{"description":"cPanel Account / Account Management","name":"Account Management"}],"x-tagGroups":[{"tags":["Account Management"],"name":"cPanel Account"}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"security":[{"BasicAuth":[]}],"info":{"version":"11.97.0.9999","description":"Return Leika configuration","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/Leika/leika_get_config":{"get":{"x-readonly":true,"operationId":"Leika-leika_get_config","tags":["Leika","Account Management"],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"func":{"type":"string","example":"leika_get_config","description":"The name of the method called."},"module":{"type":"string","description":"The name of the module called.","example":"Leika"},"result":{"type":"object","properties":{"status":{"enum":[1,0],"example":1,"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","type":"integer"},"messages":{"example":null,"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"},"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null},"metadata":{"properties":{}},"warnings":{"example":null,"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.","items":{"type":"string"},"nullable":true,"type":"array"},"data":{"type":"object","example":{"webmail.key3":{"subkey1":"active","subkey2":"inactive"},"cpanel.key1":"enabled"},"description":"The requested configuration data."}}}},"type":"object"}}},"description":"HTTP Request was successful."}},"x-cpanel-api-version":"UAPI","x-codeSamples":[{"source":"uapi Leika leika_get_config item='key1' item='key3'\nuapi --output=jsonpretty \\\n--user=username \\\nLeika \\\nleika_get_config \\\nitem=cpanel.key1 \\\nitem=webmail.key3\n","lang":"Shell","label":"CLI"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/Leika/leika_get_config?item=cpanel.key1&item=webmail.key3\n"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Leika_leika_get_config.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Leika_leika_get_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/Leika/,\n    q/leika_get_config/,\n    q/item=cpanel.key1/,\n    q/item=webmail.key3/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Leika_leika_get_config.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Leika_leika_get_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    'Leika',\n    'leika_get_config',\n    array('item' => 'cpanel.key1', 'item' => 'webmail.key3')\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"summary":"Return Leika configuration","x-cpanel-available-version":"11.32","parameters":[{"in":"query","name":"item","examples":{"cpanel.key1":{"value":"cpanel.key1","description":"Return the `key1` configuration key for the `cpanel` feature."},"webmail.key3.subkey1":{"description":"Return the nested `key3.subkey1` configuration key for the `webmail` feature.","value":"webmail.key3.subkey1"}},"description":"\nThe feature(s) for which to return configuration keys.\n\n**Note:**\n\n  * Pass multiple `item` parameters to return multiple features' configuration keys.\n  * If an `item` parameter returns an `undefined` key value, the configuration value does not exist or is set to `null`.","required":false,"schema":{"type":"string"}}],"x-cpanel-internal-only":true,"description":"\nThis function returns Leika configuration data. Leika is an internal module that cPanel & WHM uses to track access to features.\n\n**Note:**\n\nIf you do not provide an `item` parameter, this returns the **entire** configuration."}}}}},"AddonDomain":{"deladdondomain":{"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.","version":"11.138.0.9999","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/"},"externalDocs":{"url":"https://cpanel.net/developers/"},"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"x-tagGroups":[{"tags":["AddonDomain"],"name":"Domain Management"}],"tags":[{"name":"AddonDomain","description":"The AddonDomain module for UAPI."}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel."}},"url":"https://{host}:{port}/execute"}],"security":[{"BasicAuth":[]}],"paths":{"/AddonDomain/deladdondomain":{"get":{"x-rollback":"none","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.","parameters":[{"name":"domain","in":"query","schema":{"example":"addon.com","format":"domain","type":"string"},"description":"The addon domain to remove.","required":true},{"name":"subdomain","in":"query","required":true,"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.","schema":{"example":"addon_example.com","type":"string"}},{"required":false,"description":"Whether to remove the dot (`.`) characters from the subdomain label when the system removes the subdomain.\n* `1` - Remove dots from the subdomain label.\n* `0` - Do **not** remove dots from the subdomain label.","schema":{"type":"integer","enum":[0,1],"default":0,"example":1},"name":"disallowdot","in":"query"}],"x-cpanel-api-version":"UAPI","summary":"Remove an addon domain","x-cpanel-available-version":"cPanel 138","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  AddonDomain \\\n  deladdondomain \\\n  domain='addon.com' \\\n  subdomain='addon_example.com'\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/AddonDomain/deladdondomain?domain=addon.com&subdomain=addon_example.com","lang":"HTTP","label":"URL"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file AddonDomain_deladdondomain.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/AddonDomain_deladdondomain.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/AddonDomain/,\n    q/deladdondomain/,\n    {\n        'domain' => 'addon.com',\n        'subdomain' => 'addon_example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file AddonDomain_deladdondomain.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/AddonDomain_deladdondomain.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'AddonDomain',\n    'deladdondomain',\n    array (\n        'domain' => 'addon.com',\n        'subdomain' => 'addon_example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}\n","lang":"PHP","label":"LiveAPI PHP"}],"x-readonly":false,"operationId":"AddonDomain-deladdondomain","tags":["AddonDomain"],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","nullable":true,"items":{"type":"string"}},"messages":{"nullable":true,"type":"array","items":{"type":"string"}},"warnings":{"type":"array","nullable":true,"items":{"type":"string"}},"data":{"description":"This function does not return data. Check the `status` field for the outcome, and the `messages` and `errors` fields for detail."},"metadata":{"type":"object","properties":{"transformed":{"type":"integer"}}},"status":{"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","enum":[0,1],"example":1,"type":"integer"}}}}},"description":"HTTP Request was successful."}}}}}},"addaddondomain":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.138.0.9999","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"security":[{"BasicAuth":[]}],"openapi":"3.0.2","tags":[{"description":"The AddonDomain module for UAPI.","name":"AddonDomain"}],"servers":[{"description":"A server running cPanel.","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel."}},"url":"https://{host}:{port}/execute"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"tags":["AddonDomain"],"name":"Domain Management"}],"paths":{"/AddonDomain/addaddondomain":{"get":{"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"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/AddonDomain/addaddondomain?newdomain=addon.com&subdomain=addon","label":"URL","lang":"HTTP"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file AddonDomain_addaddondomain.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/AddonDomain_addaddondomain.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/AddonDomain/,\n    q/addaddondomain/,\n    {\n        'newdomain' => 'addon.com',\n        'subdomain' => 'addon',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file AddonDomain_addaddondomain.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/AddonDomain_addaddondomain.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'AddonDomain',\n    'addaddondomain',\n    array (\n        'newdomain' => 'addon.com',\n        'subdomain' => 'addon',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}\n","lang":"PHP","label":"LiveAPI PHP"}],"x-cpanel-available-version":"cPanel 138","summary":"Create an addon domain","x-cpanel-api-version":"UAPI","operationId":"AddonDomain-addaddondomain","x-readonly":false,"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"errors":{"type":"array","nullable":true,"items":{"type":"string"}},"messages":{"items":{"type":"string"},"nullable":true,"type":"array"},"warnings":{"items":{"type":"string"},"nullable":true,"type":"array"},"data":{"description":"The created addon domain.","type":"object","properties":{"domain":{"example":"addon.com","description":"The addon domain that the system created.","format":"domain","type":"string"}}},"metadata":{"properties":{"transformed":{"type":"integer"}},"type":"object"},"status":{"example":1,"enum":[0,1],"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","type":"integer"}},"type":"object"}}}}},"tags":["AddonDomain"],"x-rollback":"none","description":"This function creates an addon domain on the cPanel account. It creates a\nsubdomain of the account's primary domain and then parks the new domain on\nthat subdomain.\n\n**Important:**\n\n- The account's primary domain may **not** be a subdomain of the addon\n  domain that you create.\n- You cannot create a wildcard addon domain.\n- If the subdomain already exists on the account, the system reuses it\n  rather than failing.\n- If the park step fails, the system removes the subdomain it created, so\n  that a failed call does not leave a partial addon domain behind.\n- The system also creates an [FTP](https://go.cpanel.net/ftpaccounts)\n  account for the addon domain, which counts against the account's FTP\n  account limit.\n\nWhen you disable the [Web Server role](https://go.cpanel.net/serverroles#roles),\nthe system **disables** this function.","parameters":[{"in":"query","name":"newdomain","required":true,"description":"The addon domain to create.","schema":{"type":"string","format":"domain","example":"addon.com"}},{"schema":{"example":"addon","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 (`*`).","required":true,"in":"query","name":"subdomain"},{"name":"dir","in":"query","required":false,"description":"The addon domain's document root, given as a directory path relative to the account's home directory.\n\nThis value defaults to the subdomain label beneath the account's `public_html` directory.","schema":{"example":"/public_html/addon","type":"string","format":"path"}},{"in":"query","name":"disallowdot","schema":{"default":0,"example":1,"enum":[0,1],"type":"integer"},"description":"Whether to remove the dot (`.`) characters from the `subdomain` value.\n* `1` - Remove dots from the subdomain label.\n* `0` - Do **not** remove dots from the subdomain label.","required":false},{"name":"force","in":"query","description":"Accepted for compatibility, but ignored for account-level callers. It can no longer cause the system to skip the domain name, [DNS](https://go.cpanel.net/dnsrecords), and registration checks, or to overwrite an existing DNS zone.\n\nThe system still refuses to create a domain that another account owns.\n* `0` - Enforce the checks.\n* `1` - Accepted, but has no effect for account-level callers.","required":false,"schema":{"default":0,"example":1,"enum":[0,1],"type":"integer"}}]}}}},"listaddondomains":{"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"tags":["AddonDomain"],"name":"Domain Management"}],"openapi":"3.0.2","servers":[{"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."}},"description":"A server running cPanel."}],"tags":[{"name":"AddonDomain","description":"The AddonDomain module for UAPI."}],"security":[{"BasicAuth":[]}],"info":{"license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","version":"11.138.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/AddonDomain/listaddondomains":{"get":{"x-cpanel-api-version":"UAPI","summary":"List the addon domains","x-cpanel-available-version":"cPanel 138","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  AddonDomain \\\n  listaddondomains\n","lang":"Shell","label":"CLI"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/AddonDomain/listaddondomains","label":"URL","lang":"HTTP"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file AddonDomain_listaddondomains.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/AddonDomain_listaddondomains.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/AddonDomain/,\n    q/listaddondomains/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file AddonDomain_listaddondomains.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/AddonDomain_listaddondomains.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'AddonDomain',\n    'listaddondomains'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}\n","lang":"PHP","label":"LiveAPI PHP"}],"description":"This function lists the cPanel account's addon domains: the domains that\nare parked on a subdomain of the account's primary domain, rather than on\nthe primary domain itself.\n\n**Note:**\n\nUse the `Park::listparkeddomains` function for the domains parked on the\nprimary domain.","operationId":"AddonDomain-listaddondomains","x-readonly":true,"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"metadata":{"type":"object","properties":{"transformed":{"type":"integer"}}},"warnings":{"items":{"type":"string"},"type":"array","nullable":true},"data":{"type":"array","items":{"type":"object","properties":{"is_https_redirecting":{"type":"integer","description":"Whether the system currently redirects the addon domain to `HTTPS`. The system only returns this field when you pass the `return_https_redirect_status` parameter.\n* `1` - The system redirects the addon domain.\n* `0` - The system does **not** redirect the addon domain.","enum":[0,1],"example":0},"basedir":{"example":"public_html/addon","description":"The addon domain's document root, relative to the account's home directory.","type":"string"},"can_https_redirect":{"type":"integer","description":"Whether the system can redirect the addon domain to `HTTPS`. The system only returns this field when you pass the `return_https_redirect_status` parameter.\n* `1` - The system can redirect the addon domain.\n* `0` - The system cannot redirect the addon domain.","example":1,"enum":[0,1]},"domain":{"example":"addon.com","description":"The addon domain.","type":"string","format":"domain"},"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"},"subdomain":{"type":"string","description":"The label of the subdomain that the addon domain is parked on, without the root domain.","example":"addon"},"status":{"type":"string","example":"","description":"The addon domain's rewrite status, or the URL that it redirects to."},"rootdomain":{"description":"The domain that the addon domain's subdomain belongs to.","example":"example.com","type":"string","format":"domain"},"dir":{"type":"string","format":"path","description":"The absolute path to the addon domain's document root.","example":"/home/username/public_html/addon"},"fullsubdomain":{"example":"addon.example.com","description":"The fully qualified name of the subdomain that the addon domain is parked on.","format":"domain","type":"string"},"web_subdomain_aliases":{"type":"array","items":{"format":"domain","type":"string"},"description":"The built-in service subdomain aliases, for example `www`, that the system serves for the addon domain."},"reldir":{"type":"string","example":"home:public_html/addon","description":"The addon domain's document root, relative to the account's home directory and prefixed with `home:`."}}},"description":"One entry for each addon domain on the account, sorted by domain name."},"messages":{"items":{"type":"string"},"type":"array","nullable":true},"errors":{"items":{"type":"string"},"type":"array","nullable":true},"status":{"type":"integer","description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","example":1,"enum":[0,1]}},"type":"object"}}},"description":"HTTP Request was successful."}},"parameters":[{"in":"query","name":"regex","description":"A Perl regular expression. The system returns only the addon domains whose name matches this pattern, case-insensitively.","required":false,"schema":{"type":"string","example":"addon[.]com$"}},{"schema":{"type":"integer","example":1,"default":0,"enum":[0,1]},"required":false,"description":"Whether to include the `can_https_redirect` and `is_https_redirecting` fields in each entry.\n* `1` - Include the HTTPS redirect status.\n* `0` - Omit the HTTPS redirect status.","in":"query","name":"return_https_redirect_status"}],"tags":["AddonDomain"]}}}}},"WebVhosts":{"list_ssl_capable_domains":{"openapi":"3.0.2","servers":[{"variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"tags":[{"description":"The WebVhosts module for UAPI.","name":"WebVhosts"},{"name":"Virtual Host Information","description":"Domain Management / Virtual Host Information"}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"x-tagGroups":[{"name":"Domain Management","tags":["Virtual Host Information"]}],"security":[{"BasicAuth":[]}],"info":{"termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/WebVhosts/list_ssl_capable_domains":{"get":{"operationId":"WebVhosts-list_ssl_capable_domains","x-readonly":true,"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"func":{"type":"string","description":"The name of the method called.","example":"list_ssl_capable_domains"},"module":{"type":"string","example":"WebVhosts","description":"The name of the module called."},"result":{"properties":{"status":{"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","example":1,"enum":[0,1],"type":"integer"},"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"messages":{"items":{"type":"string"},"description":"List of messages generated by the API.","example":null,"type":"array","nullable":true},"warnings":{"example":null,"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"},"data":{"description":"An array of objects containing data for a domain.","items":{"type":"object","properties":{"vhost_name":{"example":"hostname.example.com","description":"The name of the virtual host or website.","type":"string","format":"domain"},"domain":{"type":"string","format":"domain","description":"A valid domain name on the virtual host.","example":"example.com"},"is_proxy":{"type":"integer","description":"Whether the system automatically created the service subdomain or a user manually created the domain.\n* `1` - The system automatically created the service subdomain.\n* `0` - A user manually created the domain.\n\n**Note:**\n\nIf a user manually creates a subdomain that matches a preassigned subdomain (for example, cpanel or whm), then the function returns `0`.","example":1,"enum":[0,1]}}},"properties":{},"type":"array"},"metadata":{"properties":{"transformed":{"description":"Post-processing may have transformed the data.","enum":[1],"example":1,"type":"integer"}}}},"type":"object"}}}}},"description":"HTTP Request was successful."}},"parameters":[{"description":"Whether to hide temporary domains from the returned values.\n* `1` — Return an error if the requested domain is a temporary domain.\n* `0` — Return all domains, including the temporary domains.\n**Note:**\n\nIf you set this parameter's value to `1` and the requested domain is temporary,\nthe function will return an error similar to the following example: `Domain [example.com] is a temporary\ndomain and `hide_temporary_domains` is enabled.`","required":false,"schema":{"type":"integer","enum":[1,0],"default":0,"example":1},"name":"hide_temporary_domains","in":"query"}],"tags":["WebVhosts","Virtual Host Information"],"x-cpanel-api-version":"UAPI","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)","x-cpanel-available-version":"cPanel 64","summary":"Return domains that allow SSL certificate purchase","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  WebVhosts \\\n  list_ssl_capable_domains\n"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/WebVhosts/list_ssl_capable_domains"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n#    to .../frontend/<theme-name>/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}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}]}}}},"list_domains":{"paths":{"/WebVhosts/list_domains":{"get":{"tags":["WebVhosts","Virtual Host Information"],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"module":{"example":"WebVhosts","description":"The name of the module called.","type":"string"},"result":{"type":"object","properties":{"status":{"type":"integer","example":1,"enum":[0,1],"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details."},"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null},"errors":{"nullable":true,"type":"array","example":null,"description":"List of errors if the API failed.","items":{"type":"string"}},"metadata":{"properties":{"transformed":{"description":"Post-processing may have transformed the data.","example":1,"enum":[1],"type":"integer"}}},"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API."},"data":{"items":{"type":"object","properties":{"proxy_subdomains":{"description":"An array of service subdomains (proxy subdomains) listed for the domain.\n\n**Note:**\n\nThis only returns values when `vhost_is_ssl` equals `1`.","items":{"type":"string"},"example":["cpanel","webmail","autodiscover","whm","webdisk"],"type":"array","nullable":true},"vhost_is_ssl":{"example":1,"enum":[0,1],"description":"Whether an SSL certificate secures the domain.\n* `1` - Secured.\n* `0` - **Not** secured.","type":"integer"},"domain":{"example":"example.com","description":"The domain name.","format":"domain","type":"string"},"vhost_name":{"format":"domain","type":"string","description":"The name of the virtual host.","example":"hostname.example.com"}}},"type":"array"}}},"func":{"type":"string","example":"list_domains","description":"The name of the method called."},"apiversion":{"type":"integer","description":"The version of the API.","example":3}},"type":"object"}}},"description":"HTTP Request was successful."}},"parameters":[],"operationId":"WebVhosts-list_domains","x-readonly":true,"x-cpanel-api-version":"UAPI","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  WebVhosts \\\n  list_domains\n","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/WebVhosts/list_domains","lang":"HTTP","label":"URL"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n#    to .../frontend/<theme-name>/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}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 56","summary":"Return virtual host names for domains","description":"This function lists virtual host names for each domain."}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"security":[{"BasicAuth":[]}],"tags":[{"description":"The WebVhosts module for UAPI.","name":"WebVhosts"},{"name":"Virtual Host Information","description":"Domain Management / Virtual Host Information"}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute"}],"x-tagGroups":[{"tags":["Virtual Host Information"],"name":"Domain Management"}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}}}},"Email":{"check_fastmail":{"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."},"externalDocs":{"url":"https://cpanel.net/developers/"},"openapi":"3.0.2","servers":[{"url":"https://{host}:{port}/execute","variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"description":"The cPanel port.","default":"2083"}},"description":"A server running cPanel."}],"tags":[{"name":"Email","description":"The Email module for UAPI."},{"description":"Email / Email Server Information","name":"Email Server Information"}],"x-tagGroups":[{"name":"Email","tags":["Email Server Information"]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"security":[{"BasicAuth":[]}],"paths":{"/Email/check_fastmail":{"get":{"x-readonly":true,"operationId":"Email-check_fastmail","tags":["Email","Email Server Information"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"module":{"description":"The name of the module called.","example":"Email","type":"string"},"result":{"type":"object","properties":{"status":{"type":"integer","description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","enum":[0,1],"example":1},"metadata":{"properties":{}},"data":{"type":"string","example":"2","description":"The contents of the server's `/var/cpanel/fastmail` file.\n* A positive value that represents a BlackBerry FastMail version number if it is enabled on the server.\n* A `null` value if BlackBerry FastMail is not enabled on the server."},"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API."},"messages":{"items":{"type":"string"},"description":"List of messages generated by the API.","example":null,"type":"array","nullable":true},"errors":{"example":null,"items":{"type":"string"},"description":"List of errors if the API failed.","nullable":true,"type":"array"}}},"func":{"type":"string","description":"The name of the method called.","example":"check_fastmail"},"apiversion":{"type":"integer","example":3,"description":"The version of the API."}}}}}}},"parameters":[],"x-cpanel-api-version":"UAPI","summary":"Return BlackBerry FastMail support status","x-cpanel-available-version":"cPanel 11.42","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  check_fastmail\n","label":"CLI","lang":"Shell"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/Email/check_fastmail"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_check_fastmail.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_check_fastmail.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/check_fastmail/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_check_fastmail.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_check_fastmail.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'check_fastmail'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"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."}}}},"export_lists":{"info":{"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"},"title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/","version":"11.114.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."},"externalDocs":{"url":"https://cpanel.net/developers/"},"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"x-tagGroups":[{"tags":["Mailing Lists"],"name":"Email"}],"tags":[{"description":"The Email module for UAPI.","name":"Email"},{"description":"Email / Mailing Lists","name":"Mailing Lists"}],"openapi":"3.0.2","servers":[{"variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"security":[{"BasicAuth":[]}],"paths":{"/Email/export_lists":{"get":{"tags":["Email","Mailing Lists"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"module":{"description":"The name of the module called.","example":"Email","type":"string"},"result":{"type":"object","properties":{"status":{"type":"integer","example":1,"enum":[0,1],"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details."},"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null},"warnings":{"nullable":true,"type":"array","example":null,"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.","items":{"type":"string"}},"data":{"type":"object","nullable":true},"metadata":{"properties":{"transformed":{"description":"Post-processing may have transformed the data.","example":1,"enum":[1],"type":"integer"}}}}},"func":{"type":"string","example":"export_lists","description":"The name of the method called."},"apiversion":{"type":"integer","example":3,"description":"The version of the API."}}}}}}},"x-readonly":false,"operationId":"Email-export_lists","x-cpanel-available-version":"cPanel 11.114","summary":"Export cPanel account's Mailman mailing lists to a file","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  export_lists\n","lang":"Shell","label":"CLI"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Email/export_lists","lang":"HTTP","label":"URL"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_export_lists.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_export_lists.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/export_lists/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_export_lists.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_export_lists.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'export_lists'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}\n","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-api-version":"UAPI","parameters":[],"description":"This function exports a cPanel account's Mailman mailing lists into a CSV file.\nThis file is located in mail/exported_lists under the user's home directory.","x-rollback":"none"}}}},"list_forwarders":{"info":{"title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"tags":[{"name":"Email","description":"The Email module for UAPI."},{"name":"Email Forwarding","description":"Email / Email Forwarding"}],"openapi":"3.0.2","servers":[{"variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"x-tagGroups":[{"name":"Email","tags":["Email Forwarding"]}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"security":[{"BasicAuth":[]}],"paths":{"/Email/list_forwarders":{"get":{"x-readonly":true,"operationId":"Email-list_forwarders","parameters":[{"name":"domain","in":"query","schema":{"example":"example.com","format":"domain","type":"string"},"required":true,"description":"The domain."},{"required":false,"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.","schema":{"type":"string","example":"user"},"name":"regex","in":"query"}],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"module":{"description":"The name of the module called.","example":"Email","type":"string"},"result":{"type":"object","properties":{"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null},"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."},"data":{"type":"array","items":{"properties":{"html_forward":{"description":"The forwarded mail's destination in an HTML-compatible format.","example":"user@example.com","format":"email","type":"string"},"dest":{"example":"forwarded@example.com","description":"The forwarded address.","format":"email","type":"string"},"uri_forward":{"example":"user%40example.com","description":"The forwarded mail's destination in a URI-encoded format.","type":"string"},"html_dest":{"example":"forwarded@example.com","description":"The forwarded address in an HTML-compatible format.","format":"email","type":"string"},"forward":{"type":"string","format":"email","description":"The forwarded mail's destination.","example":"user@example.com"},"uri_dest":{"type":"string","description":"The forwarded address in a URI-encoded format.","example":"forwarded%40example.com"}},"type":"object"}},"warnings":{"type":"array","nullable":true,"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"},"example":null},"metadata":{"properties":{"transformed":{"type":"integer","description":"Post-processing may have transformed the data.","enum":[1],"example":1}}},"status":{"example":1,"enum":[0,1],"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","type":"integer"}}},"func":{"description":"The name of the method called.","example":"list_forwarders","type":"string"}},"type":"object"}}}}},"tags":["Email","Email Forwarding"],"x-cpanel-api-version":"UAPI","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.","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  list_forwarders \\\n  domain='example.com'\n","label":"CLI","lang":"Shell"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/Email/list_forwarders?domain=example.com"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_list_forwarders.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_list_forwarders.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/list_forwarders/,\n    {\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_list_forwarders.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_list_forwarders.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'list_forwarders',\n    array (\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Return domain's forwarders","x-cpanel-available-version":"cPanel 11.42"}}}},"stats_db_status":{"paths":{"/Email/stats_db_status":{"get":{"x-cpanel-api-version":"UAPI","summary":"Return eximstats SQLite database status","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  stats_db_status\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Email/stats_db_status","label":"URL","lang":"HTTP"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_stats_db_status.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_stats_db_status.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/stats_db_status/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_stats_db_status.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_stats_db_status.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'stats_db_status'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-available-version":"cPanel 64","description":"This function returns the status of the eximstats SQLite Database.\n\n**Important:**\n\nWhen you disable the [Receive Mail role](https://go.cpanel.net/serverroles), the system **disables** this function.","operationId":"Email-stats_db_status","x-readonly":true,"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"func":{"example":"stats_db_status","description":"The name of the method called.","type":"string"},"module":{"type":"string","description":"The name of the module called.","example":"Email"},"result":{"type":"object","properties":{"status":{"type":"integer","description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","enum":[0,1],"example":1},"metadata":{"properties":{}},"warnings":{"example":null,"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"},"data":{"type":"string","enum":["active","importing","upcp"],"example":"active","description":"The disk space that the email account uses.\n* `active` - The database is available and up-to-date.\n* `importing` - The database is available, but a data import is currently in progress.\n* `upcp` - The database is unavailable because cPanel & WHM is updating.\n\n**Note:**\n\nIf the `eximstats` database is running a cPanel & WHM update, but the database is available, this function will return `active`, **not** `upcp`."},"messages":{"example":null,"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"},"errors":{"example":null,"items":{"type":"string"},"description":"List of errors if the API failed.","nullable":true,"type":"array"}}},"apiversion":{"type":"integer","description":"The version of the API.","example":3}},"type":"object"}}}}},"tags":["Email","Email Server Information"],"parameters":[]}}},"info":{"contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/"},"externalDocs":{"url":"https://cpanel.net/developers/"},"x-tagGroups":[{"name":"Email","tags":["Email Server Information"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"tags":[{"name":"Email","description":"The Email module for UAPI."},{"description":"Email / Email Server Information","name":"Email Server Information"}],"openapi":"3.0.2","servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"description":"A server running cPanel."}],"security":[{"BasicAuth":[]}]},"delete_domain_forwarder":{"paths":{"/Email/delete_domain_forwarder":{"get":{"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"result":{"properties":{"status":{"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","example":1,"enum":[0,1],"type":"integer"},"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null},"data":{"default":null,"nullable":true,"type":"object"},"warnings":{"nullable":true,"type":"array","example":null,"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"}},"metadata":{"properties":{}}}},"module":{"type":"string","example":"Email","description":"The name of the module called."},"func":{"type":"string","description":"The name of the method called.","example":"delete_domain_forwarder"},"apiversion":{"type":"integer","example":3,"description":"The version of the API."}}}}},"description":"HTTP Request was successful."}},"parameters":[{"in":"query","name":"domain","description":"The domain name.","required":true,"schema":{"example":"example.com","type":"string","format":"domain"}}],"tags":["Email","Email Forwarding"],"x-readonly":false,"operationId":"Email-delete_domain_forwarder","x-cpanel-available-version":"cPanel 11.42","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  delete_domain_forwarder \\\n  domain='example.com'\n"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/Email/delete_domain_forwarder?domain=example.com"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_delete_domain_forwarder.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_delete_domain_forwarder.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/delete_domain_forwarder/,\n    {\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_delete_domain_forwarder.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_delete_domain_forwarder.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'delete_domain_forwarder',\n    array (\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Delete domain-level forwarder","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.","x-cpanel-api-version":"UAPI","x-rollback":"none"}}},"x-tagGroups":[{"name":"Email","tags":["Email Forwarding"]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"servers":[{"url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}},"description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"name":"Email","description":"The Email module for UAPI."},{"name":"Email Forwarding","description":"Email / Email Forwarding"}],"security":[{"BasicAuth":[]}],"info":{"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"}},"get_auto_responder":{"info":{"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"x-tagGroups":[{"name":"Email","tags":["Email Accounts"]}],"tags":[{"name":"Email","description":"The Email module for UAPI."},{"description":"Email / Email Accounts","name":"Email Accounts"}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"url":"https://{host}:{port}/execute"}],"security":[{"BasicAuth":[]}],"paths":{"/Email/get_auto_responder":{"get":{"description":"This function retrieves autoresponder information.\n\n**Important:**\n\nWhen you disable the [Receive Mail role](https://go.cpanel.net/serverroles), the system **disables** this function.","summary":"Return email account's autoresponder information","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  get_auto_responder \\\n  email='user'\n"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/Email/get_auto_responder?email=user"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_get_auto_responder.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_get_auto_responder.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/get_auto_responder/,\n    {\n        'email' => 'user',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_get_auto_responder.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_get_auto_responder.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'get_auto_responder',\n    array (\n        'email' => 'user',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 11.42","x-cpanel-api-version":"UAPI","operationId":"Email-get_auto_responder","x-readonly":true,"parameters":[{"schema":{"example":"user","type":"string","format":"username"},"required":true,"description":"The email account name.","name":"email","in":"query"},{"required":false,"description":"The autoresponder's [character set](https://en.wikipedia.org/wiki/Character_encoding).","schema":{"example":"utf-8","default":"utf-8","type":"string"},"name":"temp_charset","in":"query"}],"tags":["Email","Email Accounts"],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"type":"integer","description":"The version of the API.","example":3},"func":{"type":"string","example":"get_auto_responder","description":"The name of the method called."},"module":{"description":"The name of the module called.","example":"Email","type":"string"},"result":{"type":"object","properties":{"metadata":{"properties":{}},"warnings":{"example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","nullable":true,"type":"array"},"data":{"properties":{"stop":{"example":1410300000,"description":"When the autoresponder becomes disabled in Unix time.","format":"unix_timestamp","type":"integer"},"start":{"type":"integer","format":"unix_timestamp","example":1410277881,"description":"When the autoresponder becomes enabled in Unix time."},"interval":{"type":"integer","example":24,"description":"The amount of time, in hours, that the server waits between autoresponder messages to the same address.\n\n**Note:**\n\nA value of `0` indicates that the system sends a message for each email received.","minimum":0},"body":{"description":"The contents of the autoresponder message's `Body` section.","example":"This is an autoresponder message.","type":"string"},"subject":{"type":"string","example":"Autoresponder Subject","description":"The contents of the autoresponder message's `Subject` field."},"charset":{"example":"UTF-8","description":"The autoresponder's [character set](https://en.wikipedia.org/wiki/Character_encoding).","type":"string"},"is_html":{"type":"integer","enum":[0,1],"example":1,"description":"Whether the body of the autoresponder message begins with an [HTML content type declaration](https://en.wikipedia.org/wiki/Character_encodings_in_HTML#Specifying_the_document.27s_character_encoding).\n- `1` - Includes an HTML content type declaration.\n- `0` - Does **not** include an HTML content type declaration."},"from":{"type":"string","description":"The contents of the autoresponder message's `From` field.","example":"User Name"}},"type":"object"},"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null},"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"status":{"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","example":1,"enum":[0,1],"type":"integer"}}}}}}},"description":"HTTP Request was successful."}}}}}},"list_forwarders_backups":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"security":[{"BasicAuth":[]}],"servers":[{"variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"description":"The Email module for UAPI.","name":"Email"},{"name":"Email Forwarding","description":"Email / Email Forwarding"}],"x-tagGroups":[{"tags":["Email Forwarding"],"name":"Email"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"paths":{"/Email/list_forwarders_backups":{"get":{"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"module":{"description":"The name of the module called.","example":"Email","type":"string"},"result":{"properties":{"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"metadata":{"properties":{"transformed":{"type":"integer","description":"Post-processing may have transformed the data.","enum":[1],"example":1}}},"data":{"items":{"type":"object","properties":{"domain":{"example":"example.com","description":"domain that uses a domain-level filter.","format":"domain","type":"string"}}},"type":"array"},"warnings":{"example":null,"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"},"status":{"enum":[0,1],"example":1,"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","type":"integer"}},"type":"object"},"func":{"example":"list_forwarders_backups","description":"The name of the method called.","type":"string"},"apiversion":{"type":"integer","example":3,"description":"The version of the API."}}}}},"description":"HTTP Request was successful."}},"parameters":[],"tags":["Email","Email Forwarding"],"operationId":"Email-list_forwarders_backups","x-readonly":true,"summary":"Return domains with domain-level forwarders","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  list_forwarders_backups\n","label":"CLI","lang":"Shell"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/Email/list_forwarders_backups"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_list_forwarders_backups.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_list_forwarders_backups.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/list_forwarders_backups/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_list_forwarders_backups.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_list_forwarders_backups.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'list_forwarders_backups'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"x-cpanel-available-version":"cPanel 11.42","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.","x-cpanel-api-version":"UAPI"}}}},"get_client_settings":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"security":[{"BasicAuth":[]}],"servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"description":"The Email module for UAPI.","name":"Email"},{"name":"Email Accounts","description":"Email / Email Accounts"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"tags":["Email Accounts"],"name":"Email"}],"paths":{"/Email/get_client_settings":{"get":{"x-cpanel-api-version":"UAPI","description":"This function retrieves an email account's client settings.\n\n**Important:**\n\nWhen you disable the [Receive Mail role](https://go.cpanel.net/serverroles), the system **disables** this function.","x-cpanel-available-version":"cPanel 62","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  get_client_settings\n","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Email/get_client_settings","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_get_client_settings.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_get_client_settings.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/get_client_settings/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_get_client_settings.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_get_client_settings.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'get_client_settings'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"summary":"Return email account's client settings","x-readonly":true,"operationId":"Email-get_client_settings","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"description":"The version of the API.","example":3,"type":"integer"},"module":{"description":"The name of the module called.","example":"Email","type":"string"},"result":{"properties":{"status":{"enum":[0,1],"example":1,"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","type":"integer"},"messages":{"description":"List of messages generated by the API.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"metadata":{"properties":{}},"warnings":{"example":null,"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"},"data":{"properties":{"inbox_insecure_port":{"type":"integer","maximum":65535,"minimum":1,"example":143,"description":"The account's insecure inbound port."},"smtp_username":{"format":"email","type":"string","example":"username@example.com","description":"The account's SMTP username."},"smtp_host":{"example":"mail.example.com","description":"The account's outbound SMTP hostname.","type":"string","format":"domain"},"account":{"example":"username@example.com","description":"The account's email address.","type":"string","format":"email"},"activesync_port":{"minimum":1,"description":"The account's ActiveSync SSL/TLS port.\n\nThis return **only** appears if `activesync_available` is `1`.","example":2091,"type":"integer","maximum":65535},"mail_domain":{"description":"The account's mail hostname.","example":"mail.example.com","format":"domain","type":"string"},"smtp_port":{"description":"The account's secure outbound SMTP port.","example":465,"minimum":1,"maximum":65535,"type":"integer"},"activesync_host":{"example":"mail.example.com","description":"The account's ActiveSync hostname.\n\nThis return **only** appears if `activesync_available` is `1`.","format":"domain","type":"string"},"inbox_host":{"type":"string","format":"domain","description":"The account's hostname.","example":"mail.example.com"},"has_plaintext_authentication":{"type":"integer","description":"Whether the account supports plaintext authentication.\n\n* `1` — Supported.\n* `0` — **Not** supported.","enum":[1,0],"example":1},"activesync_username":{"description":"The account's ActiveSync username.\n\nThis return **only** appears if `activesync_available` is `1`.","example":"username@example.com","format":"email","type":"string"},"domain":{"type":"string","format":"domain","description":"The account's domain name.","example":"domain.com"},"inbox_username":{"format":"email","type":"string","description":"The account's username.","example":"username@example.com"},"activesync_available":{"type":"integer","example":1,"enum":[1,0],"description":"Whether the account supports ActiveSync.\n* `1` — Supported.\n* `0` — **Not** supported."},"inbox_service":{"type":"string","description":"The service type that the account uses.\n* `imap`\n* `pop`","enum":["imap","pop"],"example":"imap"},"smtp_insecure_port":{"maximum":65535,"type":"integer","description":"The account's insecure outbound SMTP port.","example":25,"minimum":1},"display":{"description":"The account's display name.","example":"username@example.com","format":"email","type":"string"},"inbox_port":{"type":"integer","maximum":65535,"minimum":1,"description":"The account's secure inbound port.","example":993},"from_archiving":{"type":"integer","description":"Whether the account is a mail archive.\n* `1` — The account is a mail archive.\n* `0` — The account is **not** a mail archive.","enum":[1,0],"example":0}},"type":"object"}},"type":"object"},"func":{"type":"string","example":"get_client_settings","description":"The name of the method called."}},"type":"object"}}}}},"tags":["Email","Email Accounts"],"parameters":[{"schema":{"type":"string","format":"email","example":"username@example.com"},"required":false,"description":"The email address for which to send client settings.\n\n**Note:**\n\nThis parameter defaults to the [system default email account](https://go.cpanel.net/systemdefaultemailaccount). ","name":"account","in":"query"}]}}}},"list_mail_domains":{"paths":{"/Email/list_mail_domains":{"get":{"x-cpanel-api-version":"UAPI","x-cpanel-available-version":"cPanel 11.42","summary":"Return cPanel account's mail domains","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"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_list_mail_domains.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_list_mail_domains.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/list_mail_domains/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_list_mail_domains.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_list_mail_domains.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'list_mail_domains'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"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.","tags":["Email","Email Accounts"],"parameters":[{"schema":{"type":"string","format":"domain","example":"example.com"},"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.","required":false,"name":"select","in":"query"},{"schema":{"type":"integer","example":1,"default":0,"enum":[0,1]},"description":"Whether to list `www.` addresses.\n* `1` — List `www.` addresses.\n* `0` — Do **not** list `www.` addresses.\nFor example, if you specify `1`, the function's output would include both `example.com` and `www.example.com`. If you specify `0`, the output would include **only** `example.com`.","required":false,"in":"query","name":"add_www"},{"in":"query","name":"include_wildcard","description":"Whether to list wildcard addresses.\n* `1` — List wildcard addresses.\n* `0` — Do **not** list wildcard addresses.\nFor example, if you specify `1`, the function's output would include both `example.com` and `*.example.com`. If you specify `0`, the output would include **only** `example.com`.","required":false,"schema":{"type":"integer","enum":[0,1],"example":1,"default":0}},{"name":"return_temporary_domain","in":"query","description":"Whether to include temporary domains (*.cpanel.site) in the output.\nBy default, temporary domains are excluded.","required":false,"schema":{"type":"boolean","default":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":"list_mail_domains","type":"string"},"result":{"properties":{"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}},"data":{"type":"array","items":{"properties":{"select":{"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`.","default":1,"example":1,"type":"integer"},"domain":{"description":"The domain name.","example":"example.com","format":"domain","type":"string"}},"type":"object"}},"warnings":{"type":"array","nullable":true,"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"},"example":null},"metadata":{"properties":{"transformed":{"type":"integer","description":"Post-processing may have transformed the data.","enum":[1],"example":1}}},"status":{"type":"integer","description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","enum":[0,1],"example":1}},"type":"object"},"module":{"type":"string","description":"The name of the module called.","example":"Email"}},"type":"object"}}},"description":"HTTP Request was successful."}},"x-readonly":true,"operationId":"Email-list_mail_domains"}}},"security":[{"BasicAuth":[]}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"x-tagGroups":[{"name":"Email","tags":["Email Accounts"]}],"openapi":"3.0.2","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 Email module for UAPI.","name":"Email"},{"name":"Email Accounts","description":"Email / Email Accounts"}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}}},"account_name":{"info":{"contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"},"title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999"},"externalDocs":{"url":"https://cpanel.net/developers/"},"servers":[{"variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"name":"Email","description":"The Email module for UAPI."},{"name":"Email Accounts","description":"Email / Email Accounts"}],"x-tagGroups":[{"tags":["Email Accounts"],"name":"Email"}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"security":[{"BasicAuth":[]}],"paths":{"/Email/account_name":{"get":{"operationId":"Email-account_name","x-readonly":true,"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"module":{"type":"string","example":"Email","description":"The name of the module called."},"result":{"type":"object","properties":{"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"metadata":{"properties":{}},"messages":{"items":{"type":"string"},"description":"List of messages generated by the API.","example":null,"type":"array","nullable":true},"data":{"type":"string","format":"email","example":"user@example.com","description":"The account parameter's value.\n* A valid string.\n* `All Mail On The Account`\n* An empty value."},"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null,"type":"array","nullable":true},"status":{"example":1,"enum":[0,1],"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","type":"integer"}}},"func":{"type":"string","description":"The name of the method called.","example":"account_name"},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}}}}},"description":"HTTP Request was successful."}},"parameters":[{"name":"account","in":"query","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.","required":false,"schema":{"example":"user","type":"string"}},{"in":"query","name":"display","required":false,"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.","schema":{"example":"any_value","type":"string"}}],"tags":["Email","Email Accounts"],"x-cpanel-api-version":"UAPI","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.","summary":"Return current user's account name","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  account_name\n","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Email/account_name","lang":"HTTP","label":"URL"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_account_name.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_account_name.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/account_name/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_account_name.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_account_name.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'account_name'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-available-version":"cPanel 11.42"}}}},"enable_filter":{"paths":{"/Email/enable_filter":{"get":{"summary":"Enable email filter for email account","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"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Email/enable_filter?account=username%40example.com&filtername=coffee","label":"URL","lang":"HTTP"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_enable_filter.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_enable_filter.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/enable_filter/,\n    {\n        'account' => 'username@example.com',\n        'filtername' => 'coffee',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_enable_filter.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_enable_filter.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'enable_filter',\n    array (\n        'account' => 'username@example.com',\n        'filtername' => 'coffee',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-available-version":"cPanel 11.42","x-cpanel-api-version":"UAPI","operationId":"Email-enable_filter","x-readonly":false,"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"func":{"description":"The name of the method called.","example":"enable_filter","type":"string"},"module":{"example":"Email","description":"The name of the module called.","type":"string"},"result":{"type":"object","properties":{"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."},"errors":{"example":null,"description":"List of errors if the API failed.","items":{"type":"string"},"nullable":true,"type":"array"},"metadata":{"properties":{"transformed":{"type":"integer","description":"Post-processing may have transformed the data.","enum":[1],"example":1}}},"data":{"properties":{"updated":{"enum":[0,1],"example":1,"description":"Whether the function updated the filter.\n* `1` - Updated.\n* `0` - Did **not** update.","type":"integer"},"filtername":{"description":"The filter's name.","example":"coffee","type":"string"}},"type":"object"},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"status":{"example":1,"enum":[0,1],"description":"* `1` - Success\n* `0` - Failed: Check the errors field for more details.","type":"integer"}}}},"type":"object"}}},"description":"HTTP Request was successful."}},"tags":["Email","Email Filtering"],"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.","parameters":[{"schema":{"format":"email","type":"string","example":"username@example.com"},"description":"The email address that owns the filter.","required":true,"name":"account","in":"query"},{"in":"query","name":"filtername","schema":{"example":"coffee","type":"string"},"required":true,"description":"The filter's name."}]}}},"security":[{"BasicAuth":[]}],"servers":[{"description":"A server running cPanel.","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute"}],"openapi":"3.0.2","tags":[{"name":"Email","description":"The Email module for UAPI."},{"name":"Email Filtering","description":"Email / Email Filtering"}],"x-tagGroups":[{"name":"Email","tags":["Email Filtering"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}}},"get_main_account_disk_usage":{"openapi":"3.0.2","servers":[{"variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"tags":[{"name":"Email","description":"The Email module for UAPI."},{"name":"Email Accounts","description":"Email / Email Accounts"}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"x-tagGroups":[{"tags":["Email Accounts"],"name":"Email"}],"security":[{"BasicAuth":[]}],"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/Email/get_main_account_disk_usage":{"get":{"x-cpanel-api-version":"UAPI","x-cpanel-available-version":"cPanel 11.42","summary":"Return primary email account's disk usage","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  get_main_account_disk_usage\n","lang":"Shell","label":"CLI"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Email/get_main_account_disk_usage","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_get_main_account_disk_usage.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_get_main_account_disk_usage.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/get_main_account_disk_usage/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_get_main_account_disk_usage.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_get_main_account_disk_usage.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'get_main_account_disk_usage'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"description":"This function returns the disk space that the main account uses.\n\n**Important:**\n\nWhen you disable the [Receive Mail role](https://go.cpanel.net/serverroles), the system **disables** this function.","tags":["Email","Email Accounts"],"parameters":[],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"func":{"description":"The name of the method called.","example":"get_main_account_disk_usage","type":"string"},"module":{"type":"string","example":"Email","description":"The name of the module called."},"result":{"properties":{"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"data":{"description":"The current amount of disk space that the main email account uses.","example":"3076 bytes","type":"string"},"metadata":{"properties":{}},"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."},"status":{"enum":[0,1],"example":1,"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","type":"integer"}},"type":"object"}}}}}}},"operationId":"Email-get_main_account_disk_usage","x-readonly":true}}}},"delete_auto_responder":{"x-tagGroups":[{"tags":["Email Accounts"],"name":"Email"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}}}],"tags":[{"description":"The Email module for UAPI.","name":"Email"},{"description":"Email / Email Accounts","name":"Email Accounts"}],"security":[{"BasicAuth":[]}],"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/Email/delete_auto_responder":{"get":{"parameters":[{"schema":{"example":"user@example.com","type":"string","format":"email"},"description":"The email account.","required":true,"name":"email","in":"query"}],"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.","x-rollback":"none","tags":["Email","Email Accounts"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"func":{"type":"string","description":"The name of the method called.","example":"delete_auto_responder"},"module":{"type":"string","description":"The name of the module called.","example":"Email"},"result":{"properties":{"metadata":{"properties":{}},"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API."},"data":{"nullable":true,"type":"object","default":null},"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null},"errors":{"example":null,"description":"List of errors if the API failed.","items":{"type":"string"},"nullable":true,"type":"array"},"status":{"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","example":1,"enum":[0,1],"type":"integer"}}}},"type":"object"}}}}},"x-readonly":false,"operationId":"Email-delete_auto_responder","x-cpanel-available-version":"cPanel 11.42","summary":"Delete email account's autoresponder","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"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Email/delete_auto_responder?email=user%40example.com","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_delete_auto_responder.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_delete_auto_responder.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/delete_auto_responder/,\n    {\n        'email' => 'user@example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_delete_auto_responder.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_delete_auto_responder.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'delete_auto_responder',\n    array (\n        'email' => 'user@example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-api-version":"UAPI"}}}},"get_spam_settings":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999"},"security":[{"BasicAuth":[]}],"openapi":"3.0.2","tags":[{"name":"Email","description":"The Email module for UAPI."},{"description":"Email / Spam Management","name":"Spam Management"}],"servers":[{"variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"x-tagGroups":[{"tags":["Spam Management"],"name":"Email"}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"paths":{"/Email/get_spam_settings":{"get":{"parameters":[{"required":false,"description":"Retrieve a specific user account's SpamAssassin settings.\n\n**Note:**\n\nIf you do **not** specify this parameter, the function returns the settings for [the default email account](https://go.cpanel.net/DefaultAddress).","schema":{"example":"username@example.com","type":"string","format":"email"},"in":"query","name":"account"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"type":"integer","description":"The version of the API.","example":3},"module":{"type":"string","description":"The name of the module called.","example":"Email"},"result":{"type":"object","properties":{"status":{"example":1,"enum":[0,1],"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","type":"integer"},"data":{"properties":{"rewrites_subjects":{"enum":[0,1],"example":1,"description":"Whether the user's spam filter rewrites the subject lines of spam messages.\n\n* `1` -  Rewrite.\n* `0` -  No rewrites.","type":"integer"},"spam_as_acl":{"type":"integer","description":"Whether the user's spam filter uses Apache SpamAssassin as an ACL.\n\n**NOTE:**\n\nThe value of this parameter is **always** `1`\n* `1` -  SpamAssassin is an ACL.","example":1,"enum":[1]},"cpuser_spam_auto_delete":{"nullable":true,"type":"integer","example":1,"enum":[0,1],"description":"The cPanel user's account-wide spam filter setting\n\n* `1` - Enabled.\n* `0` - Not enabled.\n\n**NOTE:**\n\nThis key **only** appears if the `account` parameter is passed **and** the account does **not** have a custom setting"},"spam_auto_delete":{"type":"integer","nullable":true,"description":"Whether the user's autodelete function is enabled.\n\n* `1` -  Enabled.\n* `0` -  Not enabled.\n\n**NOTE::**\n\nThis key does **not** appear if the `cpuser_spam_auto_delete` key appears","example":0,"enum":[0,1]},"spam_status_changeable":{"enum":[0,1],"example":1,"description":"Whether the server allows cPanel users to configure Apache SpamAssassin settings.\n\n* `1` -  Allowed.\n* `0` -  Not allowed.","type":"integer"},"cpuser_spam_auto_delete_score":{"example":8,"description":"The cPanel user's account-wide spam filter threshold score. For more information, see `Email::add_spam_filter`.\n\n**NOTE:**\n\nThis key **only** appears if the `account` parameter is passed **and** the account does **not** have a custom setting","minimum":0,"nullable":true,"type":"integer"},"spam_box_enabled":{"type":"integer","description":"Whether the user's spam box is enabled.\n\n* `1` -  Enabled.\n* `0` -  Not enabled.","example":0,"enum":[0,1]},"spam_enabled":{"example":1,"enum":[0,1],"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.","type":"integer"},"spam_auto_delete_score":{"minimum":0,"description":"Displays the user's spam filter threshold.  For more information, see `Email::add_spam_filter`.\n\n**Note:**\n\nThis key does **not** appear if the `cpuser_spam_auto_delete_score` key appears","example":8,"type":"integer","nullable":true}},"type":"object"},"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API."},"metadata":{"properties":{}},"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null},"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"}}},"func":{"example":"get_spam_settings","description":"The name of the method called.","type":"string"}}}}},"description":"HTTP Request was successful."}},"tags":["Email","Spam Management"],"x-readonly":true,"operationId":"Email-get_spam_settings","x-cpanel-api-version":"UAPI","summary":"Return email account Apache SpamAssassin settings","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  get_spam_settings\n","lang":"Shell","label":"CLI"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/Email/get_spam_settings"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_get_spam_settings.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_get_spam_settings.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/get_spam_settings/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_get_spam_settings.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_get_spam_settings.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'get_spam_settings'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"x-cpanel-available-version":"cPanel 11.42","description":"This function retrieves the Apache SpamAssassin™ settings for the account.\n\n**Important:**\n\nWhen you disable the [SpamFilter role](https://go.cpanel.net/serverroles), the system **disables** this function."}}}},"verify_password":{"paths":{"/Email/verify_password":{"get":{"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"func":{"description":"The name of the method called.","example":"verify_password","type":"string"},"module":{"example":"Email","description":"The name of the module called.","type":"string"},"result":{"type":"object","properties":{"errors":{"example":null,"items":{"type":"string"},"description":"List of errors if the API failed.","nullable":true,"type":"array"},"metadata":{"properties":{}},"status":{"type":"integer","example":1,"enum":[0,1],"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details."},"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."},"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"},"example":null,"type":"array","nullable":true},"data":{"type":"integer","enum":[0,1],"example":1,"description":"Whether the password is valid for the email account.\n* `1` - The password is valid.\n* `0` - The password is **not** valid."}}}},"type":"object"}}},"description":"HTTP Request was successful."}},"tags":["Email","Email Accounts"],"operationId":"Email-verify_password","x-readonly":false,"x-cpanel-api-version":"UAPI","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  verify_password \\\n  email='username@example.com' \\\n  password='123456luggage'\n"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/Email/verify_password?email=username%40example.com&password=123456luggage"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_verify_password.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_verify_password.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/verify_password/,\n    {\n        'email' => 'username@example.com',\n        'password' => '123456luggage',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_verify_password.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_verify_password.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'verify_password',\n    array (\n        'email' => 'username@example.com',\n        'password' => '123456luggage',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"x-cpanel-available-version":"cPanel 11.52","summary":"Validate email account password","parameters":[{"schema":{"type":"string","format":"email","example":"username@example.com"},"description":"The email account address.","required":true,"in":"query","name":"email"},{"name":"password","in":"query","schema":{"type":"string","example":"123456luggage"},"description":"The email account password.","required":true}],"description":"This function verifies the password for an email account.\n\n**Important:**\n\nWhen you disable the [Receive Mail role](https://go.cpanel.net/serverroles), the system **disables** this function.","x-rollback":"none"}}},"x-tagGroups":[{"name":"Email","tags":["Email Accounts"]}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"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":{"description":"The cPanel port.","default":"2083"}}}],"tags":[{"description":"The Email module for UAPI.","name":"Email"},{"name":"Email Accounts","description":"Email / Email Accounts"}],"openapi":"3.0.2","security":[{"BasicAuth":[]}],"info":{"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"},"title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999"},"externalDocs":{"url":"https://cpanel.net/developers/"}},"dispatch_client_settings":{"paths":{"/Email/dispatch_client_settings":{"get":{"description":"This function sends an email account's client settings to an email address.\n\n**Important:**\n\nWhen you disable the [Receive Mail role](https://go.cpanel.net/serverroles), the system **disables** this function.","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  dispatch_client_settings \\\n  to='user@example.com' \\\n  account='username'\n","label":"CLI","lang":"Shell"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/Email/dispatch_client_settings?to=user%40example.com&account=username"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_dispatch_client_settings.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_dispatch_client_settings.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/dispatch_client_settings/,\n    {\n        'to' => 'user@example.com',\n        'account' => 'username',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_dispatch_client_settings.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_dispatch_client_settings.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'dispatch_client_settings',\n    array (\n        'to' => 'user@example.com',\n        'account' => 'username',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 62","summary":"Send email client settings to an email address","x-cpanel-api-version":"UAPI","x-rollback":"none","parameters":[{"in":"query","name":"to","description":"The email address to send client settings.","required":true,"schema":{"example":"user@example.com","type":"string","format":"email"}},{"in":"query","name":"account","schema":{"oneOf":[{"example":"username","type":"string","format":"username"},{"format":"email","type":"string","example":"username@example.com"}]},"example":"username","description":"The email account username or address for which to send client settings.","required":true}],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"func":{"type":"string","description":"The name of the method called.","example":"dispatch_client_settings"},"result":{"properties":{"status":{"enum":[0,1],"example":1,"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","type":"integer"},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}},"errors":{"example":null,"description":"List of errors if the API failed.","items":{"type":"string"},"nullable":true,"type":"array"},"metadata":{"properties":{}},"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null,"type":"array","nullable":true}}},"module":{"type":"string","description":"The name of the module called.","example":"Email"},"apiversion":{"type":"integer","example":3,"description":"The version of the API."}}}}}}},"tags":["Email","Email Accounts"],"x-readonly":false,"operationId":"Email-dispatch_client_settings"}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/"},"security":[{"BasicAuth":[]}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute"}],"tags":[{"description":"The Email module for UAPI.","name":"Email"},{"description":"Email / Email Accounts","name":"Email Accounts"}],"x-tagGroups":[{"tags":["Email Accounts"],"name":"Email"}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}}},"disable_spam_box":{"paths":{"/Email/disable_spam_box":{"get":{"parameters":[],"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.","x-rollback":"none","tags":["Email","Spam Management"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"result":{"properties":{"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null},"messages":{"example":null,"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"},"warnings":{"example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","nullable":true,"type":"array"},"data":{"type":"object","nullable":true,"default":null},"metadata":{"properties":{}},"status":{"type":"integer","example":1,"enum":[0,1],"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details."}}},"module":{"type":"string","example":"Email","description":"The name of the module called."},"func":{"type":"string","example":"disable_spam_box","description":"The name of the method called."},"apiversion":{"type":"integer","description":"The version of the API.","example":3}}}}}}},"x-readonly":false,"operationId":"Email-disable_spam_box","x-cpanel-api-version":"UAPI","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  disable_spam_box\n","label":"CLI","lang":"Shell"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/Email/disable_spam_box"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_disable_spam_box.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_disable_spam_box.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/disable_spam_box/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_disable_spam_box.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_disable_spam_box.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'disable_spam_box'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"x-cpanel-available-version":"cPanel 70","summary":"Disable spam box filtering for cPanel account"}}},"tags":[{"description":"The Email module for UAPI.","name":"Email"},{"description":"Email / Spam Management","name":"Spam Management"}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}}}],"x-tagGroups":[{"tags":["Spam Management"],"name":"Email"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"security":[{"BasicAuth":[]}],"info":{"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"}},"unsuspend_incoming":{"x-tagGroups":[{"name":"Email","tags":["Email Suspensions"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"servers":[{"description":"A server running cPanel.","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute"}],"openapi":"3.0.2","tags":[{"description":"The Email module for UAPI.","name":"Email"},{"description":"Email / Email Suspensions","name":"Email Suspensions"}],"security":[{"BasicAuth":[]}],"info":{"title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/Email/unsuspend_incoming":{"get":{"x-readonly":false,"operationId":"Email-unsuspend_incoming","tags":["Email","Email Suspensions"],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"func":{"example":"unsuspend_incoming","description":"The name of the method called.","type":"string"},"result":{"type":"object","properties":{"data":{"example":1,"enum":[0,1],"description":"Whether the function succeeded.\n* `1` — The function succeeded.\n* `0` — The function failed.","type":"integer"},"warnings":{"example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","nullable":true,"type":"array"},"metadata":{"properties":{}},"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}},"status":{"type":"integer","enum":[0,1],"example":1,"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details."}}},"module":{"description":"The name of the module called.","example":"Email","type":"string"},"apiversion":{"type":"integer","example":3,"description":"The version of the API."}}}}},"description":"HTTP Request was successful."}},"x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  unsuspend_incoming\n","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Email/unsuspend_incoming","label":"URL","lang":"HTTP"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_unsuspend_incoming.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_unsuspend_incoming.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/unsuspend_incoming/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_unsuspend_incoming.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_unsuspend_incoming.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'unsuspend_incoming'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"summary":"Unsuspend email account incoming mail","x-cpanel-available-version":"cPanel 54","x-cpanel-api-version":"UAPI","parameters":[{"required":false,"description":"The email user's account name.","schema":{"example":"user@example.com","type":"string","format":"email"},"name":"email","in":"query"}],"x-rollback":"none","description":"This function unsuspends incoming email for an email account.\n\n**Important:**\n\nWhen you disable the [Receive Mail role](https://go.cpanel.net/serverroles), the system **disables** this function."}}}},"delete_held_messages":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"},"termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999"},"security":[{"BasicAuth":[]}],"openapi":"3.0.2","tags":[{"description":"The Email module for UAPI.","name":"Email"},{"name":"Email Accounts","description":"Email / Email Accounts"}],"servers":[{"description":"A server running cPanel.","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"url":"https://{host}:{port}/execute"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"x-tagGroups":[{"tags":["Email Accounts"],"name":"Email"}],"paths":{"/Email/delete_held_messages":{"get":{"x-readonly":false,"operationId":"Email-delete_held_messages","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"func":{"type":"string","description":"The name of the method called.","example":"delete_held_messages"},"module":{"description":"The name of the module called.","example":"Email","type":"string"},"result":{"type":"object","properties":{"status":{"type":"integer","example":1,"enum":[0,1],"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details."},"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null,"type":"array","nullable":true},"data":{"minimum":0,"example":0,"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.","type":"integer"},"metadata":{"properties":{}},"errors":{"example":null,"description":"List of errors if the API failed.","items":{"type":"string"},"nullable":true,"type":"array"},"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null}}},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}},"type":"object"}}},"description":"HTTP Request was successful."}},"tags":["Email","Email Accounts"],"summary":"Delete email account's outgoing messages","x-cpanel-available-version":"cPanel 74","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  delete_held_messages \\\n  email='username@example.com'\n"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/Email/delete_held_messages?email=username%40example.com"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_delete_held_messages.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_delete_held_messages.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/delete_held_messages/,\n    {\n        'email' => 'username@example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_delete_held_messages.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_delete_held_messages.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'delete_held_messages',\n    array (\n        'email' => 'username@example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-api-version":"UAPI","parameters":[{"in":"query","name":"email","required":true,"description":"The email address to query.","schema":{"format":"email","type":"string","example":"username@example.com"}}],"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."}}}},"change_mx":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"}},"security":[{"BasicAuth":[]}],"tags":[{"description":"DNS / Email DNS Settings","name":"Email DNS Settings"}],"openapi":"3.0.2","servers":[{"url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}},"description":"A server running cPanel."}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"x-tagGroups":[{"name":"DNS","tags":["Email DNS Settings"]}],"paths":{"/Email/change_mx":{"get":{"x-readonly":false,"operationId":"Email-change_mx","parameters":[{"description":"The mail exchanger's domain.","required":true,"schema":{"example":"example.com","type":"string","format":"domain"},"name":"domain","in":"query"},{"name":"exchanger","in":"query","required":true,"description":"The mail exchanger's name.","schema":{"format":"domain","type":"string","example":"mail.example.com"}},{"name":"oldexchanger","in":"query","required":true,"description":"The mail exchanger's current name.","schema":{"example":"mail.example.com","format":"domain","type":"string"}},{"required":true,"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.","schema":{"example":15,"minimum":0,"type":"integer"},"name":"priority","in":"query"},{"required":false,"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.","schema":{"type":"integer","minimum":0,"example":5},"name":"oldpriority","in":"query"},{"name":"alwaysaccept","in":"query","schema":{"default":0,"enum":[0,1],"example":1,"type":"integer"},"required":false,"description":"Whether the mail exchanger accepts all mail for the domain.\n* `1` — The mail exchanger always accepts mail.\n* `0` — The mail exchanger does **not** always accept mail."}],"tags":["Email DNS Settings"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"func":{"example":"change_mx","description":"The name of the method called.","type":"string"},"result":{"properties":{"status":{"type":"integer","example":1,"enum":[0,1],"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details."},"metadata":{"properties":{}},"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"},"example":null,"type":"array","nullable":true},"data":{"type":"object","properties":{"statusmsg":{"type":"string","example":"Replacing existing entry on line matched old entry and old priority: 51:\\nBind reloading on example using rndc zone: [example.com]","description":"A message of success, or an error message.\n* A message of success that begins with `Added entry:`.\n* An error message."},"checkmx":{"description":"An object of the mail exchanger's data.","type":"object","properties":{"isprimary":{"description":"Whether the mail exchanger is the primary mail exchanger.\n* `1` - Primary.\n* `0` - **Not** primary.","enum":[0,1],"example":0,"type":"integer"},"local":{"enum":[0,1],"example":0,"description":"Whether the mail exchanger is a local exchanger.\n* `1` - Local.\n* `0` - **Not** local.","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"},"remote":{"enum":[0,1],"example":0,"description":"Whether the mail exchanger is a remote exchanger.\n* `1` - Remote.\n* `0` - **Not** remote.","type":"integer"},"mxcheck":{"example":"auto","enum":["auto","local","secondary","remote"],"description":"The mail exchanger type.\n* `auto`\n* `local`\n* `secondary`\n* `remote`","type":"string"},"detected":{"description":"The mail exchanger type.\n* `auto`\n* `local`\n* `secondary`\n* `remote`","example":"auto","enum":["auto","local","secondary","remote"],"type":"string"},"secondary":{"type":"integer","description":"Whether the mail exchanger is a secondary exchanger.\n* `1` - Secondary.\n* `0` - **Not** secondary.","example":0,"enum":[0,1]},"changed":{"example":1,"enum":[0,1],"description":"Whether a change occurred during the function.\n* `1` - Change occurred.\n* `0` - **No** change.","type":"integer"},"issecondary":{"description":"Whether the mail exchanger is a secondary exchanger.\n* `1` - Secondary.\n* `0` - **Not** secondary.","enum":[0,1],"example":0,"type":"integer"}}},"results":{"description":"A message of success, or an error message.\n* A message of success that begins with `Added entry:`.\n* An error message.","example":"Replacing existing entry on line matched old entry and old priority: 51:\\nBind reloading on example using rndc zone: [example.com]","type":"string"},"status":{"description":"Whether the function succeeded.\n* `1` - Success.\n* `0` - Failure.","enum":[0,1],"example":1,"type":"integer"}}},"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null},"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true}},"type":"object"},"module":{"description":"The name of the module called.","example":"Email","type":"string"},"apiversion":{"type":"integer","description":"The version of the API.","example":3}},"type":"object"}}}}},"x-rollback":"none","summary":"Update mail exchanger record","x-codeSamples":[{"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","lang":"Shell","label":"CLI"},{"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":"URL","lang":"HTTP"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_change_mx.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_change_mx.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/change_mx/,\n    {\n        'domain' => 'example.com',\n        'exchanger' => 'mail.example.com',\n        'oldexchanger' => 'mail.example.com',\n        'priority' => '15',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_change_mx.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_change_mx.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'change_mx',\n    array (\n        'domain' => 'example.com',\n        'exchanger' => 'mail.example.com',\n        'oldexchanger' => 'mail.example.com',\n        'priority' => '15',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 11.42","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.","x-cpanel-api-version":"UAPI"}}}},"add_list":{"security":[{"BasicAuth":[]}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"x-tagGroups":[{"name":"Email","tags":["Mailing Lists"]}],"tags":[{"name":"Email","description":"The Email module for UAPI."},{"description":"Email / Mailing Lists","name":"Mailing Lists"}],"servers":[{"variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"openapi":"3.0.2","externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"},"title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999"},"paths":{"/Email/add_list":{"get":{"x-rollback":"none","x-cpanel-api-version":"UAPI","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"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/Email/add_list?list=newlist&password=12345luggage&domain=example.com"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_add_list.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_add_list.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/add_list/,\n    {\n        'list' => 'newlist',\n        'password' => '12345luggage',\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_add_list.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_add_list.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'add_list',\n    array (\n        'list' => 'newlist',\n        'password' => '12345luggage',\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"summary":"Create mailing list","x-cpanel-available-version":"cPanel 11.42","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.","x-readonly":false,"operationId":"Email-add_list","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"module":{"type":"string","description":"The name of the module called.","example":"Email"},"result":{"properties":{"data":{"type":"object","nullable":true,"default":null},"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"},"example":null,"type":"array","nullable":true},"metadata":{"properties":{"transformed":{"type":"integer","description":"Post-processing may have transformed the data.","enum":[1],"example":1}}},"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null},"messages":{"description":"List of messages generated by the API.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"status":{"type":"integer","enum":[0,1],"example":1,"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details."}}},"func":{"example":"add_list","description":"The name of the method called.","type":"string"}},"type":"object"}}}}},"parameters":[{"schema":{"example":"newlist","type":"string"},"required":true,"description":"The mailing list name.","name":"list","in":"query"},{"in":"query","name":"password","description":"The mailing list password.","required":true,"schema":{"type":"string","example":"12345luggage"}},{"in":"query","name":"domain","schema":{"format":"domain","type":"string","example":"example.com"},"required":true,"description":"The domain."},{"schema":{"enum":[0,1],"example":0,"default":0,"type":"integer"},"description":"Whether to rebuild the mailing list.\n* `1` — Rebuild the mailing list.\n* `0` — Do **not** rebuild the mailing list.","required":false,"in":"query","name":"rebuildonly"},{"in":"query","name":"private","schema":{"type":"integer","default":0,"example":0,"enum":[0,1]},"description":"Whether the mailing list is private.\n* `1` — Private.\n* `0` — Public.","required":false}],"tags":["Email","Mailing Lists"]}}}},"get_charsets":{"paths":{"/Email/get_charsets":{"get":{"parameters":[],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"module":{"type":"string","description":"The name of the module called.","example":"Email"},"result":{"properties":{"status":{"type":"integer","description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","enum":[0,1],"example":1},"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null},"data":{"type":"array","items":{"example":"utf-8","type":"string"},"description":"An array of [character encodings](https://en.wikipedia.org/wiki/Character_encoding) that the mail server supports."},"warnings":{"example":null,"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"},"metadata":{"properties":{"transformed":{"example":1,"enum":[1],"description":"Post-processing may have transformed the data.","type":"integer"}}}},"type":"object"},"func":{"type":"string","description":"The name of the method called.","example":"get_charsets"},"apiversion":{"type":"integer","example":3,"description":"The version of the API."}}}}}}},"tags":["Email","Email Server Information"],"x-readonly":true,"operationId":"Email-get_charsets","description":"This function lists character encodings that the mail server supports.\n\n**Important:**\n\nWhen you disable the [Receive Mail role](https://go.cpanel.net/serverroles), the system **disables** this function.","summary":"Return mail server's supported character encodings","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"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_get_charsets.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_get_charsets.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/get_charsets/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_get_charsets.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_get_charsets.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'get_charsets'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 11.42","x-cpanel-api-version":"UAPI"}}},"tags":[{"name":"Email","description":"The Email module for UAPI."},{"name":"Email Server Information","description":"Email / Email Server Information"}],"openapi":"3.0.2","servers":[{"variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"name":"Email","tags":["Email Server Information"]}],"security":[{"BasicAuth":[]}],"info":{"license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"externalDocs":{"url":"https://cpanel.net/developers/"}},"list_domain_forwarders":{"paths":{"/Email/list_domain_forwarders":{"get":{"x-cpanel-api-version":"UAPI","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  list_domain_forwarders\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Email/list_domain_forwarders","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_list_domain_forwarders.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_list_domain_forwarders.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/list_domain_forwarders/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_list_domain_forwarders.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_list_domain_forwarders.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'list_domain_forwarders'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"summary":"Return domain-level forwarders","x-cpanel-available-version":"cPanel 11.42","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","x-readonly":true,"parameters":[{"name":"domain","in":"query","required":false,"description":"The domain name to query. If you do not use this parameter, the function returns all domain-level forwarders on the cPanel account.","schema":{"example":"example.com","type":"string","format":"domain"}}],"tags":["Email","Email Forwarding"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"module":{"description":"The name of the module called.","example":"Email","type":"string"},"result":{"type":"object","properties":{"status":{"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","example":1,"enum":[0,1],"type":"integer"},"errors":{"nullable":true,"type":"array","example":null,"description":"List of errors if the API failed.","items":{"type":"string"}},"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null},"data":{"description":"An array of objects containing domain forwarder information.","items":{"properties":{"forward":{"description":"The destination domain.","example":"forwardtome.com","type":"string","format":"domain"},"dest":{"type":"string","format":"domain","description":"The forwarded domain.","example":"example.com"}},"type":"object"},"type":"array"},"warnings":{"type":"array","nullable":true,"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"},"example":null},"metadata":{"properties":{"transformed":{"description":"Post-processing may have transformed the data.","enum":[1],"example":1,"type":"integer"}}}}},"func":{"type":"string","description":"The name of the method called.","example":"list_domain_forwarders"},"apiversion":{"type":"integer","example":3,"description":"The version of the API."}}}}}}}}}},"info":{"termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"x-tagGroups":[{"tags":["Email Forwarding"],"name":"Email"}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute"}],"tags":[{"description":"The Email module for UAPI.","name":"Email"},{"description":"Email / Email Forwarding","name":"Email Forwarding"}],"security":[{"BasicAuth":[]}]},"list_pops_with_disk":{"paths":{"/Email/list_pops_with_disk":{"get":{"x-readonly":true,"operationId":"Email-list_pops_with_disk","parameters":[{"in":"query","name":"domain","schema":{"example":"example.com","format":"domain","type":"string"},"required":false,"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."},{"name":"email","in":"query","required":false,"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`.","schema":{"format":"username","type":"string","example":"user"}},{"name":"get_restrictions","in":"query","description":"Whether to display restriction status for each of the email addresses.\n* `1` — Display.\n* `0` — Do **not** display.","required":false,"schema":{"example":0,"default":0,"enum":[0,1],"type":"integer"}},{"required":false,"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.","schema":{"type":"string","example":"images/myimg.jpg"},"in":"query","name":"infinityimg"},{"in":"query","name":"infinitylang","required":false,"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.","schema":{"default":0,"enum":[0,1],"example":0,"type":"integer"}},{"schema":{"type":"integer","minimum":1,"example":500},"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.","required":false,"name":"maxaccounts","in":"query"},{"required":false,"description":"Whether to skip the collection of disk usage information.\n* `1` — Do **not** collect.\n* `0` — Collect.","schema":{"type":"integer","enum":[0,1],"default":0,"example":0},"name":"no_disk","in":"query"},{"in":"query","name":"no_validate","schema":{"type":"integer","default":0,"enum":[0,1],"example":0},"required":false,"description":"Whether to skip email database validation.\n* `1` — Skip validation.\n* `0` — Perform the validation."},{"in":"query","name":"regex","schema":{"example":"/^[a-z0-9_-]{6,18}$/","default":"An empty string","type":"string"},"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.","required":false}],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"func":{"example":"list_pops_with_disk","description":"The name of the method called.","type":"string"},"result":{"properties":{"messages":{"description":"List of messages generated by the API.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"metadata":{"properties":{"transformed":{"enum":[1],"example":1,"description":"Post-processing may have transformed the data.","type":"integer"}}},"warnings":{"example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","nullable":true,"type":"array"},"data":{"type":"array","items":{"type":"object","properties":{"humandiskquota":{"description":"The disk quota, in human-readable format.\n* The disk quota and the unit of measure.\n* `None` - The account possesses an unlimited disk quota.","oneOf":[{"minimum":0,"type":"integer"},{"type":"string","enum":["None"]}],"example":"None"},"diskquota":{"example":"unlimited","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.","oneOf":[{"type":"integer","minimum":0},{"type":"string"}]},"email":{"example":"user@example.com","oneOf":[{"type":"string","format":"email"},{"enum":["Main Account"],"type":"string"}],"description":"The email address, or the string `Main Account`.\n* A valid email address.\n* `Main Account`"},"suspended_outgoing":{"type":"integer","example":0,"enum":[0,1],"description":"Whether the email account's outgoing email is suspended.\n* `1` - Suspended.\n* `0` - **Not** suspended."},"humandiskused":{"description":"The disk space that the email account uses, in human-readable format.\n* The disk space that the email account uses, a non-breaking space (`\\u00a0`), and the unit of measure.\n* `None` - The account possesses an unlimited disk quota.","example":"483 bytes","type":"string"},"hold_outgoing":{"type":"integer","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.","example":0,"enum":[0,1]},"user":{"type":"string","description":"The email account username. For example, `user` if the email address is `user@example.com`.","example":"user"},"suspended_incoming":{"type":"integer","enum":[0,1],"example":0,"description":"Whether the email account's incoming email is suspended.\n* `1` - Suspended.\n* `0` - **Not** suspended."},"mtime":{"example":1415894498,"description":"The email account's last modification time, in [Unix time](https://wikipedia.org/wiki/Unix_time) format.","type":"integer","format":"unix_timestamp"},"_diskquota":{"minimum":0,"description":"The disk quota.\n* A positive value that represents the disk quota, in bytes.\n* `0` - The account possesses an unlimited disk quota.","example":0,"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"},"diskusedpercent20":{"minimum":0,"example":0,"description":"The percentage of disk space that the email account uses.\n* A positive value.\n* `0` - The account possesses an unlimited disk quota.","type":"integer"},"login":{"example":"user@example.com","oneOf":[{"format":"username","type":"string"},{"format":"email","type":"string"}],"description":"The email address, or the main account username.\n* A valid email address.\n* The username for the main account."},"diskused":{"description":"The disk space that the email account uses.\n* A positive floating-point value that represents the used disk space, in megabytes (MB).\n* `0` - The account possesses an unlimited disk quota.","example":0,"minimum":0,"type":"integer"},"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"},"has_suspended":{"type":"integer","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},"diskusedpercent":{"example":0,"description":"The percentage of disk space that the email account uses.\n* A positive value.\n* `0` - The account has an unlimited disk quota.","minimum":0,"type":"integer"},"suspended_login":{"type":"integer","description":"Whether the user's ability to log in to, send mail from, and read their email account is suspended.\n* `1` - Suspended.\n* `0` - **Not** suspended.","enum":[0,1],"example":0},"txtdiskquota":{"description":"The email account's disk quota.\n* A positive value that represents the email address's quota, in megabytes (MB).\n* `unlimited` - The email account has an unlimited quota.","oneOf":[{"type":"integer","minimum":0},{"type":"string","enum":["unlimited"]}],"example":"unlimited"},"_diskused":{"example":483,"description":"The disk space that the email account uses.\n* A positive value that represents the used disk space, in bytes.\n* `0` - The account possesses an unlimited disk quota.","minimum":0,"type":"integer"}}},"description":"An array of objects containing data for each email address."},"status":{"example":1,"enum":[0,1],"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","type":"integer"}},"type":"object"},"module":{"type":"string","description":"The name of the module called.","example":"Email"},"apiversion":{"example":3,"description":"The version of the API.","type":"integer"}},"type":"object"}}}}},"tags":["Email","Email Accounts"],"x-cpanel-api-version":"UAPI","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"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_list_pops_with_disk.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_list_pops_with_disk.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/list_pops_with_disk/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_list_pops_with_disk.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_list_pops_with_disk.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'list_pops_with_disk'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Return email accounts with disk information","x-cpanel-available-version":"cPanel 11.42","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."}}},"security":[{"BasicAuth":[]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"x-tagGroups":[{"name":"Email","tags":["Email Accounts"]}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}}}],"tags":[{"description":"The Email module for UAPI.","name":"Email"},{"description":"Email / Email Accounts","name":"Email Accounts"}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}}},"list_filters_backups":{"paths":{"/Email/list_filters_backups":{"get":{"summary":"Return domains with domain-level email filters","x-cpanel-available-version":"cPanel 11.42","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  list_filters_backups\n","lang":"Shell","label":"CLI"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/Email/list_filters_backups"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_list_filters_backups.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_list_filters_backups.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/list_filters_backups/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_list_filters_backups.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_list_filters_backups.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'list_filters_backups'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"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.","x-cpanel-api-version":"UAPI","x-readonly":true,"operationId":"Email-list_filters_backups","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"type":"integer","description":"The version of the API.","example":3},"module":{"description":"The name of the module called.","example":"Email","type":"string"},"result":{"properties":{"status":{"type":"integer","enum":[0,1],"example":1,"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details."},"data":{"type":"array","items":{"type":"object","properties":{"domain":{"format":"domain","type":"string","description":"A domain with a domain-level filter.","example":"example.com"}}},"description":"An array of objects that contains information about domains with domain-level filters."},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null},"metadata":{"properties":{"transformed":{"description":"Post-processing may have transformed the data.","example":1,"enum":[1],"type":"integer"}}},"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true}},"type":"object"},"func":{"type":"string","example":"list_filters_backups","description":"The name of the method called."}}}}},"description":"HTTP Request was successful."}},"tags":["Email","Email Filtering"]}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/"},"security":[{"BasicAuth":[]}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"x-tagGroups":[{"name":"Email","tags":["Email Filtering"]}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute"}],"tags":[{"description":"The Email module for UAPI.","name":"Email"},{"description":"Email / Email Filtering","name":"Email Filtering"}]},"list_filters":{"paths":{"/Email/list_filters":{"get":{"x-cpanel-api-version":"UAPI","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  list_filters\n","lang":"Shell","label":"CLI"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Email/list_filters","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_list_filters.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_list_filters.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/list_filters/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_list_filters.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_list_filters.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'list_filters'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"summary":"Return account-level email filters","x-cpanel-available-version":"cPanel 11.42","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.","parameters":[{"name":"account","in":"query","schema":{"oneOf":[{"format":"email","type":"string","example":"user@example.com"},{"format":"username","type":"string","example":"username"}]},"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.","required":false}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"module":{"example":"Email","description":"The name of the module called.","type":"string"},"result":{"properties":{"status":{"type":"integer","description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","example":1,"enum":[0,1]},"messages":{"description":"List of messages generated by the API.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"metadata":{"properties":{}},"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null,"type":"array","nullable":true},"data":{"type":"array","items":{"type":"object","properties":{"actions":{"description":"An array of objects that descibe each of the filter’s actions.","items":{"properties":{"action":{"description":"The filter’s action.\n\nSome common ones include:\n\n* `deliver` — The filter sends mail to the dest address.\n* `fail` — The filter forces a delivery failure.\n* `finish` — The filter stops message processing.\n* `save` — The filter saves mail to the dest file.\n* `pipe` — The filter sends mail to the dest application.\n\nFor more information, read [Exim’s _Filter commands_ documentation](http://www.exim.org/exim-html-3.30/doc/html/filter_11.html).","type":"string"},"dest":{"type":"string","description":"The destination to which the filter sends mail.\n* A file path.\n* An application path.\n* A valid email address.","example":"/dev/null"}},"type":"object"},"type":"array"},"rules":{"type":"array","items":{"properties":{"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"},"match":{"description":"The filter’s match type.","example":"contains","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"],"type":"string"},"part":{"type":"string","description":"The queried email section.\n\nSome common ones include:\n\n* `$header_from:` — Matches against the `From:` section.\n* `$header_subject:` — Matches against the `Subject:` section.\n* `$header_to:` — Matches against the `To:` section.\n* `$reply_address:` — Matches against the `Reply To:` section.\n* `$message_body` — Matches against the message’s body.\n* `$message_headers` — Matches against the message’s headers.\n* `foranyaddress $h_to:,$h_cc:,$h_bcc:` —  Matches against all message recipients.\n* `not delivered` — Matches if the system has not queued the message for delivery.\n* `error_message` — Matches if the incoming message bounced.\n\nFor more options, read [Exim’s documentation](https://exim.org/exim-html-3.30/doc/html/filter.html).","example":"$message_body"},"val":{"example":"coconut","description":"The matched value. A string value.","type":"string"}},"type":"object"},"description":"An array of objects that descibe each of the filter’s rules."},"enabled":{"type":"integer","description":"Whether the filter is enabled."},"filtername":{"type":"string","description":"The filter’s name.","example":"coffee"},"unescaped":{"deprecated":true,"type":"boolean"}}}}},"type":"object"},"func":{"type":"string","example":"list_filters","description":"The name of the method called."},"apiversion":{"example":3,"description":"The version of the API.","type":"integer"}}}}},"description":"HTTP Request was successful."}},"tags":["Email","Email Filtering"],"operationId":"Email-list_filters","x-readonly":true}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","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.","version":"11.89.0.9999","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/"},"security":[{"BasicAuth":[]}],"servers":[{"description":"A server running cPanel.","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute"}],"openapi":"3.0.2","tags":[{"description":"The Email module for UAPI.","name":"Email"},{"description":"Email / Email Filtering","name":"Email Filtering"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"x-tagGroups":[{"tags":["Email Filtering"],"name":"Email"}]},"unsuspend_login":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI"},"security":[{"BasicAuth":[]}],"openapi":"3.0.2","tags":[{"description":"The Email module for UAPI.","name":"Email"},{"name":"Email Suspensions","description":"Email / Email Suspensions"}],"servers":[{"variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"x-tagGroups":[{"name":"Email","tags":["Email Suspensions"]}],"paths":{"/Email/unsuspend_login":{"get":{"x-readonly":false,"operationId":"Email-unsuspend_login","parameters":[{"name":"email","in":"query","schema":{"type":"string","format":"email","example":"username@example.com"},"description":"The email user's account name.","required":false}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"module":{"description":"The name of the module called.","example":"Email","type":"string"},"result":{"properties":{"status":{"type":"integer","enum":[1,0],"example":1,"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details."},"metadata":{"properties":{}},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"data":{"default":null,"type":"object","nullable":true},"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true}}},"func":{"example":"unsuspend_login","description":"The name of the method called.","type":"string"},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}},"type":"object"}}},"description":"HTTP Request was successful."}},"tags":["Email","Email Suspensions"],"x-rollback":"none","x-cpanel-api-version":"UAPI","description":"This function restores a user's ability to log in to their email account.\n\n**Note:**\n\n* To suspend a user's ability to log in, use the UAPI `Email::suspend_login` function.\n* To suspend incoming email for an account, use the UAPI `Email::suspend_incoming` function.\n\n**Important:**\n\nWhen you disable the [Receive Mail role](https://go.cpanel.net/serverroles#roles), the system **disables** this function.","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  unsuspend_login\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Email/unsuspend_login","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_unsuspend_login.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_unsuspend_login.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/unsuspend_login/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_unsuspend_login.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_unsuspend_login.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'unsuspend_login'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"summary":"Unsuspend email account login","x-cpanel-available-version":"cPanel 54"}}}},"trace_delivery":{"paths":{"/Email/trace_delivery":{"get":{"x-readonly":true,"operationId":"Email-trace_delivery","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"description":"The version of the API.","example":3,"type":"integer"},"func":{"type":"string","description":"The name of the method called.","example":"trace_delivery"},"result":{"properties":{"errors":{"nullable":true,"type":"array","example":null,"description":"List of errors if the API failed.","items":{"type":"string"}},"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"},"data":{"allOf":[{"$ref":"#/components/schemas/trace_deliveryResponseBase"},{"$ref":"#/components/schemas/trace_deliveryType"}],"example":{"address":"username@example.com","type":"routed","destinations":[{"address":"username@example.com","destinations":[{"type":"local_delivery","mailbox":"username@example.com"}],"type":"routed","aliasfile":"/etc/valiases/example.com"}]}},"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.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"metadata":{"properties":{}},"status":{"type":"integer","enum":[0,1],"example":1,"description":"* `1` - Success\n* `0` - Failed: Check the errors field for more details."}},"type":"object"},"module":{"example":"Email","description":"The name of the module called.","type":"string"}}}}}}},"parameters":[{"schema":{"example":"username@example.com","type":"string"},"description":"The email address to which to trace a message delivery path.","required":true,"name":"recipient","in":"query"}],"tags":["Email","Email Accounts"],"x-cpanel-api-version":"UAPI","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  trace_delivery \\\n  recipient='username@example.com'\n","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Email/trace_delivery?recipient=username%40example.com","label":"URL","lang":"HTTP"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_trace_delivery.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_trace_delivery.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/trace_delivery/,\n    {\n        'recipient' => 'username@example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_trace_delivery.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_trace_delivery.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'trace_delivery',\n    array (\n        'recipient' => 'username@example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"summary":"Run email delivery route trace","x-cpanel-available-version":"cPanel 84","description":"This function traces the email delivery route to an email account."}}},"x-tagGroups":[{"tags":["Email Accounts"],"name":"Email"}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{"trace_deliveryResponseDefer":{"allOf":[{"$ref":"#/components/schemas/trace_deliveryResponseBase"},{"type":"object","properties":{"destinations":{"type":"object","properties":{"message":{"example":"The system deferred the message.","description":"A message that the system sends when it defers the email.","type":"string"},"type":{"$ref":"#/components/schemas/trace_deliveryTypeDescription"}}}}}]},"trace_deliveryResponseError":{"allOf":[{"$ref":"#/components/schemas/trace_deliveryResponseBase"},{"properties":{"destinations":{"type":"object","properties":{"message":{"type":"string","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.","description":"An error message from the system."},"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"}]},"trace_deliveryResponseLocalDelivery":{"allOf":[{"$ref":"#/components/schemas/trace_deliveryResponseBase"},{"properties":{"destinations":{"type":"object","properties":{"mailbox":{"example":"user@example.com","description":"The mailbox where the system sent the email.","format":"email","type":"string"},"type":{"$ref":"#/components/schemas/trace_deliveryTypeDescription"}}}},"type":"object"}]},"trace_deliveryResponseRemoteDelivery":{"allOf":[{"$ref":"#/components/schemas/trace_deliveryResponseBase"},{"properties":{"destinations":{"type":"array","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"}}}}]},"trace_deliveryType":{"discriminator":{"propertyName":"type","mapping":{"discard":"#/components/schemas/trace_deliveryResponseDiscard","bounce":"#/components/schemas/trace_deliveryResponseBounce","command":"#/components/schemas/trace_deliveryResponseCommand","local_delivery":"#/components/schemas/trace_deliveryResponseLocalDelivery","defer":"#/components/schemas/trace_deliveryResponseDefer","error":"#/components/schemas/trace_deliveryResponseError","remote_delivery":"#/components/schemas/trace_deliveryResponseRemoteDelivery"}},"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"}]},"trace_deliveryTypeDescription":{"type":"string","example":"local_delivery","description":"A type of trace node. The system returns this value to indicate the **end** of routing.\n* `bounce` - The system rejected the email's delivery.\n* `command` - The system will run a command when it receives an email.\n* `defer` - The system deferred the email.\n* `discard` - The system discarded the email.\n* `error` - The system encountered an error.\n* `local_delivery` - The system sent the email to a local mailbox.\n* `remote_delivery` - The system sent the email via Simple Mail Transfer Protocol (SMTP).\n* `routed` - The system routed the email elsewhere.\n\n**Note:**\n* The structure of the `destinations` return changes depending on the `type` return value.\n* The `routed` type can return any other type's data structure as part of the `destinations` return value."},"trace_deliveryResponseDiscard":{"allOf":[{"$ref":"#/components/schemas/trace_deliveryResponseBase"},{"type":"object","properties":{"destinations":{"type":"object","properties":{"aliasfile":{"type":"string","format":"path","example":"/etc/valiases/example.com","description":"The file path on the system where Exim searched for the `address` return value's aliases.\n\n**Note:**\n\nThe function **only** returns this value if an alias exists for the `address` value."},"type":{"$ref":"#/components/schemas/trace_deliveryTypeDescription"}}}}}]},"trace_deliveryResponseCommand":{"allOf":[{"$ref":"#/components/schemas/trace_deliveryResponseBase"},{"type":"object","properties":{"destinations":{"type":"object","properties":{"command":{"example":"/usr/local/cpanel/bin/autorespond user@example.com /home/cpmailuser/.autorespond","description":"A command that the system runs when it receives the email.","type":"string"},"type":{"$ref":"#/components/schemas/trace_deliveryTypeDescription"}}}}}]},"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_deliveryResponseBase":{"properties":{"type":{"type":"string","description":"A type of trace node. The system returns this value to indicate the **end** of routing.\n* `bounce` - The system rejected the email's delivery.\n* `command` - The system will run a command when it receives an email.\n* `defer` - The system deferred the email.\n* `discard` - The system discarded the email.\n* `error` - The system encountered an error.\n* `local_delivery` - The system sent the email to a local mailbox.\n* `remote_delivery` - The system sent the email via Simple Mail Transfer Protocol (SMTP).\n* `routed` - The system routed the email elsewhere.\n\n**Note:**\n* The structure of the `destinations` return changes depending on the `type` return value.\n* The `routed` type can return any other type's data structure as part of the `destinations` return value.\n\nFor more information, see the return structure for each `type` return value below:","example":"local_delivery"},"address":{"description":"The email address of an email message recipient.","example":"username@example.com","format":"email","type":"string"}}}}},"servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"name":"Email","description":"The Email module for UAPI."},{"description":"Email / Email Accounts","name":"Email Accounts"}],"security":[{"BasicAuth":[]}],"info":{"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/","contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"}},"externalDocs":{"url":"https://cpanel.net/developers/"}},"reorder_filters":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"security":[{"BasicAuth":[]}],"openapi":"3.0.2","servers":[{"variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"tags":[{"description":"The Email module for UAPI.","name":"Email"},{"name":"Email Filtering","description":"Email / Email Filtering"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"name":"Email","tags":["Email Filtering"]}],"paths":{"/Email/reorder_filters":{"get":{"tags":["Email","Email Filtering"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"func":{"description":"The name of the method called.","example":"reorder_filters","type":"string"},"result":{"properties":{"status":{"enum":[0,1],"example":1,"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","type":"integer"},"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"messages":{"example":null,"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"},"data":{"enum":[null],"type":"object","nullable":true},"warnings":{"example":null,"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"},"metadata":{"properties":{"transformed":{"enum":[1],"example":1,"description":"Post-processing may have transformed the data.","type":"integer"}}}}},"module":{"type":"string","example":"Email","description":"The name of the module called."}},"type":"object"}}}}},"operationId":"Email-reorder_filters","x-readonly":false,"x-cpanel-api-version":"UAPI","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  reorder_filters \\\n  mailbox='user@example.com' \\\n  filter*='coffee'\n","lang":"Shell","label":"CLI"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Email/reorder_filters?mailbox=user%40example.com&filter%2a=coffee","label":"URL","lang":"HTTP"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_reorder_filters.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_reorder_filters.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/reorder_filters/,\n    {\n        'mailbox' => 'user@example.com',\n        'filter*' => 'coffee',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_reorder_filters.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_reorder_filters.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'reorder_filters',\n    array (\n        'mailbox' => 'user@example.com',\n        'filter*' => 'coffee',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-available-version":"cPanel 11.42","summary":"Update email address's email filter order","parameters":[{"required":true,"description":"The email address.","schema":{"type":"string","example":"user@example.com"},"in":"query","name":"mailbox"},{"required":true,"description":"A mail filter name.\n\nFor each mail filter to reorder, supply a `filter*` parameter, where `*` is a number that represents the filter's order.\n\nFor example, to set `coffee` as the first email filter and `cheesecloth` as the second, set `coffee` as the `filter1` parameter's value, and `cheesecloth` as the value for the `filter2` parameter.","schema":{"type":"string","example":"coffee"},"name":"filter*","in":"query"}],"description":"This function modifies the filter order for an email address. For more information about Exim filters, read [Exim's documentation](http://www.exim.org/exim-html-3.30/doc/html/filter.html).\n\n**Important:**\n\nWhen you disable the [_Receive Mail_ role](https://go.cpanel.net/serverroles), the system **disables** this function.","x-rollback":"none"}}}},"count_forwarders":{"paths":{"/Email/count_forwarders":{"get":{"x-cpanel-api-version":"UAPI","x-cpanel-available-version":"cPanel 82","summary":"Return cPanel account's mail forwarder total","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  count_forwarders\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Email/count_forwarders","label":"URL","lang":"HTTP"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_count_forwarders.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_count_forwarders.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/count_forwarders/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_count_forwarders.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_count_forwarders.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'count_forwarders'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"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.","x-readonly":true,"operationId":"Email-count_forwarders","tags":["Email","Email Forwarding"],"parameters":[],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"result":{"properties":{"status":{"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","example":1,"enum":[0,1],"type":"integer"},"data":{"type":"integer","minimum":0,"description":"The number of email forwarders.\n* `0`\n* A positive integer.","example":1},"warnings":{"type":"array","nullable":true,"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"},"example":null},"metadata":{"properties":{"transformed":{"type":"integer","description":"Post-processing may have transformed the data.","example":1,"enum":[1]}}},"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"}},"type":"object"},"module":{"example":"Email","description":"The name of the module called.","type":"string"},"func":{"type":"string","example":"count_forwarders","description":"The name of the method called."}},"type":"object"}}}}}}}},"x-tagGroups":[{"tags":["Email Forwarding"],"name":"Email"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"tags":[{"description":"The Email module for UAPI.","name":"Email"},{"description":"Email / Email Forwarding","name":"Email Forwarding"}],"openapi":"3.0.2","servers":[{"variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"security":[{"BasicAuth":[]}],"info":{"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"},"termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."},"externalDocs":{"url":"https://cpanel.net/developers/"}},"disable_spam_autodelete":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/"},"security":[{"BasicAuth":[]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"name":"Email","tags":["Spam Management"]}],"openapi":"3.0.2","servers":[{"variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"tags":[{"description":"The Email module for UAPI.","name":"Email"},{"description":"Email / Spam Management","name":"Spam Management"}],"paths":{"/Email/disable_spam_autodelete":{"get":{"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.","summary":"Disable spam box filtering auto-delete","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  disable_spam_autodelete\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Email/disable_spam_autodelete","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_disable_spam_autodelete.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_disable_spam_autodelete.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/disable_spam_autodelete/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_disable_spam_autodelete.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_disable_spam_autodelete.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'disable_spam_autodelete'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 11.42","x-cpanel-api-version":"UAPI","operationId":"Email-disable_spam_autodelete","x-readonly":false,"parameters":[],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"func":{"example":"disable_spam_autodelete","description":"The name of the method called.","type":"string"},"result":{"properties":{"status":{"type":"integer","description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","enum":[0,1],"example":1},"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"},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"metadata":{"properties":{}},"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null},"messages":{"example":null,"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"}},"type":"object"},"module":{"example":"Email","description":"The name of the module called.","type":"string"},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}}}}}}},"tags":["Email","Spam Management"]}}}},"get_pop_quota":{"paths":{"/Email/get_pop_quota":{"get":{"tags":["Email","Email Accounts"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"func":{"type":"string","example":"get_pop_quota","description":"The name of the method called."},"module":{"type":"string","description":"The name of the module called.","example":"Email"},"result":{"properties":{"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}},"warnings":{"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"data":{"type":"integer","example":262144000,"description":"The email account's quota.\n\n**Note:**\n\nThis value's unit of measure depends on the `as_bytes` input parameter's value."},"metadata":{"properties":{}},"status":{"description":"* `1` - Success\n* `0` - Failed: Check the `errors` field for more details.","enum":[0,1],"example":1,"type":"integer"}},"type":"object"},"apiversion":{"example":3,"description":"The version of the API.","type":"integer"}}}}}}},"parameters":[{"description":"The email account username.  For example, user if the email address is user@example.com.","required":true,"schema":{"example":"user","type":"string"},"name":"email","in":"query"},{"description":"The email account's domain. This parameter defaults to the cPanel account's main domain.","required":false,"schema":{"example":"example.com","format":"domain","type":"string"},"in":"query","name":"domain"},{"required":false,"description":"Whether to return the quota as bytes.\n\n* `1` — Return the quota as bytes.\n* `0` — Return the quota as megabytes (MB).","schema":{"type":"integer","example":1,"default":0,"enum":[0,1]},"name":"as_bytes","in":"query"}],"x-readonly":true,"operationId":"Email-get_pop_quota","description":"This function retrieves an email account's quota.\n\n**Important:**\n\nWhen you disable the [Receive Mail](https://go.cpanel.net/serverroles) role, the system **disables** this function.","summary":"Return email account's quota","x-cpanel-available-version":"cPanel 11.42","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  get_pop_quota \\\n  email='user'\n","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Email/get_pop_quota?email=user","label":"URL","lang":"HTTP"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_get_pop_quota.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_get_pop_quota.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/get_pop_quota/,\n    {\n        'email' => 'user',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_get_pop_quota.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_get_pop_quota.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'get_pop_quota',\n    array (\n        'email' => 'user',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-api-version":"UAPI"}}},"openapi":"3.0.2","servers":[{"variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"tags":[{"description":"The Email module for UAPI.","name":"Email"},{"description":"Email / Email Accounts","name":"Email Accounts"}],"x-tagGroups":[{"name":"Email","tags":["Email Accounts"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"security":[{"BasicAuth":[]}],"info":{"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"},"termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."},"externalDocs":{"url":"https://cpanel.net/developers/"}},"edit_pop_quota":{"paths":{"/Email/edit_pop_quota":{"get":{"x-cpanel-api-version":"UAPI","summary":"Update email account's quota","x-codeSamples":[{"lang":"Shell","label":"CLI","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"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_edit_pop_quota.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_edit_pop_quota.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/edit_pop_quota/,\n    {\n        'email' => 'user',\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_edit_pop_quota.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_edit_pop_quota.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'edit_pop_quota',\n    array (\n        'email' => 'user',\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-available-version":"cPanel 11.42","tags":["Email","Email Accounts"],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"module":{"type":"string","description":"The name of the module called.","example":"Email"},"result":{"properties":{"data":{"nullable":true,"type":"object","default":null},"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null,"type":"array","nullable":true},"metadata":{"properties":{}},"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}},"status":{"enum":[0,1],"example":1,"description":"* `1` - Success\n* `0` - Failed: Check the errors field for more details.","type":"integer"}}},"func":{"type":"string","description":"The name of the method called.","example":"edit_pop_quota"},"apiversion":{"type":"integer","description":"The version of the API.","example":3}},"type":"object"}}},"description":"HTTP Request was successful."}},"operationId":"Email-edit_pop_quota","x-readonly":false,"description":"This function changes an email address's quota.","x-rollback":"clean","parameters":[{"in":"query","name":"email","schema":{"example":"user","type":"string"},"description":"The email account username.","required":true},{"name":"domain","in":"query","schema":{"type":"string","format":"domain","example":"example.com"},"description":"The email account's domain. Defaults to the cPanel account's main domain.","required":true},{"description":"The maximum amount of disk space that the new email account may use. Defaults to the system value.\n* A positive integer that represents the maximum amount of disk space, in megabytes (MB).\n\n**Note:**\n\nYou **cannot** enter a value that exceeds the maximum email quota.\n* `0` or `unlimited` — The account possesses unlimited disk space.\n\nIf the email account's quota value is set higher (or unlimited) than\nthe account's max quota, the account's max quota will be applied instead\nof the value entered.\n\n**Note:**\n\nThis value is only available to users without a maximum email account quota.","required":false,"schema":{"type":"string","example":"500"},"name":"quota","in":"query"}]}}},"security":[{"BasicAuth":[]}],"x-tagGroups":[{"name":"Email","tags":["Email Accounts"]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"tags":[{"description":"The Email module for UAPI.","name":"Email"},{"description":"Email / Email Accounts","name":"Email Accounts"}],"openapi":"3.0.2","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":{"description":"The cPanel port.","default":"2083"}}}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}}},"add_mailman_delegates":{"paths":{"/Email/add_mailman_delegates":{"get":{"tags":["Email","Mailing Lists"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"result":{"type":"object","properties":{"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"},"data":{"properties":{"metadata":{"type":"object","properties":{"transformed":{}}},"delegates":{"description":"An array of the mailing list's administrators.","items":{"type":"string","example":"admin@example.com, user@example.com"},"type":"array"}},"type":"object"},"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"},"example":null,"type":"array","nullable":true},"metadata":{"properties":{}},"status":{"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","example":1,"enum":[0,1],"type":"integer"}}},"module":{"type":"string","example":"Email","description":"The name of the module called."},"func":{"type":"string","example":"add_mailman_delegates","description":"The name of the method called."},"apiversion":{"type":"integer","example":3,"description":"The version of the API."}}}}}}},"operationId":"Email-add_mailman_delegates","x-readonly":false,"x-cpanel-api-version":"UAPI","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  add_mailman_delegates \\\n  list='mylist' \\\n  delegates='user@example.com'\n","lang":"Shell","label":"CLI"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Email/add_mailman_delegates?list=mylist&delegates=user%40example.com","label":"URL","lang":"HTTP"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_add_mailman_delegates.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_add_mailman_delegates.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/add_mailman_delegates/,\n    {\n        'list' => 'mylist',\n        'delegates' => 'user@example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_add_mailman_delegates.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_add_mailman_delegates.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'add_mailman_delegates',\n    array (\n        'list' => 'mylist',\n        'delegates' => 'user@example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Add administrators to mailing list","x-cpanel-available-version":"cPanel 11.42","parameters":[{"required":true,"description":"The mailing list.","schema":{"type":"string","example":"mylist"},"name":"list","in":"query"},{"examples":{"multiple":{"value":"delegates=user@example.com,admin@example.com","summary":"Multiple delegates"},"single":{"value":"user@example.com","summary":"A single delegate."}},"description":"A list of the administrators to add.\n\n**Note:**\n\n  Separate multiple email addresses with commas.","style":"form","schema":{"type":"string"},"explode":false,"name":"delegates","required":true,"in":"query"}],"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.","x-rollback":"none"}}},"security":[{"BasicAuth":[]}],"openapi":"3.0.2","tags":[{"description":"The Email module for UAPI.","name":"Email"},{"name":"Mailing Lists","description":"Email / Mailing Lists"}],"servers":[{"variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"x-tagGroups":[{"tags":["Mailing Lists"],"name":"Email"}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}}},"list_lists":{"security":[{"BasicAuth":[]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"x-tagGroups":[{"tags":["Mailing Lists"],"name":"Email"}],"openapi":"3.0.2","tags":[{"name":"Email","description":"The Email module for UAPI."},{"description":"Email / Mailing Lists","name":"Mailing Lists"}],"servers":[{"description":"A server running cPanel.","variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute"}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"}},"paths":{"/Email/list_lists":{"get":{"tags":["Email","Mailing Lists"],"parameters":[{"in":"query","name":"regex","schema":{"example":"user","type":"string"},"required":false,"description":"A [Perl Compatible Regular Expression (PCRE)](https://en.wikipedia.org/wiki/Perl_Compatible_Regular_Expressions) that filters the results."},{"required":false,"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.","schema":{"example":"example.com","type":"string","format":"domain"},"name":"domain","in":"query"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"result":{"properties":{"errors":{"example":null,"items":{"type":"string"},"description":"List of errors if the API failed.","nullable":true,"type":"array"},"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"},"data":{"items":{"type":"object","properties":{"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"},"listid":{"description":"The mailing list's name and domain. The mailing list name, an underscore (_), and the domain.","example":"list_example.com","type":"string"},"archive_private":{"type":"integer","description":"Whether the mailing list archive is `private`.\n* `1` - The mailing list archive is `private`.\n* `0` - The mailing list archive is `public`.","enum":[0,1],"example":0},"listadmin":{"type":"string","example":"admin@example.com,admin2@example.com","description":"The mailing list's administrators' email addresses. A comma-separated list of email addresses."},"list":{"type":"string","format":"email","description":"The mailing list name and domain.","example":"list@example.com"},"accesstype":{"type":"string","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"},"subscribe_policy":{"description":"The level of control that the mailing list administrator has over new subscribers.\n* `1` - Anyone can subscribe. The system sends a confirmation email.\n* `2` - The administrator **must** approve subscriptions. The system does **not** send a confirmation email.\n* `3` - The administrator **must** approve subscriptions. The system sends a confirmation email.","example":1,"enum":[1,2,3],"type":"integer"},"desthost":{"example":"172.16.254.1","oneOf":[{"format":"domain","type":"string"},{"type":"string","format":"ipv4"}],"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."},"advertised":{"description":"Whether the Mailman directory page displays the list.\n* `1` - The Mailman directory page displays the list.\n* `0` - The Mailman directory page does not display the list.","example":1,"enum":[0,1],"type":"integer"}}},"type":"array"},"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"},"example":null,"type":"array","nullable":true},"metadata":{"properties":{"transformed":{"type":"integer","enum":[1],"example":1,"description":"Post-processing may have transformed the data."}}},"status":{"type":"integer","description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","enum":[0,1],"example":1}},"type":"object"},"module":{"example":"Email","description":"The name of the module called.","type":"string"},"func":{"type":"string","description":"The name of the method called.","example":"list_lists"}}}}},"description":"HTTP Request was successful."}},"operationId":"Email-list_lists","x-readonly":true,"x-cpanel-api-version":"UAPI","summary":"Return cPanel account's mailing lists","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  list_lists\n","label":"CLI","lang":"Shell"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/Email/list_lists"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_list_lists.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_list_lists.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/list_lists/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_list_lists.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_list_lists.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'list_lists'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"x-cpanel-available-version":"cPanel 11.42","description":"This function lists the account's Mailman mailing lists."}}}},"terminate_mailbox_sessions":{"paths":{"/Email/terminate_mailbox_sessions":{"get":{"x-rollback":"none","description":"This function terminates all IMAP and POP3 connections for a cPanel account.\n\n**Note:**\n\nThis function ends connections for every email address, which includes the [default address](https://go.cpanel.net/cpaneldocsDefaultAddress).","summary":"Stop cPanel account IMAP and POP3 connections","x-cpanel-available-version":"cPanel 96","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  terminate_mailbox_sessions\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Email/terminate_mailbox_sessions","lang":"HTTP","label":"URL"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_terminate_mailbox_sessions.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_terminate_mailbox_sessions.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/terminate_mailbox_sessions/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_terminate_mailbox_sessions.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_terminate_mailbox_sessions.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'terminate_mailbox_sessions'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"x-cpanel-api-version":"UAPI","x-readonly":false,"operationId":"Email-terminate_mailbox_sessions","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"metadata":{"properties":{"version":{"type":"integer","example":1,"description":"The version of the API function."},"command":{"example":"terminate_mailbox_sessions","description":"The method name called.","type":"string"},"result":{"example":1,"enum":[0,1],"description":"* `1` - Success.\n* `0` - Failed. Check the `reason` field for more details.","type":"integer"},"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"}}}},"type":"object"}}},"description":"HTTP Request was successful."}},"tags":["Email","Email Accounts"],"parameters":[]}}},"security":[{"BasicAuth":[]}],"tags":[{"description":"The Email module for UAPI.","name":"Email"},{"name":"Email Accounts","description":"Email / Email Accounts"}],"servers":[{"description":"A server running cPanel.","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"url":"https://{host}:{port}/execute"}],"openapi":"3.0.2","components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"name":"Email","tags":["Email Accounts"]}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"}}},"hold_outgoing":{"servers":[{"description":"A server running cPanel.","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute"}],"tags":[{"description":"The Email module for UAPI.","name":"Email"},{"name":"Email Accounts","description":"Email / Email Accounts"}],"openapi":"3.0.2","x-tagGroups":[{"name":"Email","tags":["Email Accounts"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"security":[{"BasicAuth":[]}],"info":{"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"},"termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999"},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/Email/hold_outgoing":{"get":{"description":"This function sets Exim's queue to not send outgoing mail from an email account.\n\n**Notes:**\n\n* To send all mail from the queue, use the UAPI `Email::release_outgoing` function.\n* To reject outgoing mail and not place mail in a queue, use the UAPI `Email::suspend_outgoing` function.\n* This function does **not** hold local outgoing mail.","x-rollback":"none","parameters":[{"description":"The email account's username.","required":true,"schema":{"type":"string","format":"email","example":"username@example.com"},"in":"query","name":"email"}],"summary":"Stop email account's outgoing mail","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  hold_outgoing \\\n  email='username@example.com'\n","lang":"Shell","label":"CLI"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/Email/hold_outgoing?email=username%40example.com"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_hold_outgoing.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_hold_outgoing.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/hold_outgoing/,\n    {\n        'email' => 'username@example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_hold_outgoing.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_hold_outgoing.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'hold_outgoing',\n    array (\n        'email' => 'username@example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 70","x-cpanel-api-version":"UAPI","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"func":{"type":"string","example":"hold_outgoing","description":"The name of the method called."},"module":{"description":"The name of the module called.","example":"Email","type":"string"},"result":{"properties":{"status":{"enum":[0,1],"example":1,"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","type":"integer"},"warnings":{"nullable":true,"type":"array","example":null,"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"}},"data":{"type":"object","nullable":true,"default":null},"metadata":{"properties":{}},"errors":{"example":null,"description":"List of errors if the API failed.","items":{"type":"string"},"nullable":true,"type":"array"},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}}}},"apiversion":{"type":"integer","example":3,"description":"The version of the API."}},"type":"object"}}}}},"tags":["Email","Email Accounts"],"operationId":"Email-hold_outgoing","x-readonly":false}}}},"list_auto_responders":{"security":[{"BasicAuth":[]}],"x-tagGroups":[{"name":"Email","tags":["Email Accounts"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"openapi":"3.0.2","servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"description":"A server running cPanel."}],"tags":[{"name":"Email","description":"The Email module for UAPI."},{"description":"Email / Email Accounts","name":"Email Accounts"}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}},"paths":{"/Email/list_auto_responders":{"get":{"parameters":[{"in":"query","name":"domain","required":true,"description":"The domain name.","schema":{"example":"example.com","type":"string","format":"domain"}},{"schema":{"type":"string","example":"user"},"required":false,"description":"A [Perl Compatible Regular Expression (PCRE)](https://en.wikipedia.org/wiki/Perl_Compatible_Regular_Expressions) that filters the results.","name":"regex","in":"query"}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"apiversion":{"description":"The version of the API.","example":3,"type":"integer"},"func":{"example":"list_auto_responders","description":"The name of the method called.","type":"string"},"module":{"description":"The name of the module called.","example":"Email","type":"string"},"result":{"properties":{"status":{"example":1,"enum":[0,1],"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","type":"integer"},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"data":{"items":{"type":"object","properties":{"subject":{"type":"string","example":"Autoresponder Subject","description":"The contents of the autoresponder message's `Subject:` field."},"email":{"description":"The autoresponder's email address.","example":"user@example.com","type":"string","format":"email"}}},"type":"array"},"metadata":{"properties":{"transformed":{"example":1,"enum":[1],"description":"Post-processing may have transformed the data.","type":"integer"}}},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"messages":{"items":{"type":"string"},"description":"List of messages generated by the API.","example":null,"type":"array","nullable":true}},"type":"object"}},"type":"object"}}},"description":"HTTP Request was successful."}},"tags":["Email","Email Accounts"],"x-readonly":true,"operationId":"Email-list_auto_responders","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.","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  list_auto_responders \\\n  domain='example.com'\n"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/Email/list_auto_responders?domain=example.com"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_list_auto_responders.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_list_auto_responders.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/list_auto_responders/,\n    {\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_list_auto_responders.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_list_auto_responders.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'list_auto_responders',\n    array (\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Return domain's autoresponders","x-cpanel-available-version":"cPanel 11.42","x-cpanel-api-version":"UAPI"}}}},"disable_spam_assassin":{"openapi":"3.0.2","tags":[{"name":"Email","description":"The Email module for UAPI."},{"name":"Spam Management","description":"Email / Spam Management"}],"servers":[{"description":"A server running cPanel.","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"tags":["Spam Management"],"name":"Email"}],"security":[{"BasicAuth":[]}],"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/Email/disable_spam_assassin":{"get":{"x-readonly":false,"operationId":"Email-disable_spam_assassin","tags":["Email","Spam Management"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"func":{"example":"disable_spam_assassin","description":"The name of the method called.","type":"string"},"result":{"properties":{"messages":{"nullable":true,"type":"array","example":["Apache SpamAssassin™ has been disabled."],"description":"List of messages generated by the API.","items":{"type":"string"}},"errors":{"example":null,"items":{"type":"string"},"description":"List of errors if the API failed.","nullable":true,"type":"array"},"metadata":{"properties":{}},"warnings":{"example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","nullable":true,"type":"array"},"data":{"default":null,"type":"object","nullable":true},"status":{"type":"integer","description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","enum":[0,1],"example":1}}},"module":{"type":"string","description":"The name of the module called.","example":"Email"},"apiversion":{"type":"integer","description":"The version of the API.","example":3}}}}}}},"parameters":[],"x-rollback":"none","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"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_disable_spam_assassin.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_disable_spam_assassin.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/disable_spam_assassin/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_disable_spam_assassin.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_disable_spam_assassin.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'disable_spam_assassin'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"summary":"Disable Apache SpamAssassin for cPanel account","x-cpanel-available-version":"cPanel 11.42","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.","x-cpanel-api-version":"UAPI"}}}},"enable_mailbox_autocreate":{"security":[{"BasicAuth":[]}],"tags":[{"name":"Email","description":"The Email module for UAPI."},{"name":"Email Server Information","description":"Email / Email Server Information"}],"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."}}}],"openapi":"3.0.2","x-tagGroups":[{"name":"Email","tags":["Email Server Information"]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"},"termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."},"paths":{"/Email/enable_mailbox_autocreate":{"get":{"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.","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  enable_mailbox_autocreate \\\n  email='username@example.com'\n","label":"CLI","lang":"Shell"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/Email/enable_mailbox_autocreate?email=username%40example.com"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_enable_mailbox_autocreate.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_enable_mailbox_autocreate.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/enable_mailbox_autocreate/,\n    {\n        'email' => 'username@example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_enable_mailbox_autocreate.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_enable_mailbox_autocreate.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'enable_mailbox_autocreate',\n    array (\n        'email' => 'username@example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"x-cpanel-available-version":"cPanel 78","summary":"Enable cPanel account mailbox autocreation","x-cpanel-api-version":"UAPI","operationId":"Email-enable_mailbox_autocreate","x-readonly":false,"parameters":[{"in":"query","name":"email","schema":{"type":"string","example":"username@example.com"},"required":true,"description":"The email account for which to enable mailbox autocreation."}],"tags":["Email","Email Server Information"],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"func":{"description":"The name of the method called.","example":"enable_mailbox_autocreate","type":"string"},"result":{"properties":{"status":{"enum":[0,1],"example":1,"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","type":"integer"},"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null},"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"data":{"type":"integer","description":"Whether the function enabled mailbox autocreation for the cPanel account.\n- 1  Mailbox autocreation enabled.\n- 0  Mailbox autocreation is not enabled.","enum":[0,1],"example":1},"metadata":{"properties":{}}},"type":"object"},"module":{"type":"string","description":"The name of the module called.","example":"Email"},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}},"type":"object"}}},"description":"HTTP Request was successful."}}}}}},"count_auto_responders":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}},"security":[{"BasicAuth":[]}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"x-tagGroups":[{"tags":["Email Accounts"],"name":"Email"}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute"}],"tags":[{"name":"Email","description":"The Email module for UAPI."},{"name":"Email Accounts","description":"Email / Email Accounts"}],"paths":{"/Email/count_auto_responders":{"get":{"operationId":"Email-count_auto_responders","x-readonly":true,"parameters":[],"tags":["Email","Email Accounts"],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"module":{"type":"string","example":"Email","description":"The name of the module called."},"result":{"properties":{"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"},"example":null,"type":"array","nullable":true},"data":{"description":"The number of email autoresponders.\n* `0`\n* A positive integer.","example":1,"minimum":0,"type":"integer"},"metadata":{"properties":{"transformed":{"description":"Post-processing may have transformed the data.","enum":[1],"example":1,"type":"integer"}}},"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null},"status":{"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","example":1,"enum":[0,1],"type":"integer"}},"type":"object"},"func":{"description":"The name of the method called.","example":"count_auto_responders","type":"string"},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}},"type":"object"}}},"description":"HTTP Request was successful."}},"x-cpanel-api-version":"UAPI","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.","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  count_auto_responders\n","lang":"Shell","label":"CLI"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Email/count_auto_responders","lang":"HTTP","label":"URL"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_count_auto_responders.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_count_auto_responders.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/count_auto_responders/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_count_auto_responders.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_count_auto_responders.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'count_auto_responders'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Return cPanel account's autoresponders total","x-cpanel-available-version":"cPanel 82"}}}},"add_mx":{"paths":{"/Email/add_mx":{"get":{"parameters":[{"required":true,"description":"The new mail exchanger's domain.","schema":{"example":"example.com","type":"string","format":"domain"},"in":"query","name":"domain"},{"name":"exchanger","in":"query","schema":{"example":"mail.example.com","type":"string","format":"domain"},"description":"The new mail exchanger's name.","required":true},{"name":"priority","in":"query","required":true,"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.","schema":{"type":"integer","minimum":0,"example":5}},{"name":"alwaysaccept","in":"query","description":"Whether the mail exchanger accepts all mail for the domain.\n* `1` — The mail exchanger always accepts mail.\n* `0` — The mail exchanger does **not** always accept mail.","required":false,"schema":{"enum":[0,1],"example":1,"default":0,"type":"integer"}}],"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","x-readonly":false,"operationId":"Email-add_mx","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"module":{"type":"string","description":"The name of the module called.","example":"Email"},"result":{"type":"object","properties":{"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"},"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null},"metadata":{"properties":{}},"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API."},"data":{"type":"object","properties":{"statusmsg":{"description":"A message of success, or an error message.\n* A message of success that begins with `Added entry:`.\n* An error message.","example":"Added entry:\\nBind reloading on example using rndc zone: [example.com]\\n","type":"string"},"checkmx":{"description":"An object of the mail exchanger's data.","properties":{"warnings":{"items":{"example":"Auto Detect of MX configuration not possible due to non-resolving MX entries. Defaulting to last known setting: local.","type":"string"},"description":"Warning messages, if any exist.","type":"array"},"local":{"type":"integer","example":0,"enum":[0,1],"description":"Whether the mail exchanger is a local exchanger.\n* `1` - Local.\n* `0` - **Not** local."},"isprimary":{"enum":[0,1],"example":0,"description":"Whether the mail exchanger is the primary mail exchanger.\n* `1` - Primary.\n* `0` - **Not** primary.","type":"integer"},"changed":{"enum":[0,1],"example":1,"description":"Whether a change occurred during the function.\n* `1` - Change occurred.\n* `0` - **No** change.","type":"integer"},"issecondary":{"enum":[0,1],"example":0,"description":"Whether the mail exchanger is a secondary exchanger.\n* `1` - Secondary.\n* `0` - **Not** secondary.","type":"integer"},"detected":{"type":"string","enum":["auto","local","secondary","remote"],"example":"auto","description":"The mail exchanger type.\n* `auto`\n* `local`\n* `secondary`\n* `remote`"},"mxcheck":{"type":"string","enum":["auto","local","secondary","remote"],"example":"auto","description":"The mail exchanger type.\n* `auto`\n* `local`\n* `secondary`\n* `remote`"},"secondary":{"type":"integer","example":0,"enum":[0,1],"description":"Whether the mail exchanger is a secondary exchanger.\n* `1` - Secondary.\n* `0` - **Not** secondary."},"remote":{"example":0,"enum":[0,1],"description":"Whether the mail exchanger is a remote exchanger.\n* `1` - Remote.\n* `0` - **Not** remote.","type":"integer"}},"type":"object"},"results":{"type":"string","example":"Added entry:\\nBind reloading on example using rndc zone: [example.com]\\n","description":"A message of success, or an error message.\n* A message of success that begins with `Added entry:`.\n* An error message."},"status":{"description":"Whether the function succeeded.\n* `1` - Success.\n* `0` - Failure.","enum":[0,1],"example":1,"type":"integer"}}},"status":{"type":"integer","description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","example":1,"enum":[0,1]}}},"func":{"description":"The name of the method called.","example":"add_mx","type":"string"},"apiversion":{"type":"integer","description":"The version of the API.","example":3}}}}}}},"tags":["Email DNS Settings"],"x-cpanel-api-version":"UAPI","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"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_add_mx.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_add_mx.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/add_mx/,\n    {\n        'domain' => 'example.com',\n        'exchanger' => 'mail.example.com',\n        'priority' => '5',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_add_mx.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_add_mx.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'add_mx',\n    array (\n        'domain' => 'example.com',\n        'exchanger' => 'mail.example.com',\n        'priority' => '5',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"summary":"Create mail exchanger record","x-cpanel-available-version":"cPanel 11.42"}}},"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."},"externalDocs":{"url":"https://cpanel.net/developers/"},"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"x-tagGroups":[{"name":"DNS","tags":["Email DNS Settings"]}],"tags":[{"description":"DNS / Email DNS Settings","name":"Email DNS Settings"}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute"}],"security":[{"BasicAuth":[]}]},"set_default_address":{"paths":{"/Email/set_default_address":{"get":{"operationId":"Email-set_default_address","x-readonly":false,"parameters":[{"in":"query","name":"domain","schema":{"format":"domain","type":"string","example":"example.com"},"required":false,"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."},{"required":true,"description":"The method to use to handle unroutable mail.\n* `fwd` — Forward messages to the `fwdemail` parameter’s address.\n* `fail` — Bounce messages back to the sender, and include the `failmsgs` parameter’s failure message.\n* `blackhole` — Send messages to the `/dev/null/` directory. This method does **not** generate a failure notice.\n* `pipe` — Pipe mail to the `pipefwd` parameter’s application. This parameter requires the [File Storage role](https://go.cpanel.net/serverroles).","schema":{"enum":["fwd","fail","blackhole","pipe"],"example":"fwd","type":"string"},"in":"query","name":"fwdopt"},{"schema":{"type":"string","format":"email","example":"admin@example.com"},"required":false,"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"},{"name":"failmsgs","in":"query","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.","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"}},{"in":"query","name":"pipefwd","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).","required":false,"schema":{"example":"mailscript.pl","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"func":{"example":"set_default_address","description":"The name of the method called.","type":"string"},"module":{"type":"string","description":"The name of the module called.","example":"Email"},"result":{"properties":{"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"metadata":{"properties":{"transformed":{"description":"Post-processing may have transformed the data.","example":1,"enum":[1],"type":"integer"}}},"data":{"type":"array","items":{"properties":{"domain":{"description":"The domain. A valid domain on the account.","example":"example.com","type":"string"},"dest":{"example":"admin@example.com","description":"The destination to which the system sends unroutable mail.\n- An email address  The system forwards mail to this address.\n- :fail:  The system bounces mail back to the sender, and sends a failure message.\n- :blackhole:  The system deletes mail without a failure message.\n- The path to an application  The system pipes mail to this application.","type":"string"}},"type":"object"},"description":"An array of hashes of forwarder information. This array of hashes includes the domain and dest returns."},"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API."},"status":{"type":"integer","example":1,"enum":[0,1],"description":"- `1` — Success.\n- `0` — Failed. Check the `errors` field for more details."}},"type":"object"},"apiversion":{"type":"integer","example":3,"description":"The version of the API."}}}}},"description":"HTTP Request was successful."}},"tags":["Email","Email Accounts"],"x-rollback":"none","x-cpanel-api-version":"UAPI","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.","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  set_default_address \\\n  fwdopt='fwd'\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Email/set_default_address?fwdopt=fwd","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_set_default_address.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_set_default_address.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/set_default_address/,\n    {\n        'fwdopt' => 'fwd',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_set_default_address.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_set_default_address.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'set_default_address',\n    array (\n        'fwdopt' => 'fwd',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-available-version":"cPanel 11.42","summary":"Create default email address"}}},"info":{"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface’s features. Use this API to access and modify cPanel account data and settings.","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/"},"externalDocs":{"url":"https://cpanel.net/developers/"},"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute"}],"tags":[{"name":"Email","description":"The Email module for UAPI."},{"description":"Email / Email Accounts","name":"Email Accounts"}],"x-tagGroups":[{"tags":["Email Accounts"],"name":"Email"}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"security":[{"BasicAuth":[]}]},"delete_list":{"paths":{"/Email/delete_list":{"get":{"x-cpanel-available-version":"cPanel 11.42","summary":"Delete mailing list","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  delete_list \\\n  list='mylist'\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Email/delete_list?list=mylist","lang":"HTTP","label":"URL"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_delete_list.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_delete_list.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/delete_list/,\n    {\n        'list' => 'mylist',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_delete_list.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_delete_list.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'delete_list',\n    array (\n        'list' => 'mylist',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-api-version":"UAPI","tags":["Email","Mailing Lists"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"result":{"properties":{"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null},"data":{"default":null,"type":"object","nullable":true},"warnings":{"example":null,"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"},"metadata":{"properties":{"transformed":{"type":"integer","example":1,"enum":[1],"description":"Post-processing may have transformed the data."}}},"status":{"type":"integer","example":1,"enum":[0,1],"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details."}}},"module":{"example":"Email","description":"The name of the module called.","type":"string"},"func":{"type":"string","example":"delete_list","description":"The name of the method called."},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}}}}}}},"x-readonly":false,"operationId":"Email-delete_list","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.","x-rollback":"none","parameters":[{"in":"query","name":"list","required":true,"description":"The mailing list.","schema":{"type":"string","example":"mylist"}}]}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/"},"security":[{"BasicAuth":[]}],"tags":[{"description":"The Email module for UAPI.","name":"Email"},{"name":"Mailing Lists","description":"Email / Mailing Lists"}],"servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"description":"A server running cPanel."}],"openapi":"3.0.2","components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"name":"Email","tags":["Mailing Lists"]}]},"count_filters":{"paths":{"/Email/count_filters":{"get":{"x-readonly":true,"operationId":"Email-count_filters","parameters":[],"tags":["Email","Email Filtering"],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"func":{"description":"The name of the method called.","example":"count_filters","type":"string"},"result":{"type":"object","properties":{"metadata":{"properties":{"transformed":{"type":"integer","description":"Post-processing may have transformed the data.","enum":[1],"example":1}}},"errors":{"example":null,"description":"List of errors if the API failed.","items":{"type":"string"},"nullable":true,"type":"array"},"status":{"example":1,"enum":[0,1],"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","type":"integer"},"warnings":{"type":"array","nullable":true,"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"},"example":null},"data":{"example":1,"description":"The number of email filters.\n* `0`\n* A positive integer.","minimum":0,"type":"integer"},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}}}},"module":{"type":"string","example":"Email","description":"The name of the module called."},"apiversion":{"type":"integer","description":"The version of the API.","example":3}}}}},"description":"HTTP Request was successful."}},"x-cpanel-api-version":"UAPI","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.","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  count_filters\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Email/count_filters","lang":"HTTP","label":"URL"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_count_filters.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_count_filters.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/count_filters/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_count_filters.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_count_filters.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'count_filters'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"summary":"Return cPanel account's email filters total","x-cpanel-available-version":"cPanel 82"}}},"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"x-tagGroups":[{"name":"Email","tags":["Email Filtering"]}],"openapi":"3.0.2","tags":[{"name":"Email","description":"The Email module for UAPI."},{"name":"Email Filtering","description":"Email / Email Filtering"}],"servers":[{"variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"security":[{"BasicAuth":[]}],"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."},"externalDocs":{"url":"https://cpanel.net/developers/"}},"suspend_incoming":{"paths":{"/Email/suspend_incoming":{"get":{"x-readonly":false,"operationId":"Email-suspend_incoming","parameters":[{"schema":{"example":"user@example.com","type":"string","format":"email"},"required":false,"description":"The email user's account name.","in":"query","name":"email"}],"tags":["Email","Email Suspensions"],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"func":{"type":"string","description":"The name of the method called.","example":"suspend_incoming"},"result":{"properties":{"status":{"example":1,"enum":[0,1],"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","type":"integer"},"messages":{"example":null,"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"},"errors":{"nullable":true,"type":"array","example":null,"description":"List of errors if the API failed.","items":{"type":"string"}},"metadata":{"properties":{}},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"data":{"default":null,"nullable":true,"type":"object"}}},"module":{"type":"string","description":"The name of the module called.","example":"Email"},"apiversion":{"type":"integer","description":"The version of the API.","example":3}},"type":"object"}}},"description":"HTTP Request was successful."}},"x-rollback":"none","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  suspend_incoming\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Email/suspend_incoming","lang":"HTTP","label":"URL"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_suspend_incoming.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_suspend_incoming.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/suspend_incoming/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_suspend_incoming.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_suspend_incoming.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'suspend_incoming'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 54","summary":"Suspend email account incoming (SMTP) mail","description":"This function suspends incoming email for an account. The system will reject incoming email while the account is suspended.\n\n**Notes:**\n\n* The user can still log in to the email account. To suspend a user's ability to log in to, send mail from, and read their account, use the UAPI `Email::suspend_login` function.\n* Use the UAPI `Email::unsuspend_incoming` function to allow the account to receive email.\n\n**Important:**\n\nWhen you disable the [Receive Mail role](https://go.cpanel.net/serverroles), the system **disables** this function.","x-cpanel-api-version":"UAPI"}}},"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"x-tagGroups":[{"name":"Email","tags":["Email Suspensions"]}],"tags":[{"description":"The Email module for UAPI.","name":"Email"},{"description":"Email / Email Suspensions","name":"Email Suspensions"}],"openapi":"3.0.2","servers":[{"url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}},"description":"A server running cPanel."}],"security":[{"BasicAuth":[]}],"info":{"termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"externalDocs":{"url":"https://cpanel.net/developers/"}},"add_auto_responder":{"paths":{"/Email/add_auto_responder":{"get":{"parameters":[{"in":"query","name":"email","schema":{"type":"string","example":"user"},"description":"The email account name. For example, `user` if the email address is `user@example.com`.","required":true},{"in":"query","name":"from","description":"The contents of the autoresponder message's `From:` field.","required":true,"schema":{"example":"User Name","type":"string"}},{"in":"query","name":"subject","schema":{"example":"Autoresponder Subject","type":"string"},"description":"The contents of the autoresponder message's `Subject:` field.","required":true},{"in":"query","name":"body","description":"The contents of the autoresponder message's `Body` section.","required":true,"schema":{"example":"This is an autoresponder message.","type":"string"}},{"name":"domain","in":"query","schema":{"example":"example.com","format":"domain","type":"string"},"description":"The email account's domain. For example, `example.com` if the email address is `user@example.com`.","required":true},{"in":"query","name":"is_html","description":"Whether the body of the autoresponder message begins with an [HTML Content-Type declaration](https://en.wikipedia.org/wiki/Character_encodings_in_HTML#Specifying_the_document.27s_character_encoding).\n* `1` — Include an HTML content type declaration.\n* `0` — Do **not** include an HTML content type declaration.","required":true,"schema":{"enum":[0,1],"example":1,"type":"integer"}},{"name":"charset","in":"query","description":"The [character set](https://en.wikipedia.org/wiki/Character_encoding).","required":false,"schema":{"example":"UTF-8","default":"utf-8","type":"string"}},{"in":"query","name":"interval","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.","required":true,"schema":{"type":"integer","example":24,"minimum":0}},{"in":"query","name":"start","required":true,"description":"When to enable the autoresponder.","schema":{"example":1410277881,"format":"unix_timestamp","type":"integer"}},{"schema":{"example":1410300000,"format":"unix_timestamp","type":"integer"},"required":true,"description":"When to disable the autoresponder. A time that is after the `start` time.","in":"query","name":"stop"}],"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","x-readonly":false,"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"module":{"example":"Email","description":"The name of the module called.","type":"string"},"result":{"properties":{"status":{"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","enum":[0,1],"example":1,"type":"integer"},"metadata":{"properties":{}},"data":{"default":null,"nullable":true,"type":"object"},"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"},"example":null,"type":"array","nullable":true},"messages":{"example":null,"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"},"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null}}},"func":{"type":"string","example":"add_auto_responder","description":"The name of the method called."}},"type":"object"}}}}},"tags":["Email","Email Accounts"],"x-codeSamples":[{"lang":"Shell","label":"CLI","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"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/Email/add_auto_responder?email=user&from=User%20Name&subject=Autoresponder%20Subject&body=This%20is%20an%20autoresponder%20message.&domain=example.com&is_html=1&interval=24&start=1410277881&stop=1410300000"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_add_auto_responder.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_add_auto_responder.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/add_auto_responder/,\n    {\n        'email' => 'user',\n        'from' => 'User Name',\n        'subject' => 'Autoresponder Subject',\n        'body' => 'This is an autoresponder message.',\n        'domain' => 'example.com',\n        'is_html' => '1',\n        'interval' => '24',\n        'start' => '1410277881',\n        'stop' => '1410300000',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_add_auto_responder.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_add_auto_responder.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'add_auto_responder',\n    array (\n        'email' => 'user',\n        'from' => 'User Name',\n        'subject' => 'Autoresponder Subject',\n        'body' => 'This is an autoresponder message.',\n        'domain' => 'example.com',\n        'is_html' => '1',\n        'interval' => '24',\n        'start' => '1410277881',\n        'stop' => '1410300000',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Create email account's autoresponder","x-cpanel-available-version":"cPanel 11.42","x-cpanel-api-version":"UAPI"}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"},"version":"11.89.0.9999","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/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/"},"security":[{"BasicAuth":[]}],"openapi":"3.0.2","tags":[{"name":"Email","description":"The Email module for UAPI."},{"name":"Email Accounts","description":"Email / Email Accounts"}],"servers":[{"url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}},"description":"A server running cPanel."}],"x-tagGroups":[{"name":"Email","tags":["Email Accounts"]}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}}},"get_webmail_settings":{"paths":{"/Email/get_webmail_settings":{"get":{"x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  get_webmail_settings\n","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Email/get_webmail_settings","label":"URL","lang":"HTTP"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_get_webmail_settings.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_get_webmail_settings.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/get_webmail_settings/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_get_webmail_settings.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_get_webmail_settings.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'get_webmail_settings'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Return email account's Webmail settings","x-cpanel-available-version":"cPanel 11.42","description":"This function retrieves an email account's Webmail settings.\n\n**Important:**\n\nWhen you disable the [_Receive Mail_ role](https://go.cpanel.net/serverroles), the system **disables** this function.","x-cpanel-api-version":"UAPI","parameters":[{"schema":{"oneOf":[{"example":"user@example.com","format":"email","type":"string"},{"format":"username","type":"string","example":"user"}]},"description":"The email account.\n\n**Note:**\n\nIf you do **not** specify a value, the function retrieves settings for the cPanel account's default mail account.","required":false,"name":"account","in":"query"}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"module":{"type":"string","description":"The name of the module called.","example":"Email"},"result":{"properties":{"status":{"type":"integer","description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","example":1,"enum":[0,1]},"messages":{"example":null,"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"},"errors":{"nullable":true,"type":"array","example":null,"description":"List of errors if the API failed.","items":{"type":"string"}},"metadata":{"properties":{}},"warnings":{"example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","nullable":true,"type":"array"},"data":{"properties":{"has_maildir":{"description":"Whether `Maildir` is enabled for the email account.\n\n* `1` — Enabled.\n\nIt is not possible to disable `Maildir`.","example":1,"enum":[1],"type":"integer"},"domain":{"example":"mail.example.com","description":"The email account's mail server hostname.","type":"string","format":"domain"},"user":{"description":"The email account.","oneOf":[{"example":"user@example.com","format":"email","type":"string"},{"example":"user","format":"username","type":"string"}]}},"type":"object"}},"type":"object"},"func":{"example":"get_webmail_settings","description":"The name of the method called.","type":"string"}},"type":"object"}}},"description":"HTTP Request was successful."}},"tags":["Email","Email Accounts"],"x-readonly":true,"operationId":"Email-get_webmail_settings"}}},"x-tagGroups":[{"tags":["Email Accounts"],"name":"Email"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"tags":[{"description":"The Email module for UAPI.","name":"Email"},{"name":"Email Accounts","description":"Email / Email Accounts"}],"openapi":"3.0.2","servers":[{"variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"security":[{"BasicAuth":[]}],"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."},"externalDocs":{"url":"https://cpanel.net/developers/"}},"list_pops":{"paths":{"/Email/list_pops":{"get":{"summary":"Return email accounts","x-cpanel-available-version":"cPanel 11.42","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  list_pops\n","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Email/list_pops","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_list_pops.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_list_pops.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/list_pops/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_list_pops.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_list_pops.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'list_pops'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"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.","x-cpanel-api-version":"UAPI","parameters":[{"schema":{"example":"user","type":"string"},"required":false,"description":"A [Perl Compatible Regular Expression (PCRE)](https://en.wikipedia.org/wiki/Perl_Compatible_Regular_Expressions) that filters the results.","name":"regex","in":"query"},{"name":"no_validate","in":"query","description":"Whether to skip the email database's validation check.\n* `1` — Skip the validation check.\n* `0` — Run the validation check.","required":false,"schema":{"example":1,"default":0,"enum":[0,1],"type":"integer"}},{"required":false,"description":"Whether to exclude the cPanel account's main account from the results.\n* `1` — Exclude the main account.\n* `0` — Include the main account.","schema":{"type":"integer","enum":[0,1],"example":0,"default":0},"in":"query","name":"skip_main"}],"tags":["Email","Email Accounts"],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"type":"integer","description":"The version of the API.","example":3},"func":{"type":"string","description":"The name of the method called.","example":"list_pops"},"result":{"properties":{"status":{"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","enum":[0,1],"example":1,"type":"integer"},"metadata":{"properties":{"transformed":{"example":1,"enum":[1],"description":"Post-processing may have transformed the data.","type":"integer"}}},"data":{"items":{"properties":{"email":{"oneOf":[{"type":"string","format":"email"},{"format":"username","type":"string"}],"description":"An email address.\n* A valid email address on the cPanel account.\n* The cPanel account username, for the main account.","example":"user@example.com"},"suspended_login":{"type":"integer","enum":[0,1],"example":0,"description":"Whether logins for the email account are suspended.\n* `1` - Suspended.\n* `0` - Not suspended."},"login":{"example":"user@example.com","oneOf":[{"type":"string","format":"email"},{"type":"string","enum":["Main Account"]}],"description":"The email account login.\n* A valid email address on the cPanel account.\n* `Main Account`, for the main account."},"suspended_incoming":{"type":"integer","description":"Whether incoming email for the email account is suspended.\n* `1` - Suspended.\n* `0` - Not suspended.","enum":[0,1],"example":0}},"type":"object"},"description":"An object of data for an email address on the cPanel account.","type":"array"},"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"},"example":null,"type":"array","nullable":true},"messages":{"example":null,"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"},"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null}},"type":"object"},"module":{"type":"string","description":"The name of the module called.","example":"Email"}}}}},"description":"HTTP Request was successful."}},"operationId":"Email-list_pops","x-readonly":true}}},"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."},"externalDocs":{"url":"https://cpanel.net/developers/"},"x-tagGroups":[{"name":"Email","tags":["Email Accounts"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}}}],"tags":[{"name":"Email","description":"The Email module for UAPI."},{"name":"Email Accounts","description":"Email / Email Accounts"}],"security":[{"BasicAuth":[]}]},"delete_pop":{"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"x-tagGroups":[{"name":"Email","tags":["Email Accounts"]}],"tags":[{"name":"Email","description":"The Email module for UAPI."},{"name":"Email Accounts","description":"Email / Email Accounts"}],"openapi":"3.0.2","servers":[{"variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"security":[{"BasicAuth":[]}],"info":{"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/Email/delete_pop":{"get":{"x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  delete_pop \\\n  email='user@domain.com'\n","lang":"Shell","label":"CLI"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/Email/delete_pop?email=user%40domain.com"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_delete_pop.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_delete_pop.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/delete_pop/,\n    {\n        'email' => 'user@domain.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_delete_pop.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_delete_pop.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'delete_pop',\n    array (\n        'email' => 'user@domain.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 11.42","summary":"Delete email account","x-cpanel-api-version":"UAPI","tags":["Email","Email Accounts"],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"module":{"example":"Email","description":"The name of the module called.","type":"string"},"result":{"properties":{"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."},"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null},"metadata":{"properties":{}},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"data":{"nullable":true,"type":"object","default":null},"status":{"type":"integer","enum":[0,1],"example":1,"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details."}}},"func":{"example":"delete_pop","description":"The name of the method called.","type":"string"},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}},"type":"object"}}},"description":"HTTP Request was successful."}},"x-readonly":false,"operationId":"Email-delete_pop","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.","x-rollback":"lossy","parameters":[{"schema":{"anyOf":[{"example":"user@domain.com","type":"string","format":"email"},{"example":"user","type":"string"}]},"required":true,"description":"The email account username or address.\n* A valid email account username. For example, `user` if the email address is `user@example.com`.\n* A valid email address.","example":"user@domain.com","name":"email","in":"query"},{"required":false,"description":"Whether to remove the mail account's home mail directory. If you do not specify a value, the function removes the mail account's home directory.\n* `passwd` — Preserve the mail account's home directory.\n* Any other value — Remove the mail account's home directory.","schema":{"example":"passwd","type":"string"},"in":"query","name":"flags"},{"name":"domain","in":"query","schema":{"type":"string","format":"domain","default":"The cPanel account's main domain.","example":"example.com"},"description":"The email account's domain. For example, `example.com` if the email address is `user@example.com`.","required":false},{"in":"query","name":"skip_quota","schema":{"default":0,"example":0,"enum":[0,1],"type":"integer"},"required":false,"description":"Whether to modify the mail account's quota file.\n* `1` — Do **not** modify.\n* `0` — Modify."}]}}}},"unsuspend_outgoing":{"info":{"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/","contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"x-tagGroups":[{"tags":["Email Suspensions"],"name":"Email"}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"tags":[{"description":"The Email module for UAPI.","name":"Email"},{"description":"Email / Email Suspensions","name":"Email Suspensions"}],"servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"description":"A server running cPanel."}],"openapi":"3.0.2","security":[{"BasicAuth":[]}],"paths":{"/Email/unsuspend_outgoing":{"get":{"parameters":[{"name":"email","in":"query","schema":{"example":"username@example.com","type":"string"},"description":"The email account's username.","required":true}],"x-rollback":"none","description":"This function cancels the suspension action put in place by the UAPI `Email::suspend_outgoing`\nfunction for outgoing mail for an email account.\n\n**Note:**\n\nTo suspend an email account and reject all outgoing mail, use the UAPI `Email::suspend_outgoing` function.        ","operationId":"Email-unsuspend_outgoing","x-readonly":false,"tags":["Email","Email Suspensions"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"func":{"type":"string","example":"unsuspend_outgoing","description":"The name of the method called."},"result":{"properties":{"status":{"type":"integer","description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","example":1,"enum":[1,0]},"data":{"type":"object","nullable":true,"default":null},"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null,"type":"array","nullable":true},"metadata":{"properties":{}},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"messages":{"example":null,"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"}}},"module":{"example":"Email","description":"The name of the module called.","type":"string"}},"type":"object"}}}}},"x-cpanel-api-version":"UAPI","summary":"Unsuspend email account outgoing mail","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  unsuspend_outgoing \\\n  email='username@example.com'\n","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Email/unsuspend_outgoing?email=username%40example.com","lang":"HTTP","label":"URL"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_unsuspend_outgoing.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_unsuspend_outgoing.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/unsuspend_outgoing/,\n    {\n        'email' => 'username@example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_unsuspend_outgoing.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_unsuspend_outgoing.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'unsuspend_outgoing',\n    array (\n        'email' => 'username@example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-available-version":"cPanel 70"}}}},"is_integer":{"security":[{"BasicAuth":[]}],"openapi":"3.0.2","tags":[{"description":"The Email module for UAPI.","name":"Email"},{"name":"Email Server Information","description":"Email / Email Server Information."}],"servers":[{"description":"A server running cPanel.","variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute"}],"x-tagGroups":[{"tags":["Email Server Information"],"name":"Email"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/"},"paths":{"/Email/is_integer":{"get":{"deprecated":true,"description":"This function is deprecated and does not return useful output.","x-cpanel-internal-only":true,"parameters":[],"summary":"Determine if a value is an integer","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  is_integer\n"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/Email/is_integer"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_is_integer.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_is_integer.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\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/is_integer/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_is_integer.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_is_integer.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/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    'is_integer'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 11.44 and earlier","x-cpanel-api-version":"UAPI","operationId":"Email-is_integer","x-readonly":true,"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"result":{"properties":{"status":{"example":1,"enum":[0,1],"description":"* `1` - Success\n* `0` - Failed: Check the errors field for more details.","type":"integer"},"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null},"errors":{"example":null,"items":{"type":"string"},"description":"List of errors if the API failed.","nullable":true,"type":"array"},"metadata":{"properties":{}},"data":{"nullable":true,"type":"object","default":null},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null}}},"module":{"type":"string","description":"The name of the module called.","example":"Email"},"func":{"description":"The name of the method called.","example":"is_integer","type":"string"},"apiversion":{"example":3,"description":"The version of the API.","type":"integer"}},"type":"object"}}},"description":"HTTP Request was successful."}},"tags":["Email Server Information","Email"]}}}},"get_main_account_disk_usage_bytes":{"info":{"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"x-tagGroups":[{"tags":["Email Accounts"],"name":"Email"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"openapi":"3.0.2","tags":[{"name":"Email","description":"The Email module for UAPI."},{"name":"Email Accounts","description":"Email / Email Accounts"}],"servers":[{"description":"A server running cPanel.","variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute"}],"security":[{"BasicAuth":[]}],"paths":{"/Email/get_main_account_disk_usage_bytes":{"get":{"description":"This function returns the disk space that the cPanel account uses.\n\n**Important:**\n\nWhen you disable the [Receive Mail](https://go.cpanel.net/serverroles) role, the system **disables** this function.","summary":"Return primary email account's disk usage in bytes","x-cpanel-available-version":"cPanel 64","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  get_main_account_disk_usage_bytes\n","lang":"Shell","label":"CLI"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Email/get_main_account_disk_usage_bytes","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_get_main_account_disk_usage_bytes.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_get_main_account_disk_usage_bytes.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/get_main_account_disk_usage_bytes/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_get_main_account_disk_usage_bytes.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_get_main_account_disk_usage_bytes.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'get_main_account_disk_usage_bytes'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-api-version":"UAPI","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"result":{"properties":{"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null},"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null},"metadata":{"properties":{}},"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"},"example":null,"type":"array","nullable":true},"data":{"type":"integer","description":"The current amount of disk space that the main email account uses, in bytes.","example":3076},"status":{"description":"* `1` - Success\n* `0` - Failed: Check the errors field for more details.","enum":[0,1],"example":1,"type":"integer"}},"type":"object"},"module":{"description":"The name of the module called.","example":"Email","type":"string"},"func":{"type":"string","description":"The name of the method called.","example":"get_main_account_disk_usage_bytes"},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}},"type":"object"}}},"description":"HTTP Request was successful."}},"parameters":[],"tags":["Email","Email Accounts"],"operationId":"Email-get_main_account_disk_usage_bytes","x-readonly":true}}}},"list_mxs":{"paths":{"/Email/list_mxs":{"get":{"x-cpanel-api-version":"UAPI","summary":"Return mail exchanger records","x-cpanel-available-version":"cPanel 11.42","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  list_mxs\n"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/Email/list_mxs"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_list_mxs.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_list_mxs.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/list_mxs/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_list_mxs.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_list_mxs.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'list_mxs'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"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.","tags":["Email DNS Settings"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"description":"The version of the API.","example":3,"type":"integer"},"func":{"example":"list_mxs","description":"The name of the method called.","type":"string"},"module":{"type":"string","example":"Email","description":"The name of the module called."},"result":{"type":"object","properties":{"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"},"example":null,"type":"array","nullable":true},"data":{"properties":{},"type":"array","items":{"type":"object","properties":{"domain":{"format":"domain","type":"string","example":"example.com","description":"The domain name."},"entries":{"type":"array","items":{"type":"object","properties":{"entrycount":{"type":"integer","example":1,"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`.","minimum":1},"row":{"description":"Whether the mail exchanger is an odd or an even entry.\n* `even`\n* `odd`","enum":["even","odd"],"example":"odd","type":"string"},"domain":{"description":"The mail exchanger's domain.","example":"example.com","format":"domain","type":"string"},"mx":{"description":"The mail exchanger's name.","example":"mx.example.com","format":"domain","type":"string"},"priority":{"type":"integer","minimum":0,"description":"The mail exchanger's [priority value](https://go.cpanel.net/whmdocsEditMXEntry).","example":5}}},"description":"An array of objects that contains information about mail exchangers."},"local":{"enum":[0,1],"example":1,"description":"Whether the domain's highest priority mail exchanger is a local mail exchanger.\n* `1` - Local.\n* `0` - **Not** local.","type":"integer"},"mx":{"description":"The domain's highest-priority mail exchanger's name.","example":"mx.example.com","format":"domain","type":"string"},"status":{"enum":[0,1],"example":1,"description":"Whether the function succeeded.\n* `1` - Success.\n* `0` - Failure.","type":"integer"},"statusmsg":{"type":"string","description":"A success or error message message.\n* A success message.\n* An error message.","example":"Fetched MX List"},"mxcheck":{"description":"The domain's highest-priority mail exchanger's type.\n* `auto`\n* `local`\n* `remote`\n* `secondary`","example":"auto","enum":["auto","local","remote","secondary"],"type":"string"},"secondary":{"example":0,"enum":[0,1],"description":"Whether the domain's highest-priority mail exchanger is secondary.\n* `1` - Secondary.\n* `0` - **Not** secondary.","type":"integer"},"detected":{"type":"string","example":"local","enum":["auto","local","remote","secondary"],"description":"The domain's highest-priority mail exchanger's type.\n* `auto`\n* `local`\n* `remote`\n* `secondary`"},"remote":{"type":"integer","description":"Whether the domain's highest-priority mail exchanger is remote.\n* `1` - Remote.\n* `0` - **Not** remote.","enum":[0,1],"example":0},"alwaysaccept":{"type":"integer","enum":[0,1],"example":1,"description":"Whether the domain's highest-priority mail exchanger accepts local mail.\n* `1` - Accept local mail.\n* `0` - Does **not** accept local mail."}}}},"metadata":{"properties":{"transformed":{"type":"integer","enum":[1],"example":1,"description":"Post-processing may have transformed the data."}}},"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null},"status":{"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","example":1,"enum":[0,1],"type":"integer"}}}}}}}}},"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.","required":false,"schema":{"format":"domain","type":"string","example":"example.com"},"in":"query","name":"domain"}],"x-readonly":true,"operationId":"Email-list_mxs"}}},"info":{"contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI"},"externalDocs":{"url":"https://cpanel.net/developers/"},"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}}}],"tags":[{"name":"Email DNS Settings","description":"DNS / Email DNS Settings"}],"x-tagGroups":[{"tags":["Email DNS Settings"],"name":"DNS"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"security":[{"BasicAuth":[]}]},"release_outgoing":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","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.","version":"11.89.0.9999","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/"},"security":[{"BasicAuth":[]}],"tags":[{"name":"Email","description":"The Email module for UAPI."},{"description":"Email / Email Accounts","name":"Email Accounts"}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}}}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"x-tagGroups":[{"tags":["Email Accounts"],"name":"Email"}],"paths":{"/Email/release_outgoing":{"get":{"x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  release_outgoing \\\n  email='username@example.com'\n","lang":"Shell","label":"CLI"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Email/release_outgoing?email=username%40example.com","label":"URL","lang":"HTTP"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_release_outgoing.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_release_outgoing.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/release_outgoing/,\n    {\n        'email' => 'username@example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_release_outgoing.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_release_outgoing.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'release_outgoing',\n    array (\n        'email' => 'username@example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 70","summary":"Start email account outgoing mail","description":"This function sends all of the outgoing mail from Exim's queue for an email account.\n\n**Note:**\n\nTo set Exim to queue all outgoing mail for an email account, use the UAPI `Email::hold_outgoing` function.","x-cpanel-api-version":"UAPI","x-rollback":"none","parameters":[{"in":"query","name":"email","required":true,"description":"The email account's username.","schema":{"example":"username@example.com","format":"email","type":"string"}}],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"result":{"properties":{"status":{"type":"integer","enum":[0,1],"example":1,"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details."},"data":{"nullable":true,"type":"object","default":null},"warnings":{"type":"array","nullable":true,"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"},"example":null},"metadata":{"properties":{}},"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}}}},"module":{"type":"string","description":"The name of the module called.","example":"Email"},"func":{"description":"The name of the method called.","example":"release_outgoing","type":"string"},"apiversion":{"type":"integer","example":3,"description":"The version of the API."}}}}}}},"tags":["Email","Email Accounts"],"x-readonly":false,"operationId":"Email-release_outgoing"}}}},"count_pops":{"paths":{"/Email/count_pops":{"get":{"operationId":"Email-count_pops","x-readonly":true,"tags":["Email","Email Accounts"],"parameters":[],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"module":{"description":"The name of the module called.","example":"Email","type":"string"},"result":{"properties":{"status":{"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","enum":[0,1],"example":1,"type":"integer"},"errors":{"example":null,"description":"List of errors if the API failed.","items":{"type":"string"},"nullable":true,"type":"array"},"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"},"data":{"example":1,"description":"The number of email accounts.\n* `0`\n* A positive integer.","minimum":0,"type":"integer"},"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API."},"metadata":{"properties":{"transformed":{"description":"Post-processing may have transformed the data.","example":1,"enum":[1],"type":"integer"}}}},"type":"object"},"func":{"type":"string","description":"The name of the method called.","example":"count_pops"},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}},"type":"object"}}}}},"x-cpanel-api-version":"UAPI","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  count_pops\n","label":"CLI","lang":"Shell"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/Email/count_pops"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_count_pops.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_count_pops.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/count_pops/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_count_pops.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_count_pops.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'count_pops'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Return cPanel account's email account total","x-cpanel-available-version":"cPanel 82","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."}}},"info":{"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"x-tagGroups":[{"name":"Email","tags":["Email Accounts"]}],"servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"name":"Email","description":"The Email module for UAPI."},{"description":"Email / Email Accounts","name":"Email Accounts"}],"security":[{"BasicAuth":[]}]},"set_list_privacy_options":{"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":{"description":"The cPanel port.","default":"2083"}}}],"openapi":"3.0.2","tags":[{"description":"The Email module for UAPI.","name":"Email"},{"name":"Mailing Lists","description":"Email / Mailing Lists"}],"x-tagGroups":[{"name":"Email","tags":["Mailing Lists"]}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"security":[{"BasicAuth":[]}],"info":{"termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/Email/set_list_privacy_options":{"get":{"parameters":[{"schema":{"example":"mylist","type":"string"},"required":true,"description":"The mailing list name.","in":"query","name":"list"},{"required":true,"description":"Whether the Mailman directory page displays the list.\n* `1` - Display.\n* `0` - Does **not** display.","schema":{"type":"integer","example":1,"enum":[0,1]},"in":"query","name":"advertised"},{"schema":{"example":1,"enum":[0,1],"type":"integer"},"description":"Whether the mailing list archive is private.\n* `1` - Private.\n* `0` - Public.","required":true,"in":"query","name":"archive_private"},{"required":true,"description":"The level of control that the mailing list administrator has over new subscribers.\n* `1` - Anyone can subscribe. The system sends a confirmation email.\n* `2` - The administrator **must** approve subscriptions. The system does **not** send a confirmation email.\n* `3` - The administrator **must** approve subscriptions. The system sends a confirmation email.","schema":{"example":1,"enum":[1,2,3],"type":"integer"},"name":"subscribe_policy","in":"query"}],"description":"This function modifies a Mailman mailing list's privacy options.\n\n**Important:**\n\nWhen you disable the [Receive Mail role](https://go.cpanel.net/serverroles), the system **disables** this function.","x-rollback":"none","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"type":"integer","description":"The version of the API.","example":3},"result":{"properties":{"status":{"example":1,"enum":[0,1],"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","type":"integer"},"metadata":{"properties":{"transformed":{"type":"integer","description":"Post-processing may have transformed the data.","enum":[1],"example":1}}},"data":{"nullable":true,"type":"object","default":null},"warnings":{"type":"array","nullable":true,"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"},"example":null},"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"},"errors":{"example":null,"description":"List of errors if the API failed.","items":{"type":"string"},"nullable":true,"type":"array"}}},"module":{"type":"string","example":"Email","description":"The name of the module called."},"func":{"type":"string","example":"set_list_privacy_options","description":"The name of the method called."}}}}}}},"tags":["Email","Mailing Lists"],"operationId":"Email-set_list_privacy_options","x-readonly":false,"x-codeSamples":[{"lang":"Shell","label":"CLI","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"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/Email/set_list_privacy_options?list=mylist&advertised=1&archive_private=1&subscribe_policy=1"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_set_list_privacy_options.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_set_list_privacy_options.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/set_list_privacy_options/,\n    {\n        'list' => 'mylist',\n        'advertised' => '1',\n        'archive_private' => '1',\n        'subscribe_policy' => '1',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_set_list_privacy_options.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_set_list_privacy_options.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'set_list_privacy_options',\n    array (\n        'list' => 'mylist',\n        'advertised' => '1',\n        'archive_private' => '1',\n        'subscribe_policy' => '1',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 11.42","summary":"Update mailing list privacy options","x-cpanel-api-version":"UAPI"}}}},"suspend_outgoing":{"paths":{"/Email/suspend_outgoing":{"get":{"x-cpanel-available-version":"cPanel 70","summary":"Suspend email account outgoing mail","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  suspend_outgoing \\\n  email='username@example.com'\n","lang":"Shell","label":"CLI"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/Email/suspend_outgoing?email=username%40example.com"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_suspend_outgoing.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_suspend_outgoing.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/suspend_outgoing/,\n    {\n        'email' => 'username@example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_suspend_outgoing.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_suspend_outgoing.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'suspend_outgoing',\n    array (\n        'email' => 'username@example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-api-version":"UAPI","operationId":"Email-suspend_outgoing","x-readonly":false,"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"module":{"description":"The name of the module called.","example":"Email","type":"string"},"result":{"properties":{"data":{"type":"integer","description":"Whether the function succeeded.\n* `1` — The function succeeded.\n* `0` — The function failed.","enum":[0,1],"example":1},"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API."},"metadata":{"properties":{}},"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null},"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null},"status":{"type":"integer","description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","example":1,"enum":[0,1]}},"type":"object"},"func":{"description":"The name of the method called.","example":"suspend_outgoing","type":"string"},"apiversion":{"example":3,"description":"The version of the API.","type":"integer"}},"type":"object"}}}}},"tags":["Email","Email Suspensions"],"x-rollback":"none","description":"This function rejects outgoing mail for a suspended email account. This function does **not** disable a user's login credentials or access permissions to their email account.\n\n**Notes:**\n\n* To suspend a user's login credentials and prevent authenticated connections to the email account, use the UAPI `Email::suspend_login` function.\n* To allow an email account to send mail, use the UAPI `Email::unsuspend_outgoing` function.\n* To hold outgoing mail in Exim's queue, use the UAPI `Email::hold_outgoing` function.\n\n**Important:**\n\nWhen you disable the [Send Mail role](https://go.cpanel.net/serverroles), the system **disables** this function.","parameters":[{"schema":{"type":"string","format":"email","example":"username@example.com"},"required":true,"description":"The email account's username.","name":"email","in":"query"}]}}},"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."},"externalDocs":{"url":"https://cpanel.net/developers/"},"x-tagGroups":[{"name":"Email","tags":["Email Suspensions"]}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"openapi":"3.0.2","servers":[{"variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"tags":[{"name":"Email","description":"The Email module for UAPI."},{"description":"Email / Email Suspensions","name":"Email Suspensions"}],"security":[{"BasicAuth":[]}]},"disable_mailbox_autocreate":{"paths":{"/Email/disable_mailbox_autocreate":{"get":{"x-cpanel-api-version":"UAPI","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.","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  disable_mailbox_autocreate \\\n  email='username@example.com'\n","lang":"Shell","label":"CLI"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/Email/disable_mailbox_autocreate?email=username%40example.com"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_disable_mailbox_autocreate.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_disable_mailbox_autocreate.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/disable_mailbox_autocreate/,\n    {\n        'email' => 'username@example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_disable_mailbox_autocreate.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_disable_mailbox_autocreate.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'disable_mailbox_autocreate',\n    array (\n        'email' => 'username@example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Disable cPanel account mailbox autocreation","x-cpanel-available-version":"cPanel 78","x-rollback":"none","parameters":[{"schema":{"example":"username@example.com","format":"email","type":"string"},"description":"The email account address for which to disable mailbox autocreation.","required":true,"name":"email","in":"query"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"module":{"description":"The name of the module called.","example":"Email","type":"string"},"result":{"properties":{"metadata":{"properties":{}},"errors":{"example":null,"description":"List of errors if the API failed.","items":{"type":"string"},"nullable":true,"type":"array"},"status":{"type":"integer","description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","enum":[0,1],"example":1},"data":{"type":"integer","enum":[0,1],"example":1,"description":"Whether the function disabled mailbox autocreation for the cPanel account.\n* `1` - Mailbox autocreation disabled.\n* `0` - Mailbox autocreation is **not** disabled."},"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null,"type":"array","nullable":true},"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null}},"type":"object"},"func":{"description":"The name of the method called.","example":"disable_mailbox_autocreate","type":"string"},"apiversion":{"type":"integer","description":"The version of the API.","example":3}}}}},"description":"HTTP Request was successful."}},"tags":["Email","Email Server Information"],"x-readonly":false,"operationId":"Email-disable_mailbox_autocreate"}}},"info":{"license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"x-tagGroups":[{"name":"Email","tags":["Email Server Information"]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"tags":[{"name":"Email","description":"The Email module for UAPI."},{"name":"Email Server Information","description":"Email / Email Server Information"}],"openapi":"3.0.2","servers":[{"url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}},"description":"A server running cPanel."}],"security":[{"BasicAuth":[]}]},"generate_mailman_otp":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"},"title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."},"security":[{"BasicAuth":[]}],"x-tagGroups":[{"name":"Email","tags":["Mailing Lists"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"openapi":"3.0.2","tags":[{"name":"Email","description":"The Email module for UAPI."},{"name":"Mailing Lists","description":"Email / Mailing Lists"}],"servers":[{"description":"A server running cPanel.","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute"}],"paths":{"/Email/generate_mailman_otp":{"get":{"x-rollback":"none","description":"This function generates a one-time password (OTP) for a mailing list.\n\n**Note:**\n\nThe generated password expires after one use.\n\n**Important:**\n\nWhen you disable the [Receive Mail role](https://go.cpanel.net/serverroles), the system **disables** this function.","summary":"Create one-time password for a mailing list","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  generate_mailman_otp \\\n  list='mylist'\n"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/Email/generate_mailman_otp?list=mylist"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_generate_mailman_otp.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_generate_mailman_otp.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/generate_mailman_otp/,\n    {\n        'list' => 'mylist',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_generate_mailman_otp.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_generate_mailman_otp.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'generate_mailman_otp',\n    array (\n        'list' => 'mylist',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 11.42","x-cpanel-api-version":"UAPI","x-readonly":false,"operationId":"Email-generate_mailman_otp","parameters":[{"schema":{"type":"string","example":"mylist"},"required":true,"description":"The mailing list.","in":"query","name":"list"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"result":{"properties":{"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null},"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null},"metadata":{"properties":{"transformed":{"type":"integer","enum":[1],"example":1,"description":"Post-processing may have transformed the data."}}},"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null,"type":"array","nullable":true},"data":{"type":"string","example":"LfFYLPRT_UoS4EDi9lGKuOFK8FaWQsozzPYn8WjM3","description":"The new one-time password."},"status":{"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","example":1,"enum":[0,1],"type":"integer"}},"type":"object"},"module":{"type":"string","example":"Email","description":"The name of the module called."},"func":{"example":"generate_mailman_otp","description":"The name of the method called.","type":"string"}}}}},"description":"HTTP Request was successful."}},"tags":["Email","Mailing Lists"]}}}},"get_max_email_quota":{"paths":{"/Email/get_max_email_quota":{"get":{"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.","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  get_max_email_quota\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Email/get_max_email_quota","lang":"HTTP","label":"URL"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_get_max_email_quota.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_get_max_email_quota.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/get_max_email_quota/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_get_max_email_quota.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_get_max_email_quota.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'get_max_email_quota'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-available-version":"cPanel 11.48","summary":"Return email account's max quota size","x-cpanel-api-version":"UAPI","operationId":"Email-get_max_email_quota","x-readonly":true,"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"type":"integer","description":"The version of the API.","example":3},"module":{"type":"string","description":"The name of the module called.","example":"Email"},"result":{"properties":{"status":{"example":1,"enum":[0,1],"description":"* `1` - Success.\n* `0` - Failed: Check the errors field for more details.","type":"integer"},"data":{"description":"The account's maximum email quota, in bytes format. The function will\nreturn one of the following values:\n\n* The system's default maximum quota (4 [Pebibytes](https://en.wikipedia.org/wiki/Pebibyte)).\n* The account's quota value, if it is **less** than the default\nsystem quota value.","example":4503599627370496,"type":"integer","maximum":4503599627370496},"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"},"example":null,"type":"array","nullable":true},"metadata":{"properties":{}},"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"}},"type":"object"},"func":{"description":"The name of the method called.","example":"get_max_email_quota","type":"string"}}}}}}},"parameters":[],"tags":["Email","Email Accounts"]}}},"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"x-tagGroups":[{"name":"Email","tags":["Email Accounts"]}],"openapi":"3.0.2","servers":[{"variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"tags":[{"name":"Email","description":"The Email module for UAPI."},{"description":"Email / Email Accounts","name":"Email Accounts"}],"security":[{"BasicAuth":[]}],"info":{"title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"externalDocs":{"url":"https://cpanel.net/developers/"}},"fetch_charmaps":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"security":[{"BasicAuth":[]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"x-tagGroups":[{"tags":["Email Server Information"],"name":"Email"}],"openapi":"3.0.2","tags":[{"description":"The Email module for UAPI.","name":"Email"},{"name":"Email Server Information","description":"Email / Email Server Information"}],"servers":[{"description":"A server running cPanel.","variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute"}],"paths":{"/Email/fetch_charmaps":{"get":{"parameters":[],"tags":["Email","Email Server Information"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"description":"The version of the API.","example":3,"type":"integer"},"result":{"properties":{"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null},"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"metadata":{"properties":{}},"data":{"type":"array","items":{"type":"object","properties":{"map":{"type":"string","example":"utf-8","description":"A [character encoding](https://en.wikipedia.org/wiki/Character_encoding) that cPanel supports."}}}},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"status":{"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","enum":[0,1],"example":1,"type":"integer"}},"type":"object"},"module":{"example":"Email","description":"The name of the module called.","type":"string"},"func":{"type":"string","description":"The name of the method called.","example":"fetch_charmaps"}},"type":"object"}}}}},"operationId":"Email-fetch_charmaps","x-readonly":true,"x-cpanel-api-version":"UAPI","summary":"Return server's supported character encodings","x-cpanel-available-version":"cPanel 11.42","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  fetch_charmaps\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Email/fetch_charmaps","label":"URL","lang":"HTTP"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_fetch_charmaps.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_fetch_charmaps.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/fetch_charmaps/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_fetch_charmaps.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_fetch_charmaps.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'fetch_charmaps'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"description":"This function lists the available character encodings.\n\n**Important:**\n\nWhen you disable the [Receive Mail role](https://go.cpanel.net/serverroles), the system **disables** this function."}}}},"add_spam_filter":{"paths":{"/Email/add_spam_filter":{"get":{"x-cpanel-api-version":"UAPI","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  add_spam_filter\n","lang":"Shell","label":"CLI"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/Email/add_spam_filter"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_add_spam_filter.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_add_spam_filter.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/add_spam_filter/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_add_spam_filter.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_add_spam_filter.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'add_spam_filter'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"summary":"Update minimum spam score threshold value","x-cpanel-available-version":"cPanel 11.42","x-readonly":false,"operationId":"Email-add_spam_filter","tags":["Email","Spam Management"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"func":{"type":"string","description":"The name of the method called.","example":"add_spam_filter"},"result":{"properties":{"data":{"type":"object","nullable":true,"default":null},"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"},"example":null,"type":"array","nullable":true},"metadata":{"properties":{"transformed":{"type":"integer","description":"Post-processing may have transformed the data.","enum":[1],"example":1}}},"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}},"status":{"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","example":1,"enum":[0,1],"type":"integer"}}},"module":{"description":"The name of the module called.","example":"Email","type":"string"}}}}}}},"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.","parameters":[{"schema":{"minimum":1,"example":"8","default":"5","type":"string"},"required":false,"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`).","name":"required_score","in":"query"},{"name":"account","in":"query","required":false,"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.","schema":{"example":"username@example.com","type":"string","format":"email"}}]}}},"openapi":"3.0.2","servers":[{"variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"tags":[{"name":"Email","description":"The Email module for UAPI."},{"name":"Spam Management","description":"Email / Spam Management"}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"x-tagGroups":[{"tags":["Spam Management"],"name":"Email"}],"security":[{"BasicAuth":[]}],"info":{"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/","contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"}},"externalDocs":{"url":"https://cpanel.net/developers/"}},"add_forwarder":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"},"license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."},"security":[{"BasicAuth":[]}],"openapi":"3.0.2","servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"description":"A server running cPanel."}],"tags":[{"name":"Email","description":"The Email module for UAPI."},{"name":"Email Forwarding","description":"Email / Email Forwarding"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"x-tagGroups":[{"name":"Email","tags":["Email Forwarding"]}],"paths":{"/Email/add_forwarder":{"get":{"x-cpanel-api-version":"UAPI","summary":"Create email account forwarder","x-cpanel-available-version":"cPanel 11.42","x-codeSamples":[{"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","lang":"Shell","label":"CLI"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/Email/add_forwarder?domain=example.com&email=forwardme%40example.com&fwdopt=fwd"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_add_forwarder.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_add_forwarder.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/add_forwarder/,\n    {\n        'domain' => 'example.com',\n        'email' => 'forwardme@example.com',\n        'fwdopt' => 'fwd',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_add_forwarder.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_add_forwarder.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'add_forwarder',\n    array (\n        'domain' => 'example.com',\n        'email' => 'forwardme@example.com',\n        'fwdopt' => 'fwd',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"tags":["Email","Email Forwarding"],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"module":{"example":"Email","description":"The name of the module called.","type":"string"},"result":{"properties":{"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"metadata":{"properties":{"transformed":{"enum":[1],"example":1,"description":"Post-processing may have transformed the data.","type":"integer"}}},"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null},"warnings":{"example":null,"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"},"data":{"type":"array","items":{"type":"object","properties":{"forward":{"type":"string","description":"The method that the system will use to handle the address's mail.\n- An email address  The system forwards mail to this address.\n- :fail:  The system bounces mail back to the sender and sends a failure message.\n- :blackhole:  The system deletes mail without a failure message.\n- The path to an application  The system pipes mail to this application.\n- A username  The system forwards mail to this system account.","example":"fwdtome@example.com"},"domain":{"description":"The domain. A valid domain on the account.","example":"example.com","type":"string"},"email":{"type":"string","description":"The email address. An email address on the account.","example":"user@example.com"}}}},"status":{"type":"integer","description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","enum":[0,1],"example":1}},"type":"object"},"func":{"example":"add_forwarder","description":"The name of the method called.","type":"string"}}}}},"description":"HTTP Request was successful."}},"operationId":"Email-add_forwarder","x-readonly":false,"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.","x-rollback":"none","parameters":[{"schema":{"example":"example.com","type":"string"},"required":true,"description":"The domain.","name":"domain","in":"query"},{"schema":{"example":"forwardme@example.com","type":"string"},"description":"The email address to forward.","required":true,"name":"email","in":"query"},{"required":true,"description":"The method to use to handle the email address's mail.","schema":{"type":"string","example":"fwd"},"name":"fwdopt","in":"query"},{"name":"fwdemail","in":"query","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.","required":false,"schema":{"type":"string","example":"fwdtome@example.com"}},{"schema":{"example":"user","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.","required":false,"name":"fwdsystem","in":"query"},{"schema":{"example":"Nobody home.","default":"No such person at this address","type":"string"},"required":false,"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"},{"in":"query","name":"pipefwd","required":false,"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.","schema":{"type":"string","example":"mailscript.pl"}}]}}}},"get_default_email_quota_mib":{"paths":{"/Email/get_default_email_quota_mib":{"get":{"description":"This function retrieves the account's default email quota size in [mebibytes](https://en.wikipedia.org/wiki/Mebibyte) (MiB).\n\n**Important:**\n\nWhen you disable the [Receive Mail](https://go.cpanel.net/serverroles) role, the system **disables** this function.","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  get_default_email_quota_mib\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Email/get_default_email_quota_mib","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_get_default_email_quota_mib.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_get_default_email_quota_mib.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/get_default_email_quota_mib/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_get_default_email_quota_mib.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_get_default_email_quota_mib.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'get_default_email_quota_mib'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Return email account's default email quota in MiB","x-cpanel-available-version":"cPanel 11.48","x-cpanel-api-version":"UAPI","x-readonly":true,"operationId":"Email-get_default_email_quota_mib","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"func":{"type":"string","example":"get_default_email_quota_mib","description":"The name of the method called."},"module":{"type":"string","description":"The name of the module called.","example":"Email"},"result":{"properties":{"status":{"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","example":1,"enum":[0,1],"type":"integer"},"messages":{"items":{"type":"string"},"description":"List of messages generated by the API.","example":null,"type":"array","nullable":true},"errors":{"nullable":true,"type":"array","example":null,"description":"List of errors if the API failed.","items":{"type":"string"}},"metadata":{"properties":{}},"data":{"maximum":4294967296,"type":"integer","example":32768,"description":"The default email quota in [mebibytes](https://en.wikipedia.org/wiki/Mebibyte) (MiB).\n\nThe value will either be:\n* The system's default quota value (32 gigabytes).\n* The account's quota value, if it is less than the system's default value.","minimum":0},"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null,"type":"array","nullable":true}},"type":"object"}},"type":"object"}}}}},"tags":["Email","Email Accounts"],"parameters":[]}}},"security":[{"BasicAuth":[]}],"servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}}}],"tags":[{"name":"Email","description":"The Email module for UAPI."},{"name":"Email Accounts","description":"Email / Email Accounts"}],"openapi":"3.0.2","components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"x-tagGroups":[{"name":"Email","tags":["Email Accounts"]}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/","contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}}},"list_system_filter_info":{"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"x-tagGroups":[{"tags":["Email Filtering"],"name":"Email"}],"servers":[{"description":"A server running cPanel.","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute"}],"openapi":"3.0.2","tags":[{"description":"The Email module for UAPI.","name":"Email"},{"name":"Email Filtering","description":"Email / Email Filtering"}],"security":[{"BasicAuth":[]}],"info":{"title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/Email/list_system_filter_info":{"get":{"x-cpanel-api-version":"UAPI","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.","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  list_system_filter_info\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Email/list_system_filter_info","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_list_system_filter_info.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_list_system_filter_info.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/list_system_filter_info/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_list_system_filter_info.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_list_system_filter_info.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'list_system_filter_info'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"summary":"Return system-level email filter file information","x-cpanel-available-version":"cPanel 11.42","tags":["Email","Email Filtering"],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"module":{"type":"string","description":"The name of the module called.","example":"Email"},"result":{"properties":{"status":{"enum":[0,1],"example":1,"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","type":"integer"},"data":{"type":"object","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"}}},"warnings":{"example":null,"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"},"metadata":{"properties":{"transformed":{"type":"integer","description":"Post-processing may have transformed the data.","example":1,"enum":[1]}}},"errors":{"nullable":true,"type":"array","example":null,"description":"List of errors if the API failed.","items":{"type":"string"}},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}}},"type":"object"},"func":{"example":"list_system_filter_info","description":"The name of the method called.","type":"string"},"apiversion":{"type":"integer","description":"The version of the API.","example":3}}}}},"description":"HTTP Request was successful."}},"parameters":[],"x-readonly":true,"operationId":"Email-list_system_filter_info"}}}},"browse_mailbox":{"x-tagGroups":[{"name":"Email","tags":["Email Accounts"]}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"servers":[{"url":"https://{host}:{port}/execute","variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"description":"The cPanel port.","default":"2083"}},"description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"name":"Email","description":"The Email module for UAPI."},{"description":"Email / Email Accounts","name":"Email Accounts"}],"security":[{"BasicAuth":[]}],"info":{"title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/Email/browse_mailbox":{"get":{"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"type":"integer","description":"The version of the API.","example":3},"result":{"properties":{"warnings":{"example":null,"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"},"data":{"type":"array","items":{"properties":{"mtime":{"format":"unix_timestamp","type":"integer","example":1413398866,"description":"The item's modification time. A time, in [Unix time](https://en.wikipedia.org/wiki/Unix_time) format."},"depth":{"minimum":0,"example":2,"description":"The directory depth of the item's path.","type":"integer"},"type":{"type":"string","example":"dir","enum":["dir","file"],"description":"The item type.\n* `dir` - The item is a directory.\n* `file` - The item is a file."},"file":{"example":"archive","description":"The item's base name.","type":"string"},"ismailbox":{"example":0,"enum":[0,1],"description":"Whether the item is a mailbox.\n* `1` - Mailbox.\n* `0` - **Not** a mailbox.","type":"integer"},"fullpath":{"description":"The item's absolute path.","example":"/home/example/mail/archive","format":"path","type":"string"},"relpath":{"type":"string","format":"path","example":"/archive","description":"The item's relative path."},"path":{"example":"/home/example/mail","description":"The item's directory's path.","type":"string","format":"path"},"isleaf":{"type":"integer","description":"Whether the item is a file or a directory.\n* `1` - File.\n* `0` - Directory.","enum":[0,1],"example":0}},"type":"object"}},"metadata":{"properties":{"transformed":{"description":"Post-processing may have transformed the data.","example":1,"enum":[1],"type":"integer"}}},"errors":{"example":null,"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"},"example":null,"type":"array","nullable":true},"status":{"example":1,"enum":[0,1],"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","type":"integer"}},"type":"object"},"module":{"example":"Email","description":"The name of the module called.","type":"string"},"func":{"example":"browse_mailbox","description":"The name of the method called.","type":"string"}},"type":"object"}}}}},"parameters":[{"required":false,"description":"An email address, to limit the function's results.","schema":{"example":"user@example.com","format":"email","type":"string"},"in":"query","name":"account"},{"in":"query","name":"dir","required":false,"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.","schema":{"type":"string","example":"maildir"}},{"description":"Whether to include hidden files and directories.\n* `1` — Include hidden items.\n* `0` — Do **not** include hidden items.","required":false,"schema":{"type":"integer","default":0,"enum":[0,1],"example":0},"in":"query","name":"showdotfiles"}],"tags":["Email","Email Accounts"],"operationId":"Email-browse_mailbox","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.","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  browse_mailbox\n","lang":"Shell","label":"CLI"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Email/browse_mailbox","lang":"HTTP","label":"URL"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_browse_mailbox.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_browse_mailbox.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/browse_mailbox/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_browse_mailbox.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_browse_mailbox.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'browse_mailbox'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Return mail directory's subdirectories and files","x-cpanel-available-version":"cPanel 11.42","x-cpanel-api-version":"UAPI"}}}},"add_pop":{"paths":{"/Email/add_pop":{"get":{"x-rollback":"clean","x-cpanel-api-version":"UAPI","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.","x-cpanel-available-version":"cPanel 11.42","summary":"Create email account","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  add_pop \\\n  email='user' \\\n  password='123456luggage'\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Email/add_pop?email=user&password=123456luggage","label":"URL","lang":"HTTP"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_add_pop.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_add_pop.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/add_pop/,\n    {\n        'email' => 'user',\n        'password' => '123456luggage',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_add_pop.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_add_pop.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'add_pop',\n    array (\n        'email' => 'user',\n        'password' => '123456luggage',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"operationId":"Email-add_pop","x-readonly":false,"tags":["Email","Email Accounts"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"type":"integer","description":"The version of the API.","example":3},"result":{"properties":{"status":{"example":1,"enum":[0,1],"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","type":"integer"},"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"messages":{"items":{"type":"string"},"description":"List of messages generated by the API.","example":null,"type":"array","nullable":true},"data":{"type":"string","example":"user+example.com","description":"The email address. The email account username, a plus character (+), and the email account domain."},"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null,"type":"array","nullable":true},"metadata":{"properties":{}}},"type":"object"},"module":{"example":"Email","description":"The name of the module called.","type":"string"},"func":{"type":"string","example":"add_pop","description":"The name of the method called."}},"type":"object"}}}}},"parameters":[{"name":"email","in":"query","required":true,"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.","schema":{"oneOf":[{"format":"email","type":"string"},{"type":"string"}],"example":"user"}},{"schema":{"example":"123456luggage","type":"string"},"description":"The email account password.","required":true,"in":"query","name":"password"},{"schema":{"format":"domain","type":"string","example":"example.com","default":"The cPanel account's main domain."},"required":false,"description":"The email account's domain. For example, `example.com` to create `user@example.com`.","name":"domain","in":"query"},{"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.","required":false,"schema":{"default":"The defined system value.","example":500,"oneOf":[{"enum":["unlimited"],"type":"string"},{"minimum":0,"type":"integer"}]},"name":"quota","in":"query"},{"name":"skip_update_db","in":"query","schema":{"type":"integer","default":0,"example":1,"enum":[0,1]},"description":"Whether to skip the update of the email accounts database's cache.\n* `1` — Skip the update.\n* `0` — Perform the update.","required":false},{"required":false,"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.","schema":{"example":"$6$1sOyHP5ZDYp3pGUz$R0TSgfPRHfDjT5PP5RJGv39FhiGTNNPvM7IFpCBjXijMmlMZk9yI8T3LqGuntc9fdKb5eX.lGL7wBS9e4DAWn/","type":"string"},"name":"password_hash","in":"query"},{"name":"send_welcome_email","in":"query","schema":{"type":"integer","default":0,"enum":[0,1],"example":0},"description":"Whether to send client configuration instructions to the account.\n* `1` — Send the instructions.\n* `0` — Do **not** send the instructions.","required":false}]}}},"x-tagGroups":[{"tags":["Email Accounts"],"name":"Email"}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"openapi":"3.0.2","tags":[{"description":"The Email module for UAPI.","name":"Email"},{"name":"Email Accounts","description":"Email / Email Accounts"}],"servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}}}],"security":[{"BasicAuth":[]}],"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."},"externalDocs":{"url":"https://cpanel.net/developers/"}},"count_lists":{"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"tags":["Mailing Lists"],"name":"Email"}],"servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}}}],"openapi":"3.0.2","tags":[{"name":"Email","description":"The Email module for UAPI."},{"description":"Email / Mailing Lists","name":"Mailing Lists"}],"security":[{"BasicAuth":[]}],"info":{"license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/Email/count_lists":{"get":{"parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"func":{"type":"string","example":"count_lists","description":"The name of the method called."},"module":{"example":"Email","description":"The name of the module called.","type":"string"},"result":{"properties":{"status":{"type":"integer","example":1,"enum":[0,1],"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details."},"messages":{"example":null,"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"},"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null},"metadata":{"properties":{"transformed":{"type":"integer","example":1,"enum":[1],"description":"Post-processing may have transformed the data."}}},"data":{"minimum":0,"example":1,"description":"The number of mailing lists.\n* `0`\n* A positive integer.","type":"integer"},"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API."}},"type":"object"}},"type":"object"}}},"description":"HTTP Request was successful."}},"tags":["Email","Mailing Lists"],"x-readonly":true,"operationId":"Email-count_lists","x-cpanel-api-version":"UAPI","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.","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  count_lists\n"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/Email/count_lists"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_count_lists.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_count_lists.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/count_lists/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_count_lists.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_count_lists.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'count_lists'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Return cPanel account's mailing list total","x-cpanel-available-version":"cPanel 82"}}}},"has_plaintext_authentication":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}},"security":[{"BasicAuth":[]}],"tags":[{"description":"The Email module for UAPI.","name":"Email"},{"name":"Email Server Information","description":"Email / Email Server Information"}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute"}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"x-tagGroups":[{"tags":["Email Server Information"],"name":"Email"}],"paths":{"/Email/has_plaintext_authentication":{"get":{"summary":"Return whether plaintext authentication is enabled","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  has_plaintext_authentication\n","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Email/has_plaintext_authentication","lang":"HTTP","label":"URL"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_has_plaintext_authentication.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_has_plaintext_authentication.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/has_plaintext_authentication/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_has_plaintext_authentication.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_has_plaintext_authentication.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'has_plaintext_authentication'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 56","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.","x-cpanel-api-version":"UAPI","operationId":"Email-has_plaintext_authentication","x-readonly":true,"parameters":[],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"module":{"example":"Email","description":"The name of the module called.","type":"string"},"result":{"properties":{"status":{"enum":[0,1],"example":1,"description":"* `1` - Success\n* `0` - Failed: Check the errors field for more details.","type":"integer"},"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"},"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"metadata":{"properties":{}},"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API."},"data":{"type":"integer","description":"Whether plaintext authentication is enabled on the Dovecot mail server.\n* `1` - Enabled.\n* `0` - Disabled.","example":1,"enum":[0,1]}},"type":"object"},"func":{"type":"string","example":"has_plaintext_authentication","description":"The name of the method called."},"apiversion":{"type":"integer","description":"The version of the API.","example":3}},"type":"object"}}}}},"tags":["Email","Email Server Information"]}}}},"trace_filter":{"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"x-tagGroups":[{"name":"Email","tags":["Email Filtering"]}],"tags":[{"name":"Email","description":"The Email module for UAPI."},{"name":"Email Filtering","description":"Email / Email Filtering"}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"url":"https://{host}:{port}/execute"}],"security":[{"BasicAuth":[]}],"info":{"termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/Email/trace_filter":{"get":{"description":"This function tests mail filters. The function **only** tests filters for the cPanel account's main domain, and only tests against the message's body. For more information about Exim filters, read [Exim's documentation](http://www.exim.org/exim-html-3.30/doc/html/filter.html).\n\n**Note:**\n\nIf the domain or account does not contain a filter file, this function will fail.\n\n**Important:**\n\nWhen you disable the [Receive Mail](https://go.cpanel.net/serverroles) role, the system **disables** this function.","summary":"Run test for main domain email filters","x-cpanel-available-version":"cPanel 11.42","x-codeSamples":[{"lang":"Shell","label":"CLI","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"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_trace_filter.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_trace_filter.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/trace_filter/,\n    {\n        'msg' => 'Test',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_trace_filter.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_trace_filter.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'trace_filter',\n    array (\n        'msg' => 'Test',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"x-cpanel-api-version":"UAPI","parameters":[{"in":"query","name":"account","schema":{"example":"user@example.com","type":"string","format":"email"},"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.","required":false},{"in":"query","name":"msg","required":true,"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.","schema":{"example":"Test","type":"string"}}],"tags":["Email","Email Filtering"],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"apiversion":{"description":"The version of the API.","example":3,"type":"integer"},"module":{"type":"string","description":"The name of the module called.","example":"Email"},"result":{"properties":{"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API."},"data":{"properties":{"trace":{"example":"Warning: no message headers read\\nReturn-path copied from sender\\nSender = user@example.com\\nRecipient = user@example.com\\nTesting Exim filter file &quot;/etc/vfilters/example.com&quot;\\n\\nFiltering did not set up a significant delivery.\\n<b>Normal delivery will occur.\\n</b>","description":"A series of messages that describe the trace results.\n\n**Note:**\n\nThis output may contain HTML.","type":"string"}},"type":"object"},"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."},"status":{"enum":[0,1],"example":1,"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","type":"integer"},"metadata":{"properties":{}},"errors":{"example":null,"items":{"type":"string"},"description":"List of errors if the API failed.","nullable":true,"type":"array"}},"type":"object"},"func":{"type":"string","example":"trace_filter","description":"The name of the method called."}},"type":"object"}}},"description":"HTTP Request was successful."}},"operationId":"Email-trace_filter","x-readonly":true}}}},"get_filter":{"paths":{"/Email/get_filter":{"get":{"x-cpanel-api-version":"UAPI","description":"This function retrieves an email filter's information.\n\n**Important:**\n\nWhen you disable the [Receive Mail](https://go.cpanel.net/serverroles) role, the system **disables** this function.","summary":"Return email filter's information","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  get_filter \\\n  account='user@example.com' \\\n  filtername='coffee'\n"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/Email/get_filter?account=user%40example.com&filtername=coffee"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_get_filter.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_get_filter.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/get_filter/,\n    {\n        'account' => 'user@example.com',\n        'filtername' => 'coffee',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_get_filter.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_get_filter.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'get_filter',\n    array (\n        'account' => 'user@example.com',\n        'filtername' => 'coffee',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 11.42","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"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":{"type":"object","properties":{"errors":{"nullable":true,"type":"array","example":null,"description":"List of errors if the API failed.","items":{"type":"string"}},"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"},"warnings":{"type":"array","nullable":true,"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"},"example":null},"data":{"properties":{"actions":{"type":"array","description":"An array of objects that contains the filter's actions.","items":{"type":"object","properties":{"number":{"type":"integer","minimum":1,"description":"The filter's position in the order of the account's filters.","example":1},"action":{"type":"string","description":"The filter's action.\n* `deliver` -  The filter sends mail to the destination address.\n* `fail` -  The filter forces a delivery failure.\n* `finish` -  The filter stops message processing.\n* `save` -  The filter saves mail to the destination file.\n* `pipe` -  The filter sends mail to the destination application.","enum":["deliver","fail","finish","save","pipe"]},"dest":{"description":"The destination to which the filter sends mail.\n\nA destination can be one of the following.\n* A file path.\n* An application path.\n* A valid email address.","oneOf":[{"type":"string","format":"path","example":"/dev/null"},{"format":"email","type":"string","example":"example@test.com"}]}}}},"rules":{"items":{"type":"object","properties":{"opt":{"type":"string","description":"The connection between multiple conditions.\n* `and` -  Match both conditions.\n* `or` -  Match either condition.\n* `null` -  There is only one condition.","example":"or","enum":["and","or","null"]},"number":{"description":"The filter's position in the order of the account's filters.","example":1,"minimum":1,"type":"integer"},"match":{"example":"contains","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"],"description":"The filter's match type.\n\n* `is`\n* `matches`\n* `contains`\n* `does not contain`\n* `begins`\n* `does not begin`\n* `ends`\n* `does not end`\n* `does not match`\n* `is above`\n* `is not above`\n* `is below`\n* `is not below`","type":"string"},"part":{"example":"$message_body","enum":["$header_from:","$header_subject:","$header_to:","$reply_address:","$message_body","$message_headers","foranyaddress $h_to:,$h_cc:,$h_bcc:","not delivered","error_message"],"description":"The queried email section.\n* `$header_from:` -  Matches against the From: section.\n* `$header_subject:` -  Matches against the Subject: section.\n* `$header_to:` -  Matches against the To: section.\n* `$reply_address:` -  Matches against the Reply To: section.\n* `$message_body` -  Matches against the message's body.\n* `$message_headers` -  Matches against the message's headers.\n* `foranyaddress $h_to:,$h_cc:,$h_bcc:` -  Matches against all message recipients.\n* `not delivered` -  Matches if the message is not queued for delivery.\n* `error_message` -  Matches if the incoming message bounced.","type":"string"},"val":{"type":"string","example":"coconut","description":"The matched value."}}},"description":"An array of objects that contains the filter's rules.","type":"array"},"metadata":{"properties":{"transformed":{"type":"integer","description":"Post-processing may have transformed the data.","enum":[1],"example":1}},"type":"object"},"filtername":{"type":"string","description":"The filter's name.","example":"coffee"}},"type":"object"},"status":{"type":"integer","enum":[0,1],"example":1,"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details."}}},"apiversion":{"type":"integer","description":"The version of the API.","example":3}},"type":"object"}}}}},"parameters":[{"schema":{"format":"email","type":"string","example":"user@example.com"},"required":true,"description":"The email address that owns the filter.","in":"query","name":"account"},{"required":true,"description":"The filter's name.","schema":{"example":"coffee","type":"string"},"in":"query","name":"filtername"}],"tags":["Email","Email Filtering"],"operationId":"Email-get_filter","x-readonly":true}}},"info":{"termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"x-tagGroups":[{"tags":["Email Filtering"],"name":"Email"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"tags":[{"description":"The Email module for UAPI.","name":"Email"},{"description":"Email / Email Filtering","name":"Email Filtering"}],"openapi":"3.0.2","servers":[{"variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"security":[{"BasicAuth":[]}]},"get_default_email_quota":{"info":{"title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"openapi":"3.0.2","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":{"description":"The cPanel port.","default":"2083"}}}],"tags":[{"name":"Email","description":"The Email module for UAPI."},{"name":"Email Accounts","description":"Email / Email Accounts"}],"x-tagGroups":[{"tags":["Email Accounts"],"name":"Email"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"security":[{"BasicAuth":[]}],"paths":{"/Email/get_default_email_quota":{"get":{"x-readonly":true,"operationId":"Email-get_default_email_quota","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"func":{"example":"get_default_email_quota","description":"The name of the method called.","type":"string"},"result":{"type":"object","properties":{"metadata":{"properties":{}},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"data":{"minimum":0,"example":34359738368,"description":"The default email quota in bytes.\n\nThe value will either be:\n* The system's default quota value (32 gigabytes).\n* The account's quota value, if it is less than the system's default value.","type":"integer"},"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"status":{"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","enum":[0,1],"example":1,"type":"integer"}}},"module":{"type":"string","example":"Email","description":"The name of the module called."},"apiversion":{"example":3,"description":"The version of the API.","type":"integer"}}}}},"description":"HTTP Request was successful."}},"parameters":[],"tags":["Email","Email Accounts"],"x-cpanel-api-version":"UAPI","description":"This function retrieves the account's default email quota size, in bytes format.\n\n**Important:**\n\nWhen you disable the [Receive Mail](https://go.cpanel.net/serverroles) role, the system **disables** this function.","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  get_default_email_quota\n"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/Email/get_default_email_quota"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_get_default_email_quota.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_get_default_email_quota.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/get_default_email_quota/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_get_default_email_quota.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_get_default_email_quota.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'get_default_email_quota'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-available-version":"cPanel 11.48","summary":"Return email account's default email quota"}}}},"get_max_email_quota_mib":{"info":{"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/","contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"openapi":"3.0.2","servers":[{"variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"tags":[{"name":"Email","description":"The Email module for UAPI."},{"name":"Email Accounts","description":"Email / Email Accounts"}],"x-tagGroups":[{"name":"Email","tags":["Email Accounts"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"security":[{"BasicAuth":[]}],"paths":{"/Email/get_max_email_quota_mib":{"get":{"summary":"Return email account's max quota size in MiB","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"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_get_max_email_quota_mib.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_get_max_email_quota_mib.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/get_max_email_quota_mib/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_get_max_email_quota_mib.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_get_max_email_quota_mib.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'get_max_email_quota_mib'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"x-cpanel-available-version":"cPanel 11.48","description":"This function retrieves the account's maximum email account quota size, in\n[Mebibytes (MiB)](https://en.wikipedia.org/wiki/Mebibyte) format.\n\n**Important:**\n\nWhen you disable the [Receive Mail role](https://go.cpanel.net/howtouseserverprofiles#roles),\nthe system **disables** this function.","x-cpanel-api-version":"UAPI","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"description":"The version of the API.","example":3,"type":"integer"},"result":{"type":"object","properties":{"status":{"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","enum":[1,0],"example":1,"type":"integer"},"metadata":{"properties":{}},"data":{"description":"The account's maximum email account quota size, in Mebibytes (MiB).","example":4294967296,"minimum":0,"maximum":4294967296,"type":"integer"},"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null,"type":"array","nullable":true},"messages":{"example":null,"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"},"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true}}},"module":{"type":"string","example":"Email","description":"The name of the module called."},"func":{"example":"get_max_email_quota_mib","description":"The name of the method called.","type":"string"}}}}},"description":"HTTP Request was successful."}},"tags":["Email","Email Accounts"],"parameters":[],"operationId":"Email-get_max_email_quota_mib","x-readonly":true}}}},"delete_forwarder":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"security":[{"BasicAuth":[]}],"x-tagGroups":[{"tags":["Email Forwarding"],"name":"Email"}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute"}],"tags":[{"description":"The Email module for UAPI.","name":"Email"},{"name":"Email Forwarding","description":"Email / Email Forwarding"}],"paths":{"/Email/delete_forwarder":{"get":{"x-cpanel-api-version":"UAPI","x-cpanel-available-version":"cPanel 11.42","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"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_delete_forwarder.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_delete_forwarder.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/delete_forwarder/,\n    {\n        'address' => 'user@example.com',\n        'forwarder' => 'fwdtome@example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_delete_forwarder.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_delete_forwarder.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'delete_forwarder',\n    array (\n        'address' => 'user@example.com',\n        'forwarder' => 'fwdtome@example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Delete email account's email forwarder","operationId":"Email-delete_forwarder","x-readonly":false,"tags":["Email","Email Forwarding"],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"description":"The version of the API.","example":3,"type":"integer"},"module":{"example":"Email","description":"The name of the module called.","type":"string"},"result":{"properties":{"metadata":{"properties":{}},"warnings":{"example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","nullable":true,"type":"array"},"data":{"default":null,"type":"object","nullable":true},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}},"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null},"status":{"type":"integer","description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","enum":[0,1],"example":1}}},"func":{"example":"delete_forwarder","description":"The name of the method called.","type":"string"}}}}},"description":"HTTP Request was successful."}},"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.","parameters":[{"name":"address","in":"query","schema":{"example":"user@example.com","format":"email","type":"string"},"required":true,"description":"The forwarder's email address."},{"in":"query","name":"forwarder","schema":{"type":"string","example":"fwdtome@example.com"},"required":true,"description":"The forwarder's destination.\n* A valid email address.\n* A script location.\n* A system account."}]}}}},"get_disk_usage":{"paths":{"/Email/get_disk_usage":{"get":{"description":"This function retrieves the disk space that an email account uses.\n\n**Important:**\n\nWhen you disable the [Receive Mail role](https://go.cpanel.net/serverroles), the system **disables** this function.","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  get_disk_usage \\\n  user='user' \\\n  domain='example.com'\n"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/Email/get_disk_usage?user=user&domain=example.com"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_get_disk_usage.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_get_disk_usage.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/get_disk_usage/,\n    {\n        'user' => 'user',\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_get_disk_usage.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_get_disk_usage.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'get_disk_usage',\n    array (\n        'user' => 'user',\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Return email account's disk usage","x-cpanel-available-version":"cPanel 11.42","x-cpanel-api-version":"UAPI","x-readonly":true,"operationId":"Email-get_disk_usage","parameters":[{"name":"user","in":"query","schema":{"format":"username","type":"string","example":"user"},"description":"The email account username.","required":true},{"required":true,"description":"The email account's domain.","schema":{"example":"example.com","type":"string","format":"domain"},"name":"domain","in":"query"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"result":{"properties":{"status":{"example":1,"enum":[0,1],"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","type":"integer"},"warnings":{"example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","nullable":true,"type":"array"},"data":{"properties":{"diskused":{"type":"number","example":399.6,"description":"The disk space that the email account uses.\n* A positive floating-point value that represents the disk space, used in megabytes (MB).\n* `0` - The account posesses an unlimited disk quota."},"login":{"type":"string","format":"email","example":"user@example.com","description":"The email address or the main account username."},"domain":{"type":"string","format":"domain","example":"example.com","description":"The email account's domain."},"user":{"type":"string","example":"user","description":"The email account's username."}},"type":"object"},"metadata":{"properties":{}},"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null},"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null}},"type":"object"},"module":{"description":"The name of the module called.","example":"Email","type":"string"},"func":{"type":"string","description":"The name of the method called.","example":"get_disk_usage"}}}}},"description":"HTTP Request was successful."}},"tags":["Email","Email Accounts"]}}},"info":{"title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"x-tagGroups":[{"tags":["Email Accounts"],"name":"Email"}],"openapi":"3.0.2","tags":[{"description":"The Email module for UAPI.","name":"Email"},{"description":"Email / Email Accounts","name":"Email Accounts"}],"servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}}}],"security":[{"BasicAuth":[]}]},"get_mailbox_autocreate":{"x-tagGroups":[{"tags":["Email Server Information"],"name":"Email"}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"openapi":"3.0.2","tags":[{"description":"The Email module for UAPI.","name":"Email"},{"description":"Email / Email Server Information","name":"Email Server Information"}],"servers":[{"description":"A server running cPanel.","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"url":"https://{host}:{port}/execute"}],"security":[{"BasicAuth":[]}],"info":{"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"},"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/Email/get_mailbox_autocreate":{"get":{"x-cpanel-api-version":"UAPI","description":"This function checks whether a cPanel account will automatically create mailboxes when it receives an email address in [plus address format](https://en.wikipedia.org/wiki/Email_address#Sub-addressing).\n\n**Note:**\n\nTo enable or disable this functionality, use the UAPI's `Email::enable_mailbox_autocreate` and `Email::disable_mailbox_autocreate` functions.","x-codeSamples":[{"lang":"Shell","label":"CLI","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"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_get_mailbox_autocreate.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_get_mailbox_autocreate.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/get_mailbox_autocreate/,\n    {\n        'email' => 'username@example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_get_mailbox_autocreate.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_get_mailbox_autocreate.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'get_mailbox_autocreate',\n    array (\n        'email' => 'username@example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Return cPanel account's mailbox autocreate status","x-cpanel-available-version":"cPanel 78","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"apiversion":{"description":"The version of the API.","example":3,"type":"integer"},"module":{"example":"Email","description":"The name of the module called.","type":"string"},"result":{"type":"object","properties":{"errors":{"nullable":true,"type":"array","example":null,"description":"List of errors if the API failed.","items":{"type":"string"}},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}},"data":{"example":1,"enum":[0,1],"description":"Whether the cPanel account can automatically create mailboxes.\n* `1` — The cPanel account can automatically create mailboxes.\n* `0` — The cPanel account **cannot** automatically create mailboxes.","type":"integer"},"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null,"type":"array","nullable":true},"metadata":{"properties":{}},"status":{"example":1,"enum":[0,1],"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","type":"integer"}}},"func":{"type":"string","example":"get_mailbox_autocreate","description":"The name of the method called."}},"type":"object"}}},"description":"HTTP Request was successful."}},"parameters":[{"schema":{"example":"username@example.com","format":"email","type":"string"},"description":"The email account address to query.","required":true,"in":"query","name":"email"}],"tags":["Email","Email Server Information"],"x-readonly":true,"operationId":"Email-get_mailbox_autocreate"}}}},"disable_filter":{"paths":{"/Email/disable_filter":{"get":{"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"module":{"description":"The name of the module called.","example":"Email","type":"string"},"result":{"type":"object","properties":{"status":{"type":"integer","example":1,"enum":[0,1],"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details."},"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API."},"data":{"type":"object","properties":{"updated":{"enum":[0,1],"example":1,"description":"Whether the function updated the filter.\n* `1` - Updated,\n* `0` - Did **not** update.","type":"integer"},"filtername":{"description":"The filter's name. The filtername input parameter's value.","example":"coffee","type":"string"}}},"metadata":{"properties":{"transformed":{"description":"Post-processing may have transformed the data.","example":1,"enum":[1],"type":"integer"}}},"errors":{"type":"array","nullable":true,"description":"List of errors if the API failed.","items":{"type":"string"},"example":null},"messages":{"items":{"type":"string"},"description":"List of messages generated by the API.","example":null,"type":"array","nullable":true}}},"func":{"type":"string","example":"disable_filter","description":"The name of the method called."},"apiversion":{"type":"integer","example":3,"description":"The version of the API."}}}}}}},"tags":["Email","Email Filtering"],"parameters":[{"description":"The email address that owns the filter.","required":true,"schema":{"format":"email","type":"string","example":"user@example.com"},"name":"account","in":"query"},{"description":"The filter's name.","required":true,"schema":{"type":"string","example":"coffee"},"name":"filtername","in":"query"}],"operationId":"Email-disable_filter","x-readonly":false,"x-cpanel-api-version":"UAPI","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.","summary":"Disable email filter for email account","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  disable_filter \\\n  account='user@example.com' \\\n  filtername='coffee'\n","label":"CLI","lang":"Shell"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/Email/disable_filter?account=user%40example.com&filtername=coffee"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_disable_filter.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_disable_filter.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/disable_filter/,\n    {\n        'account' => 'user@example.com',\n        'filtername' => 'coffee',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_disable_filter.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_disable_filter.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'disable_filter',\n    array (\n        'account' => 'user@example.com',\n        'filtername' => 'coffee',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 11.42","x-rollback":"none"}}},"info":{"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"x-tagGroups":[{"tags":["Email Filtering"],"name":"Email"}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"openapi":"3.0.2","tags":[{"name":"Email","description":"The Email module for UAPI."},{"description":"Email / Email Filtering","name":"Email Filtering"}],"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."}}}],"security":[{"BasicAuth":[]}]},"list_default_address":{"x-tagGroups":[{"tags":["Email Accounts"],"name":"Email"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"openapi":"3.0.2","servers":[{"url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}},"description":"A server running cPanel."}],"tags":[{"name":"Email","description":"The Email module for UAPI."},{"description":"Email / Email Accounts","name":"Email Accounts"}],"security":[{"BasicAuth":[]}],"info":{"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/Email/list_default_address":{"get":{"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.","summary":"Return domain's default email address","x-cpanel-available-version":"cPanel 11.42","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  list_default_address \\\n  user='user'\n","lang":"Shell","label":"CLI"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/Email/list_default_address?user=user"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_list_default_address.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_list_default_address.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/list_default_address/,\n    {\n        'user' => 'user',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_list_default_address.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_list_default_address.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'list_default_address',\n    array (\n        'user' => 'user',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-api-version":"UAPI","operationId":"Email-list_default_address","x-readonly":true,"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"module":{"example":"Email","description":"The name of the module called.","type":"string"},"result":{"type":"object","properties":{"status":{"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","example":1,"enum":[0,1],"type":"integer"},"metadata":{"properties":{"transformed":{"enum":[1],"example":1,"description":"Post-processing may have transformed the data.","type":"integer"}}},"warnings":{"nullable":true,"type":"array","example":null,"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"}},"data":{"items":{"properties":{"domain":{"type":"string","format":"domain","example":"example.com","description":"The domain name."},"defaultaddress":{"type":"string","example":"user","description":"The domain's default address.\n* An email account username - The system forwards unroutable mail to this address.\n* `:fail:` - The system bounces unroutable mail back to the sender, and sends a failure message.\n* `:blackhole:` - The system deletes unroutable mail without a failure message.\n* The path to an application - The system pipes unroutable mail to this application."}},"type":"object"},"description":"An object of data for a domain.","type":"array"},"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"},"errors":{"example":null,"items":{"type":"string"},"description":"List of errors if the API failed.","nullable":true,"type":"array"}}},"func":{"example":"list_default_address","description":"The name of the method called.","type":"string"}}}}},"description":"HTTP Request was successful."}},"parameters":[{"name":"domain","in":"query","schema":{"example":"example.com","type":"string","format":"domain"},"required":false,"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":"user","required":true,"description":"The user whose default addresses to list.","schema":{"example":"user","format":"username","type":"string"}}],"tags":["Email","Email Accounts"]}}}},"get_lists_total_disk_usage":{"security":[{"BasicAuth":[]}],"x-tagGroups":[{"tags":["Mailing Lists"],"name":"Email"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"tags":[{"description":"The Email module for UAPI.","name":"Email"},{"description":"Email / Mailing Lists","name":"Mailing Lists"}],"openapi":"3.0.2","servers":[{"variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"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.","version":"11.89.0.9999","termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI"},"paths":{"/Email/get_lists_total_disk_usage":{"get":{"tags":["Email","Mailing Lists"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"type":"integer","description":"The version of the API.","example":3},"func":{"description":"The name of the method called.","example":"get_lists_total_disk_usage","type":"string"},"result":{"type":"object","properties":{"status":{"type":"integer","enum":[0,1],"example":1,"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details."},"messages":{"items":{"type":"string"},"description":"List of messages generated by the API.","example":null,"type":"array","nullable":true},"errors":{"nullable":true,"type":"array","example":null,"description":"List of errors if the API failed.","items":{"type":"string"}},"metadata":{"properties":{"transformed":{"description":"Post-processing may have transformed the data.","example":1,"enum":[1],"type":"integer"}}},"data":{"minimum":0,"example":1024,"description":"The total disk usage for the [mailing lists](https://go.cpanel.net/MailingLists) of a cPanel account, in bytes.","type":"integer"},"warnings":{"example":null,"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"}}},"module":{"description":"The name of the module called.","example":"Email","type":"string"}}}}}}},"parameters":[],"operationId":"Email-get_lists_total_disk_usage","x-readonly":true,"description":"This function returns the total disk usage for the [mailing lists](https://go.cpanel.net/cpaneldocsMailingLists) of a cPanel account.\n\n**Important:**\n\nWhen you disable the [Receive Mail role](https://go.cpanel.net/serverroles), the system **disables** this function.","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  get_lists_total_disk_usage\n","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Email/get_lists_total_disk_usage","lang":"HTTP","label":"URL"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_get_lists_total_disk_usage.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_get_lists_total_disk_usage.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/get_lists_total_disk_usage/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_get_lists_total_disk_usage.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_get_lists_total_disk_usage.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'get_lists_total_disk_usage'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"x-cpanel-available-version":"cPanel 82","summary":"Return cPanel account's mailing list disk usage","x-cpanel-api-version":"UAPI"}}}},"get_mailman_delegates":{"paths":{"/Email/get_mailman_delegates":{"get":{"parameters":[{"in":"query","name":"list","required":true,"description":"The name of a Mailman mailing list on the cPanel account.","schema":{"type":"string","example":"mylist"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"module":{"example":"Email","description":"The name of the module called.","type":"string"},"result":{"type":"object","properties":{"status":{"enum":[0,1],"example":1,"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","type":"integer"},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}},"errors":{"example":null,"items":{"type":"string"},"description":"List of errors if the API failed.","nullable":true,"type":"array"},"metadata":{"properties":{}},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"data":{"type":"object","properties":{"metadata":{"properties":{"transformed":{}},"type":"object"},"delegates":{"items":{"type":"string","format":"email","example":"secondadmin@example.com"},"description":"An array of the mailing list's administrators.","type":"array"}}}}},"func":{"type":"string","example":"get_mailman_delegates","description":"The name of the method called."}},"type":"object"}}},"description":"HTTP Request was successful."}},"tags":["Email","Mailing Lists"],"x-readonly":true,"operationId":"Email-get_mailman_delegates","x-cpanel-api-version":"UAPI","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  get_mailman_delegates \\\n  list='mylist'\n","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Email/get_mailman_delegates?list=mylist","label":"URL","lang":"HTTP"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_get_mailman_delegates.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_get_mailman_delegates.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/get_mailman_delegates/,\n    {\n        'list' => 'mylist',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_get_mailman_delegates.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_get_mailman_delegates.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'get_mailman_delegates',\n    array (\n        'list' => 'mylist',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Return mailing list administrators","x-cpanel-available-version":"cPanel 11.42","description":"This function lists a mailing list's administrators.\n\n**Important:**\n\nWhen you disable the [Receive Mail](https://go.cpanel.net/serverroles) role, the system **disables** this function."}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/"},"security":[{"BasicAuth":[]}],"openapi":"3.0.2","tags":[{"name":"Email","description":"The Email module for UAPI."},{"name":"Mailing Lists","description":"Email / Mailing Lists"}],"servers":[{"description":"A server running cPanel.","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"x-tagGroups":[{"name":"Email","tags":["Mailing Lists"]}]},"suspend_login":{"paths":{"/Email/suspend_login":{"get":{"x-rollback":"none","description":"This function suspends a user's ability to log in to their email account. This function immediately suspends the user's login credentials and prevents future authenticated connections to the email account.\n\n**Notes:**\n\n* When you suspend an account, the user's account still receives email.\n* To suspend incoming email for an account, use the UAPI `Email::suspend_incoming` function.\n* To remove the login suspension for an account, use the UAPI `Email::unsuspend_login` function.\n\n**Important:**\n\nWhen you disable the [Receive Mail role](https://go.cpanel.net/serverroles), the system **disables** this function.","parameters":[{"in":"query","name":"email","schema":{"example":"user@example.com","format":"email","type":"string"},"required":true,"description":"The email user's account name."}],"x-cpanel-api-version":"UAPI","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  suspend_login \\\n  email='user@example.com'\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Email/suspend_login?email=user%40example.com","lang":"HTTP","label":"URL"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_suspend_login.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_suspend_login.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/suspend_login/,\n    {\n        'email' => 'user@example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_suspend_login.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_suspend_login.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'suspend_login',\n    array (\n        'email' => 'user@example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Suspend email account login","x-cpanel-available-version":"cPanel 54","x-readonly":false,"operationId":"Email-suspend_login","tags":["Email","Email Suspensions"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"func":{"description":"The name of the method called.","example":"suspend_login","type":"string"},"result":{"properties":{"status":{"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","example":1,"enum":[0,1],"type":"integer"},"errors":{"example":null,"description":"List of errors if the API failed.","items":{"type":"string"},"nullable":true,"type":"array"},"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null},"data":{"type":"object","nullable":true,"default":null},"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API."},"metadata":{"properties":{}}}},"module":{"example":"Email","description":"The name of the module called.","type":"string"},"apiversion":{"type":"integer","description":"The version of the API.","example":3}}}}}}}}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"security":[{"BasicAuth":[]}],"openapi":"3.0.2","servers":[{"variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"tags":[{"name":"Email","description":"The Email module for UAPI."},{"name":"Email Suspensions","description":"Email / Email Suspensions"}],"x-tagGroups":[{"tags":["Email Suspensions"],"name":"Email"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}}},"remove_mailman_delegates":{"paths":{"/Email/remove_mailman_delegates":{"get":{"parameters":[{"description":"The mailing list.","required":true,"schema":{"example":"mylist","type":"string"},"in":"query","name":"list"},{"required":true,"description":"list of the administrators to remove.","schema":{"example":"user@example.com,admin@example.com","type":"string"},"name":"delegates","in":"query"}],"x-rollback":"none","description":"This function removes an account's mailing list administrative privileges.","x-readonly":false,"operationId":"Email-remove_mailman_delegates","tags":["Email","Mailing Lists"],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"apiversion":{"description":"The version of the API.","example":3,"type":"integer"},"result":{"type":"object","properties":{"warnings":{"nullable":true,"type":"array","example":null,"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"}},"data":{"properties":{"delegates":{"type":"array","items":{"example":"secondadmin@example.com","type":"string"},"description":"An array of the mailing list's administrators. One or more email addresses."},"metadata":{"properties":{"transformed":{}},"type":"object"}},"type":"object"},"metadata":{"properties":{}},"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null},"status":{"type":"integer","enum":[0,1],"example":1,"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details."}}},"module":{"example":"Email","description":"The name of the module called.","type":"string"},"func":{"description":"The name of the method called.","example":"remove_mailman_delegates","type":"string"}},"type":"object"}}},"description":"HTTP Request was successful."}},"x-cpanel-api-version":"UAPI","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  remove_mailman_delegates \\\n  list='mylist' \\\n  delegates='user@example.com,admin@example.com'\n"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/Email/remove_mailman_delegates?list=mylist&delegates=user%40example.com%2cadmin%40example.com"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_remove_mailman_delegates.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_remove_mailman_delegates.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/remove_mailman_delegates/,\n    {\n        'list' => 'mylist',\n        'delegates' => 'user@example.com,admin@example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_remove_mailman_delegates.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_remove_mailman_delegates.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'remove_mailman_delegates',\n    array (\n        'list' => 'mylist',\n        'delegates' => 'user@example.com,admin@example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Remove account mailing list admin privileges","x-cpanel-available-version":"cPanel 11.42"}}},"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/"},"externalDocs":{"url":"https://cpanel.net/developers/"},"openapi":"3.0.2","tags":[{"name":"Email","description":"The Email module for UAPI."},{"description":"Email / Mailing Lists","name":"Mailing Lists"}],"servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}}}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"name":"Email","tags":["Mailing Lists"]}],"security":[{"BasicAuth":[]}]},"unset_manual_mx_redirects":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/","contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"}},"security":[{"BasicAuth":[]}],"x-tagGroups":[{"name":"Email","tags":["Email Accounts"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"servers":[{"variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"description":"The Email module for UAPI.","name":"Email"},{"description":"Email / Email Accounts","name":"Email Accounts"}],"paths":{"/Email/unset_manual_mx_redirects":{"get":{"parameters":[{"description":"The domain for which to add a manual MX redirect entry.\n\n**Note:**\n\n* To add multiple domain entries, increment the parameter. For example, use the `domain`, `domain-1`, and `domain-2` parameters.\n* For multiple domains, you **must** include its corresponding `mx_host` value.","required":true,"examples":{"single":{"summary":"Add a single manual MX redirect entry.","value":"'example.com'"},"multiple":{"value":"example.com&domain-1=example1.com&domain-2=example2.com","summary":"Add multiple manual MX redirect entries."}},"schema":{"example":"example.com","type":"string","format":"domain"},"name":"domain","in":"query"}],"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","x-readonly":false,"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"result":{"properties":{"status":{"type":"integer","description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","enum":[0,1],"example":1},"metadata":{"properties":{}},"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API."},"data":{"description":"A list of domains and the removed manual MX redirect entries.","example":{"example.com":"mailhostexample.com"},"type":"object","properties":{"additionalProperties":{"description":"The domain for which the function removed the manual MX redirect entry.\n\n* null — The domain did not have a manual MX redirect entry.\n\n**Note:**\n\nThis return's name is the `domain` parameter's value.","example":"mailhostexample.com","type":"string","nullable":true}}},"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."},"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."}}},"module":{"description":"The name of the module called.","example":"Email","type":"string"},"func":{"type":"string","example":"unset_manual_mx_redirects","description":"The name of the method called."},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}},"type":"object"}}}}},"tags":["Email","Email Accounts"],"x-cpanel-available-version":"cPanel 96","summary":"Remove manual MX redirection","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty --user=username Email unset_manual_mx_redirects domain='example.com'"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Email/unset_manual_mx_redirects?domain=example.com","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_unset_manual_mx_redirects.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_unset_manual_mx_redirects.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/unset_manual_mx_redirects/,\n    {\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_unset_manual_mx_redirects.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_unset_manual_mx_redirects.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'unset_manual_mx_redirects',\n    array (\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-api-version":"UAPI"}}}},"passwd_list":{"paths":{"/Email/passwd_list":{"get":{"parameters":[{"name":"list","in":"query","required":true,"description":"The full name (including the domain) of a Mailman mailing list on the cPanel account.","schema":{"type":"string","example":"mylist@example.com"}},{"description":"The new password.","required":true,"schema":{"example":"12345luggage","type":"string"},"in":"query","name":"password"}],"description":"This function changes a mailing list's password.\n\n**Important:**\n\nWhen you disable the [_Receive Mail_](https://go.cpanel.net/serverroles) role, the system **disables** this function.","x-rollback":"none","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"module":{"description":"The name of the module called.","example":"Email","type":"string"},"result":{"properties":{"status":{"type":"integer","description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","enum":[0,1],"example":1},"metadata":{"properties":{"transformed":{"type":"integer","description":"Post-processing may have transformed the data.","example":1,"enum":[1]}}},"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"},"example":null,"type":"array","nullable":true},"data":{"default":null,"type":"object","nullable":true},"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null},"errors":{"nullable":true,"type":"array","example":null,"description":"List of errors if the API failed.","items":{"type":"string"}}}},"func":{"type":"string","example":"passwd_list","description":"The name of the method called."}},"type":"object"}}}}},"tags":["Email","Mailing Lists"],"x-readonly":false,"operationId":"Email-passwd_list","x-cpanel-available-version":"cPanel 11.42","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  passwd_list \\\n  list='mylist@example.com' \\\n  password='12345luggage'\n","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Email/passwd_list?list=mylist%40example.com&password=12345luggage","label":"URL","lang":"HTTP"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_passwd_list.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_passwd_list.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/passwd_list/,\n    {\n        'list' => 'mylist@example.com',\n        'password' => '12345luggage',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_passwd_list.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_passwd_list.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'passwd_list',\n    array (\n        'list' => 'mylist@example.com',\n        'password' => '12345luggage',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"summary":"Update mailing list password","x-cpanel-api-version":"UAPI"}}},"security":[{"BasicAuth":[]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"tags":["Mailing Lists"],"name":"Email"}],"openapi":"3.0.2","servers":[{"variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"tags":[{"name":"Email","description":"The Email module for UAPI."},{"description":"Email / Mailing Lists","name":"Mailing Lists"}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"version":"11.89.0.9999","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/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}}},"get_held_message_count":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"}},"security":[{"BasicAuth":[]}],"x-tagGroups":[{"tags":["Email Accounts"],"name":"Email"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"tags":[{"name":"Email","description":"The Email module for UAPI."},{"name":"Email Accounts","description":"Email / Email Accounts"}],"openapi":"3.0.2","servers":[{"variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"paths":{"/Email/get_held_message_count":{"get":{"x-readonly":true,"operationId":"Email-get_held_message_count","parameters":[{"in":"query","name":"email","schema":{"format":"email","type":"string","example":"username@example.com"},"description":"The email address to query.","required":false}],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"func":{"example":"get_held_message_count","description":"The name of the method called.","type":"string"},"result":{"properties":{"messages":{"items":{"type":"string"},"description":"List of messages generated by the API.","example":null,"type":"array","nullable":true},"data":{"type":"integer","minimum":0,"description":"The number of messages currently held in the mail queue.","example":0},"warnings":{"example":null,"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"},"status":{"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","example":1,"enum":[0,1],"type":"integer"},"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"metadata":{"properties":{}}},"type":"object"},"module":{"type":"string","description":"The name of the module called.","example":"Email"},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}}}}}}},"tags":["Email","Email Accounts"],"summary":"Return email account's outgoing message count","x-cpanel-available-version":"cPanel 74","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  get_held_message_count\n","label":"CLI","lang":"Shell"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/Email/get_held_message_count"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_get_held_message_count.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_get_held_message_count.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/get_held_message_count/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_get_held_message_count.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_get_held_message_count.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'get_held_message_count'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"description":"This function returns the count of outbound email messages held in the mail queue for the specified email account.\n\n**Important:**\n\nWhen you disable the [Receive Mail role](https://go.cpanel.net/serverroles), the system **disables** this function.","x-cpanel-api-version":"UAPI"}}}},"delete_filter":{"security":[{"BasicAuth":[]}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"x-tagGroups":[{"tags":["Email Filtering"],"name":"Email"}],"servers":[{"description":"A server running cPanel.","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute"}],"openapi":"3.0.2","tags":[{"description":"The Email module for UAPI.","name":"Email"},{"name":"Email Filtering","description":"Email / Email Filtering"}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"paths":{"/Email/delete_filter":{"get":{"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.","parameters":[{"schema":{"example":"user@example.com","format":"email","type":"string"},"required":true,"description":"The email address that owns the filter.","in":"query","name":"account"},{"in":"query","name":"filtername","description":"The filter's name.","required":true,"schema":{"example":"coffee","type":"string"}}],"x-cpanel-available-version":"cPanel 11.42","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  delete_filter \\\n  account='user@example.com' \\\n  filtername='coffee'\n","lang":"Shell","label":"CLI"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/Email/delete_filter?account=user%40example.com&filtername=coffee"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_delete_filter.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_delete_filter.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/delete_filter/,\n    {\n        'account' => 'user@example.com',\n        'filtername' => 'coffee',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_delete_filter.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_delete_filter.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'delete_filter',\n    array (\n        'account' => 'user@example.com',\n        'filtername' => 'coffee',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Delete email account's email filter","x-cpanel-api-version":"UAPI","operationId":"Email-delete_filter","x-readonly":false,"tags":["Email","Email Filtering"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"module":{"example":"Email","description":"The name of the module called.","type":"string"},"result":{"properties":{"metadata":{"properties":{"transformed":{"type":"integer","example":1,"enum":[1],"description":"Post-processing may have transformed the data."}}},"errors":{"nullable":true,"type":"array","example":null,"description":"List of errors if the API failed.","items":{"type":"string"}},"warnings":{"example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","nullable":true,"type":"array"},"data":{"nullable":true,"type":"object","default":null},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}},"status":{"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","example":1,"enum":[0,1],"type":"integer"}}},"func":{"type":"string","example":"delete_filter","description":"The name of the method called."}},"type":"object"}}}}}}}}},"delete_mx":{"paths":{"/Email/delete_mx":{"get":{"x-cpanel-api-version":"UAPI","x-codeSamples":[{"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":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Email/delete_mx?domain=example.com&exchanger=mail.example.com&priority=15","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_delete_mx.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_delete_mx.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/delete_mx/,\n    {\n        'domain' => 'example.com',\n        'exchanger' => 'mail.example.com',\n        'priority' => '15',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_delete_mx.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_delete_mx.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'delete_mx',\n    array (\n        'domain' => 'example.com',\n        'exchanger' => 'mail.example.com',\n        'priority' => '15',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"summary":"Delete mail exchanger record","x-cpanel-available-version":"cPanel 11.42","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.","x-rollback":"none","parameters":[{"schema":{"example":"example.com","type":"string","format":"domain"},"description":"The mail exchanger's domain.","required":true,"name":"domain","in":"query"},{"schema":{"type":"string","example":"mail.example.com"},"description":"The mail exchanger's name.","required":true,"in":"query","name":"exchanger"},{"schema":{"minimum":1,"example":15,"type":"integer"},"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.","required":true,"in":"query","name":"priority"}],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"func":{"type":"string","description":"The name of the method called.","example":"delete_mx"},"module":{"type":"string","example":"Email","description":"The name of the module called."},"result":{"properties":{"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null},"warnings":{"example":null,"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"},"data":{"type":"object","properties":{"status":{"example":1,"enum":[0,1],"description":"Whether the function succeeded.\n* `1` - Success.\n* `0` - Failure.","type":"integer"},"results":{"type":"string","description":"A message of success, or an error message.\n* A message of success that begins with `Removed entry:`.\n* An error message.","example":"Removed entry: example.com. IN MX 15 mail.example.com\nBind reloading on example using rndc zone: [example.com]"},"statusmsg":{"type":"string","example":"Removed entry: example.com. IN MX 15 mail.example.com\nBind reloading on example using rndc zone: [example.com]","description":"A message of success, or an error message.\n* A message of success that begins with Added entry.\n* An error message."},"checkmx":{"description":"An object containing the mail exchanger's data.","type":"object","properties":{"isprimary":{"type":"integer","description":"Whether the mail exchanger is the primary mail exchanger.\n* `1` - Primary.\n* `0` - **Not** primary.","enum":[0,1],"example":0},"warnings":{"description":"Warning messages, if any exist.","items":{"type":"string"},"example":"Auto Detect of MX configuration not possible due to non-resolving MX entries. Defaulting to last known setting: local.","type":"string"},"local":{"example":0,"enum":[0,1],"description":"Whether the mail exchanger is a local exchanger.\n* `1` - Local.\n* `0` - **Not** local.","type":"integer"},"mxcheck":{"type":"string","enum":["auto","local","secondary","remote"],"example":"auto","description":"The mail exchanger type.\n* `auto`\n* `local`\n* `secondary`\n* `remote`"},"secondary":{"enum":[0,1],"example":0,"description":"Whether the mail exchanger is a secondary exchanger.\n* `1` - Secondary.\n* `0` - **Not** secondary.","type":"integer"},"detected":{"enum":["auto","local","secondary","remote"],"example":"auto","description":"The mail exchanger type.\n* `auto`\n* `local`\n* `secondary`\n* `remote`","type":"string"},"remote":{"type":"integer","description":"Whether the mail exchanger is a remote exchanger.\n* `1` - Remote.\n* `0` - **Not** remote.","enum":[0,1],"example":0},"issecondary":{"type":"integer","enum":[0,1],"example":0,"description":"Whether the mail exchanger is a secondary exchanger.\n* `1` - Secondary.\n* `0` - **Not** secondary."},"changed":{"description":"Whether a change occurred during the function.\n* `1` - Change occurred.\n* `0` - **No** change.","example":1,"enum":[0,1],"type":"integer"}}}}},"metadata":{"properties":{}},"status":{"type":"integer","enum":[0,1],"example":1,"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details."}},"type":"object"},"apiversion":{"example":3,"description":"The version of the API.","type":"integer"}},"type":"object"}}}}},"tags":["Email DNS Settings"],"operationId":"Email-delete_mx","x-readonly":false}}},"security":[{"BasicAuth":[]}],"openapi":"3.0.2","tags":[{"name":"Email DNS Settings","description":"DNS / Email DNS Settings"}],"servers":[{"variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"x-tagGroups":[{"tags":["Email DNS Settings"],"name":"DNS"}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"},"license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."}},"enable_spam_assassin":{"paths":{"/Email/enable_spam_assassin":{"get":{"summary":"Enable Apache SpamAssassin for cPanel account","x-cpanel-available-version":"cPanel 11.42","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  enable_spam_assassin\n","label":"CLI","lang":"Shell"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/Email/enable_spam_assassin"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_enable_spam_assassin.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_enable_spam_assassin.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/enable_spam_assassin/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_enable_spam_assassin.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_enable_spam_assassin.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'enable_spam_assassin'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"description":"This function enables Apache SpamAssassin™ for the account.\n\n**Important:**\n\nWhen you disable the [Spam Filter role](https://go.cpanel.net/serverroles), the system **disables** this function.","x-cpanel-api-version":"UAPI","x-rollback":"none","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"result":{"properties":{"status":{"type":"integer","example":1,"enum":[0,1],"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details."},"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"metadata":{"properties":{}},"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null,"type":"array","nullable":true},"data":{"nullable":true,"type":"object","default":null}}},"module":{"example":"Email","description":"The name of the module called.","type":"string"},"func":{"type":"string","description":"The name of the method called.","example":"enable_spam_assassin"},"apiversion":{"type":"integer","description":"The version of the API.","example":3}}}}}}},"tags":["Email","Spam Management"],"parameters":[],"x-readonly":false,"operationId":"Email-enable_spam_assassin"}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings."},"security":[{"BasicAuth":[]}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute"}],"tags":[{"description":"The Email module for UAPI.","name":"Email"},{"description":"Email / Spam Management","name":"Spam Management"}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"x-tagGroups":[{"tags":["Spam Management"],"name":"Email"}]},"fts_rescan_mailbox":{"paths":{"/Email/fts_rescan_mailbox":{"get":{"parameters":[{"required":true,"description":"The email user's account name.\n\n**Note:**\n\nIf you do not enter an email address, the function rescans the default email account.","schema":{"example":"username@example.com","format":"email","type":"string"},"in":"query","name":"account"}],"description":"This function requests that the IMAP Full-Text Search Indexing (powered by Apache Solr™) plugin rescan an email account.\n\n**Note:**\n\nTo enable this function, you **must** install the *IMAP Full-Text Search Indexing (powered by Apache Solr™)* plugin in WHM's [*Manage Plugins*](https://go.cpanel.net/whmdocsManagePlugins) interface (*WHM >> Home >> cPanel >> Manage Plugins*). For more information, read our [install_dovecot_fts script](https://go.cpanel.net/installdovecotftsscript) documentation.\n\n**Important:**\n\nWhen you disable the [Receive Mail role](https://go.cpanel.net/serverroles), the system disables this function.","x-rollback":"none","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"func":{"type":"string","example":"fts_rescan_mailbox","description":"The name of the method called."},"result":{"type":"object","properties":{"errors":{"example":null,"items":{"type":"string"},"description":"List of errors if the API failed.","nullable":true,"type":"array"},"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null},"data":{"type":"integer","example":1,"enum":[0,1],"description":"Whether the system started the rescan.\n* `1` - Success.\n* `0` - Failure."},"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API."},"metadata":{"properties":{}},"status":{"type":"integer","description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","enum":[0,1],"example":1}}},"module":{"type":"string","description":"The name of the module called.","example":"Email"}}}}}}},"tags":["Email","Email Server Information"],"x-readonly":false,"operationId":"Email-fts_rescan_mailbox","summary":"Start IMAP Full-Text Search scan for email account","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  fts_rescan_mailbox \\\n  account='username@example.com'\n","lang":"Shell","label":"CLI"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Email/fts_rescan_mailbox?account=username%40example.com","lang":"HTTP","label":"URL"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_fts_rescan_mailbox.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_fts_rescan_mailbox.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/fts_rescan_mailbox/,\n    {\n        'account' => 'username@example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_fts_rescan_mailbox.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_fts_rescan_mailbox.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'fts_rescan_mailbox',\n    array (\n        'account' => 'username@example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 70","x-cpanel-api-version":"UAPI"}}},"info":{"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"},"title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999"},"externalDocs":{"url":"https://cpanel.net/developers/"},"x-tagGroups":[{"tags":["Email Server Information"],"name":"Email"}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"servers":[{"description":"A server running cPanel.","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"url":"https://{host}:{port}/execute"}],"openapi":"3.0.2","tags":[{"description":"The Email module for UAPI.","name":"Email"},{"name":"Email Server Information","description":"Email / Email Server Information"}],"security":[{"BasicAuth":[]}]},"store_filter":{"security":[{"BasicAuth":[]}],"servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"description":"A server running cPanel."}],"tags":[{"description":"The Email module for UAPI.","name":"Email"},{"description":"Email / Email Filtering","name":"Email Filtering"}],"openapi":"3.0.2","x-tagGroups":[{"tags":["Email Filtering"],"name":"Email"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"paths":{"/Email/store_filter":{"get":{"operationId":"Email-store_filter","x-readonly":false,"parameters":[{"schema":{"format":"email","type":"string","example":"user@example.com"},"description":"The email address, for user-level filters. If you do not use this parameter, the function creates an account-level filter.","required":false,"name":"account","in":"query"},{"schema":{"example":"coffee","type":"string"},"required":true,"description":"The filter name.","name":"filtername","in":"query"},{"required":false,"description":"The name of an existing filter, to rename it. If you do not use this parameter, the function creates a new filter.","schema":{"example":"pool","type":"string"},"in":"query","name":"oldfiltername"},{"name":"action*","in":"query","required":true,"description":"The filter's action.\n\n* `deliver` - Deliver the message to the `dest*` address.\n* `fail` - Force a delivery failure.\n* `finish` - Stop processing the message.\n* `save` - Save the message to the `dest*` file.\n* `pipe` - Pipe the message to the `dest*` application.\n\n**Important:**\n\n* You **must** increment each action. For example, pass the first action as `action1` and the second action as `action2`.\n* This value **requires** the `FileStorage` role. For more information, read our [How to Use Server Profiles](https://docs.cpanel.net/knowledge-base/general-systems-administration/how-to-use-server-profiles) documentation.","examples":{"single":{"value":"deliver","summary":"Use a single filter action."},"multiple":{"value":"action1=deliver action2=save","summary":"Use multiple filter actions."}},"schema":{"anyOf":[{"type":"string","enum":["deliver","fail","finish","save","pipe"]}]}},{"schema":{"anyOf":[{"description":"A valid email address.","example":"cheesecloth@example.com","format":"email","type":"string"},{"format":"path","type":"string","example":"/path/to/thing","description":"A valid file or application path."}],"default":""},"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":{"value":"dest1=user@example.com dest2=user2@example.com","summary":"Use multiple destinations for filtered mail."},"single":{"summary":"Use a single destination for filtered mail.","value":"user@example.com"}},"name":"dest*","required":false,"in":"query"},{"examples":{"multiple":{"value":"match1=contains match2=matches","summary":"Use multiple match types."},"single":{"value":"contains","summary":"Use a single match type."}},"required":true,"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`.","schema":{"anyOf":[{"type":"string","example":"matches","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"]}]},"in":"query","name":"match*"},{"name":"opt*","in":"query","description":"The connection between multiple conditions.\n\n**Important:**\n\nYou **must** increment each connection. For example, pass the first connection as `opt1` and the second connection as `opt2`.","required":false,"examples":{"multiple":{"summary":"Use multiple connections between conditions.","value":"opt1=and opt2=and"},"single":{"summary":"Use a single connection between conditions.","value":"and"}},"schema":{"default":"and","anyOf":[{"type":"string","enum":["and","or"]}]}},{"name":"part*","in":"query","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 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.","required":true,"examples":{"single":{"value":"$header_from","summary":"Query a single email section."},"multiple":{"summary":"Query multiple email sections.","value":"part1=$header_from part2=$message_body"}}},{"schema":{"anyOf":[{"type":"string"},{"type":"integer"}]},"examples":{"single":{"value":"coconut","summary":"Match a single value."},"multiple":{"value":"val1=coconut val2=12","summary":"Match multiple values."}},"description":"The value to match.\n\n**Important:**\n\nYou **must** increment each value. For example, pass the first value as `val1` and the second value as `val2`.","required":true,"in":"query","name":"val*"}],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"type":"integer","description":"The version of the API.","example":3},"module":{"type":"string","example":"Email","description":"The name of the module called."},"result":{"type":"object","properties":{"status":{"type":"integer","description":"* `1` - Success\n* `0` - Failed. Check the errors field for more details.","enum":[0,1],"example":1},"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"},"errors":{"example":null,"description":"List of errors if the API failed.","items":{"type":"string"},"nullable":true,"type":"array"},"metadata":{"properties":{"transformed":{"description":"Post-processing may have transformed the data.","enum":[1],"example":1,"type":"integer"}}},"data":{"properties":{"account":{"format":"email","type":"string","example":"user@example.com","description":"The filter's email address. The function only returns this value if it created a user-level filter."}},"type":"object"},"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API."}}},"func":{"example":"store_filter","description":"The name of the method called.","type":"string"}}}}}}},"tags":["Email","Email Filtering"],"x-rollback":"none","x-cpanel-api-version":"UAPI","x-codeSamples":[{"lang":"Shell","label":"CLI","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"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/Email/store_filter?filtername=coffee&action%2a=deliver&match%2a=contains&part%2a=%24header_from&val%2a=coconut"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_store_filter.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_store_filter.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/store_filter/,\n    {\n        'filtername' => 'coffee',\n        'action*' => 'deliver',\n        'match*' => 'contains',\n        'part*' => '$header_from',\n        'val*' => 'coconut',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_store_filter.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_store_filter.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'store_filter',\n    array (\n        'filtername' => 'coffee',\n        'action*' => 'deliver',\n        'match*' => 'contains',\n        'part*' => '$header_from',\n        'val*' => 'coconut',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"summary":"Create email filter","x-cpanel-available-version":"cPanel 11.42","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."}}}},"add_domain_forwarder":{"paths":{"/Email/add_domain_forwarder":{"get":{"parameters":[{"required":true,"description":"The domain on the cPanel account from which to forward mail.","schema":{"format":"domain","type":"string","example":"example.com"},"name":"domain","in":"query"},{"name":"destdomain","in":"query","schema":{"example":"forwardtome.com","type":"string","format":"domain"},"required":true,"description":"The domain to receive forwarded mail."}],"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.","x-readonly":false,"operationId":"Email-add_domain_forwarder","tags":["Email","Email Forwarding"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"module":{"example":"Email","description":"The name of the module called.","type":"string"},"result":{"type":"object","properties":{"status":{"type":"integer","description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","enum":[0,1],"example":1},"messages":{"items":{"type":"string"},"description":"List of messages generated by the API.","example":null,"type":"array","nullable":true},"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"metadata":{"properties":{}},"warnings":{"example":null,"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"},"data":{"type":"string","description":"A message of success, or a reason for failure.\n* A message of success that lists the updated `vdomainaliases` file.\n* A reason for failure.","example":"File updated \"/etc/vdomainaliases/example.com\""}}},"func":{"type":"string","example":"add_domain_forwarder","description":"The name of the method called."},"apiversion":{"example":3,"description":"The version of the API.","type":"integer"}}}}}}},"x-cpanel-api-version":"UAPI","summary":"Create domain-level forwarder","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"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Email/add_domain_forwarder?domain=example.com&destdomain=forwardtome.com","lang":"HTTP","label":"URL"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_add_domain_forwarder.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_add_domain_forwarder.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/add_domain_forwarder/,\n    {\n        'domain' => 'example.com',\n        'destdomain' => 'forwardtome.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_add_domain_forwarder.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_add_domain_forwarder.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'add_domain_forwarder',\n    array (\n        'domain' => 'example.com',\n        'destdomain' => 'forwardtome.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-available-version":"cPanel 11.42"}}},"x-tagGroups":[{"tags":["Email Forwarding"],"name":"Email"}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"openapi":"3.0.2","servers":[{"variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"tags":[{"description":"The Email module for UAPI.","name":"Email"},{"description":"Email / Email Forwarding","name":"Email Forwarding"}],"security":[{"BasicAuth":[]}],"info":{"license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"}},"externalDocs":{"url":"https://cpanel.net/developers/"}},"set_always_accept":{"security":[{"BasicAuth":[]}],"openapi":"3.0.2","tags":[{"name":"Email","description":"The Email module for UAPI."},{"description":"Email / Email Server Information","name":"Email Server Information"}],"servers":[{"url":"https://{host}:{port}/execute","variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"description":"The cPanel port.","default":"2083"}},"description":"A server running cPanel."}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"x-tagGroups":[{"tags":["Email Server Information"],"name":"Email"}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/"},"paths":{"/Email/set_always_accept":{"get":{"tags":["Email","Email Server Information"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"func":{"type":"string","example":"set_always_accept","description":"The name of the method called."},"result":{"properties":{"messages":{"items":{"type":"string"},"description":"List of messages generated by the API.","example":null,"type":"array","nullable":true},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"metadata":{"properties":{}},"warnings":{"type":"array","nullable":true,"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"},"example":null},"data":{"properties":{"status":{"description":"Whether the function succeeded.\n* `1` — Success.\n* `0` — Failure.","example":1,"enum":[0,1],"type":"integer"},"statusmsg":{"example":"Set Always Accept Status to: local","description":"A message of success or a reason for failure.\n* A message of success that includes the new type.\n* A string that describes an error.","type":"string"},"checkmx":{"type":"object","properties":{"issecondary":{"type":"integer","enum":[0,1],"example":0,"description":"Whether the mail exchanger is a secondary exchanger.\n* `1` — Secondary.\n* `0` — **Not** secondary."},"changed":{"enum":[0,1],"example":1,"description":"Whether a change occurred during the function.\n* `1` — Change occurred.\n* `0` — **No** change.","type":"integer"},"detected":{"example":"auto","enum":["auto","local","secondary","remote"],"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.","type":"string"},"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","enum":["auto","local","secondary","remote"],"type":"string"},"secondary":{"example":0,"enum":[0,1],"description":"Whether the mail exchanger is a secondary exchanger.\n* `1` — Secondary.\n* `0` — **Not** secondary.","type":"integer"},"remote":{"type":"integer","description":"Whether the mail exchanger is a remote exchanger.\n* `1` — Remote.\n* `0` — **Not** remote.","example":0,"enum":[0,1]},"warnings":{"items":{"type":"string","example":"Auto Detect of MX configuration not possible due to non-resolving MX entries. Defaulting to last known setting: local."},"description":"An array of warning messages, if any exist. One or more warning messages.","type":"array"},"local":{"enum":[0,1],"example":0,"description":"Whether the mail exchanger is a local exchanger.\n* `1` — Local.\n* `0` — **Not** local.","type":"integer"},"isprimary":{"type":"integer","description":"Whether the mail exchanger is the primary mail exchanger.\n* `1` —  Primary.\n* `0` — **Not** primary.","example":0,"enum":[0,1]}},"description":"An object containing the mail exchanger's data."},"local":{"type":"integer","example":0,"enum":[0,1],"description":"Whether the mail exchanger is a local exchanger.\n* `1` — Local.\n* `0` — **Not** local."},"results":{"example":"Set Always Accept Status to: local","description":"A message of success or a reason for failure.\n* A message of success that includes the new type.\n* A string that describes an error.","type":"string"},"mxcheck":{"example":"auto","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.","type":"string"},"detected":{"type":"string","description":"The mail exchanger type.\n  * `auto` — Allow cPanel to determine the appropriate role.\n  * `local` — Always accept the domain's mail.\n  * `secondary` — Accept mail until a higher priority mail server is available.\n  * `remote` — Do **not** accept mail.","example":"auto"},"secondary":{"type":"integer","description":"Whether the mail exchanger is a secondary exchanger.\n* `1` — Secondary.\n* `0` — **Not** secondary.","enum":[0,1],"example":0},"remote":{"type":"integer","example":0,"enum":[0,1],"description":"Whether the mail exchanger is a remote exchanger.\n* `1` — Remote.\n* `0` — **Not** remote."}},"type":"object"},"status":{"type":"integer","description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","enum":[0,1],"example":1}},"type":"object"},"module":{"example":"Email","description":"The name of the module called.","type":"string"},"apiversion":{"example":3,"description":"The version of the API.","type":"integer"}},"type":"object"}}}}},"operationId":"Email-set_always_accept","x-readonly":false,"x-cpanel-available-version":"cPanel 11.42","summary":"Update Mail Exchanger type","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  set_always_accept \\\n  domain='example.com'\n","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Email/set_always_accept?domain=example.com","label":"URL","lang":"HTTP"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_set_always_accept.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_set_always_accept.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/set_always_accept/,\n    {\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_set_always_accept.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_set_always_accept.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'set_always_accept',\n    array (\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-api-version":"UAPI","parameters":[{"required":true,"description":"The mail exchanger's domain.","schema":{"format":"domain","type":"string","example":"example.com"},"in":"query","name":"domain"},{"schema":{"example":"auto","enum":["auto","local","secondary","remote"],"default":"auto","type":"string"},"description":"The mail exchanger type.\n* `auto` — Allow cPanel to determine the appropriate role.\n* `local` — Always accept the domain's mail.\n* `secondary` — Accept mail until a higher priority mail server is available.\n* `remote` — Do **not** accept mail.\n\n**Note:**\n\nThis parameter is redundant with the `alwaysaccept` parameter. Do **not** enter the `mxcheck` and `alwaysaccept`\nparameters at the same time. [Undefined behavior](https://en.wikipedia.org/wiki/Undefined_behavior) may occur if this\nhappens.","required":false,"in":"query","name":"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.\n\n**Note:**\n\nThis parameter is redundant with the `mxcheck` parameter. Do **not** enter the `mxcheck` and `alwaysaccept`\nparameters at the same time. [Undefined behavior](https://en.wikipedia.org/wiki/Undefined_behavior) may occur if this\nhappens.","required":false,"schema":{"example":"auto","default":"auto","enum":["auto","local","secondary","remote"],"type":"string"},"in":"query","name":"alwaysaccept"}],"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.","x-rollback":"none"}}}},"set_manual_mx_redirects":{"info":{"contact":{"name":"WebPros International, LLC","email":"cs@cpanel.net","url":"https://cpanel.net/support/"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"x-tagGroups":[{"name":"Email","tags":["Email Accounts"]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute"}],"tags":[{"description":"The Email module for UAPI.","name":"Email"},{"description":"Email / Email Accounts","name":"Email Accounts"}],"security":[{"BasicAuth":[]}],"paths":{"/Email/set_manual_mx_redirects":{"get":{"x-rollback":"none","x-cpanel-api-version":"UAPI","x-codeSamples":[{"source":"uapi --output=jsonpretty --user=username Email set_manual_mx_redirects domain='example.com' mx_host='mailhostexample.com'","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Email/set_manual_mx_redirects?domain=example.com&mx_host=mailhostexample.com","label":"URL","lang":"HTTP"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_set_manual_mx_redirects.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_set_manual_mx_redirects.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/set_manual_mx_redirects/,\n    {\n        'domain' => 'example.com',\n        'mx_host' => 'mailhostexample.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_set_manual_mx_redirects.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_set_manual_mx_redirects.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'set_manual_mx_redirects',\n    array (\n        'domain' => 'example.com',\n        'mx_host' => 'mailhostexample.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Add manual MX redirection","x-cpanel-available-version":"cPanel 96","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","x-readonly":false,"parameters":[{"examples":{"multiple":{"value":"example.com&domain-1=example1.com&domain-2=example2.com","summary":"Add multiple manual MX redirect entries."},"single":{"value":"'example.com'","summary":"Add a single manual MX redirect entry."}},"required":true,"description":"The domain for which to add a manual MX redirect entry.\n\n**Note:**\n\n* To add multiple domain entries, increment the parameter. For example, use the `domain`, `domain-1`, and `domain-2` parameters.\n* For multiple domains, you **must** include its corresponding `mx_host` value.","schema":{"example":"example.com","format":"domain","type":"string"},"in":"query","name":"domain"},{"examples":{"multiple":{"summary":"Add multiple manual MX hosts.","value":"mailhostexample&mx_host-1=mailhostexample&mx_host-2=mailhostexample"},"single":{"value":"'mailhostexample'","summary":"Add a single manual MX host."}},"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.","required":true,"schema":{"oneOf":[{"description":"A domain name.","type":"string","format":"domain"},{"format":"ipv4","type":"string","description":"An IPv4 address."},{"type":"string","format":"ipv6","description":"An IPv6 address."}]},"in":"query","name":"mx_host"}],"tags":["Email","Email Accounts"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"result":{"properties":{"status":{"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","enum":[0,1],"example":1,"type":"integer"},"metadata":{"properties":{}},"warnings":{"nullable":true,"type":"array","example":null,"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"}},"data":{"description":"A list of domains and the replaced manual MX redirect entries.","example":{"example.com":"mailhostexample.com"},"properties":{"additionalProperties":{"type":"string","nullable":true,"description":"The domain for which the function replaced the manual MX redirect entry.\n\n* null — The domain did not have an existing manual MX redirect entry.\n\n**Note:**\n\nThis return's name is the `domain` parameter's value.","example":"mailhostexample.com"}},"type":"object"},"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null},"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true}}},"module":{"example":"Email","description":"The name of the module called.","type":"string"},"func":{"example":"set_manual_mx_redirects","description":"The name of the method called.","type":"string"}}}}}}}}}}},"has_delegated_mailman_lists":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI"},"security":[{"BasicAuth":[]}],"x-tagGroups":[{"tags":["Mailing Lists"],"name":"Email"}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"tags":[{"description":"The Email module for UAPI.","name":"Email"},{"description":"Email / Mailing Lists","name":"Mailing Lists"}],"openapi":"3.0.2","servers":[{"variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"paths":{"/Email/has_delegated_mailman_lists":{"get":{"tags":["Email","Mailing Lists"],"parameters":[{"schema":{"type":"string","format":"email","example":"user@example.com"},"description":"The email address.","required":true,"in":"query","name":"delegate"}],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"description":"The version of the API.","example":3,"type":"integer"},"module":{"type":"string","description":"The name of the module called.","example":"Email"},"result":{"properties":{"messages":{"items":{"type":"string"},"description":"List of messages generated by the API.","example":null,"type":"array","nullable":true},"errors":{"example":null,"items":{"type":"string"},"description":"List of errors if the API failed.","nullable":true,"type":"array"},"metadata":{"properties":{"transformed":{"type":"integer","example":1,"enum":[1],"description":"Post-processing may have transformed the data."}}},"warnings":{"example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","nullable":true,"type":"array"},"data":{"type":"integer","description":"Whether the email address has administrative privileges on one or more mailing lists on the cPanel account.\n* `1` — The email address has administrative privileges.\n* `0` — The email address does **not** have administrative privileges.","enum":[0,1],"example":1},"status":{"type":"integer","description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","example":1,"enum":[0,1]}},"type":"object"},"func":{"example":"has_delegated_mailman_lists","description":"The name of the method called.","type":"string"}}}}}}},"operationId":"Email-has_delegated_mailman_lists","x-readonly":true,"x-cpanel-api-version":"UAPI","description":"This function checks an account's administrative privileges on mailing lists.\n\n**Important:**\n\nWhen you disable the [Receive Mail role](https://go.cpanel.net/serverroles), the system **disables** this function.","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"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/Email/has_delegated_mailman_lists?delegate=user%40example.com"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_has_delegated_mailman_lists.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_has_delegated_mailman_lists.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/has_delegated_mailman_lists/,\n    {\n        'delegate' => 'user@example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_has_delegated_mailman_lists.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_has_delegated_mailman_lists.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'has_delegated_mailman_lists',\n    array (\n        'delegate' => 'user@example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"summary":"Return email account's mailing list privileges","x-cpanel-available-version":"cPanel 11.42"}}}},"passwd_pop":{"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"tags":["Email Accounts"],"name":"Email"}],"tags":[{"name":"Email","description":"The Email module for UAPI."},{"name":"Email Accounts","description":"Email / Email Accounts"}],"openapi":"3.0.2","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":{"description":"The cPanel port.","default":"2083"}}}],"security":[{"BasicAuth":[]}],"info":{"license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/Email/passwd_pop":{"get":{"x-cpanel-api-version":"UAPI","summary":"Update email account password","x-cpanel-available-version":"cPanel 11.42","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  passwd_pop \\\n  email='username@example.com' \\\n  password='12345luggage'\n","lang":"Shell","label":"CLI"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Email/passwd_pop?email=username%40example.com&password=12345luggage","label":"URL","lang":"HTTP"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_passwd_pop.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_passwd_pop.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/passwd_pop/,\n    {\n        'email' => 'username@example.com',\n        'password' => '12345luggage',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_passwd_pop.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_passwd_pop.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'passwd_pop',\n    array (\n        'email' => 'username@example.com',\n        'password' => '12345luggage',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"description":"This function changes an email account's password.\n\n**Important:**\n\nWhen you disable the [Receive Mail role](https://go.cpanel.net/serverroles), the system **disables** this function.","x-rollback":"none","parameters":[{"in":"query","name":"email","example":"username@example.com","description":"The email account username or address.","required":true,"schema":{"anyOf":[{"type":"string","format":"email","example":"username@example.com"},{"format":"username","type":"string","example":"username"}]}},{"in":"query","name":"password","schema":{"type":"string","example":"12345luggage"},"description":"The email account password.","required":true},{"required":false,"description":"The email account's domain.","schema":{"type":"string","format":"domain","default":"the cPanel account's main domain","example":"example.com"},"name":"domain","in":"query"}],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"result":{"properties":{"warnings":{"nullable":true,"type":"array","example":null,"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"}},"data":{"type":"object","nullable":true,"default":null},"metadata":{"properties":{}},"errors":{"example":null,"description":"List of errors if the API failed.","items":{"type":"string"},"nullable":true,"type":"array"},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}},"status":{"type":"integer","description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details.","enum":[0,1],"example":1}}},"module":{"type":"string","example":"Email","description":"The name of the module called."},"func":{"description":"The name of the method called.","example":"passwd_pop","type":"string"},"apiversion":{"type":"integer","description":"The version of the API.","example":3}}}}}}},"tags":["Email","Email Accounts"],"x-readonly":false,"operationId":"Email-passwd_pop"}}}},"enable_spam_box":{"info":{"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"tags":[{"description":"The Email module for UAPI.","name":"Email"},{"description":"Email / Spam Management","name":"Spam Management"}],"openapi":"3.0.2","servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"description":"A server running cPanel."}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"x-tagGroups":[{"name":"Email","tags":["Spam Management"]}],"security":[{"BasicAuth":[]}],"paths":{"/Email/enable_spam_box":{"get":{"parameters":[],"description":"This function enables spam box filtering for a cPanel account. When you enable spam box filtering, the system sends messages marked as spam to a spam folder.\n\n**Notes:**\n\n* This function **requires** that your hosting provider enables Apache SpamAssassin on the server.\n* To **disable** spam box filtering, use the UAPI `Email::disable_spam_box` function.\n* For more information, read our [Spam Filters](https://go.cpanel.net/cpaneldocsSpamFilters) documentation.\n\n**Important:**\n\nWhen you disable the [Spam Filter](https://go.cpanel.net/serverroles) role, the system **disables** this function.","x-rollback":"none","tags":["Email","Spam Management"],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"func":{"description":"The name of the method called.","example":"enable_spam_box","type":"string"},"result":{"properties":{"status":{"type":"integer","example":1,"enum":[0,1],"description":"- 1 - Success\n- 0 - Failed: Check the errors field for more details."},"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}},"warnings":{"nullable":true,"type":"array","example":null,"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"}},"data":{"nullable":true,"type":"object","default":null},"metadata":{"properties":{}}}},"module":{"description":"The name of the module called.","example":"Email","type":"string"},"apiversion":{"type":"integer","description":"The version of the API.","example":3}},"type":"object"}}},"description":"HTTP Request was successful."}},"operationId":"Email-enable_spam_box","x-readonly":false,"x-cpanel-api-version":"UAPI","summary":"Enable spam box filtering for cPanel account","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"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_enable_spam_box.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_enable_spam_box.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/enable_spam_box/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_enable_spam_box.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_enable_spam_box.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'enable_spam_box'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"x-cpanel-available-version":"cPanel 70"}}}}},"Contactus":{"is_enabled":{"tags":[{"name":"Contactus","description":"The Contactus module for UAPI."},{"name":"Contact Information","description":"cPanel Account / Contact Information"}],"servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"description":"A server running cPanel."}],"openapi":"3.0.2","components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"x-tagGroups":[{"tags":["Contact Information"],"name":"cPanel Account"}],"security":[{"BasicAuth":[]}],"info":{"contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/"},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/Contactus/is_enabled":{"get":{"x-readonly":true,"operationId":"Contactus-is_enabled","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"module":{"example":"Contactus","description":"The name of the module called.","type":"string"},"result":{"properties":{"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"metadata":{"properties":{}},"messages":{"items":{"type":"string"},"description":"List of messages generated by the API.","example":null,"type":"array","nullable":true},"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"},"example":null,"type":"array","nullable":true},"data":{"properties":{"enabled":{"enum":[0,1],"example":1,"description":"Whether the cPanel account can contact their hosting provider\nfrom the cPanel interface.\n\n* `1` — The cPanel account can contact their hosting provider\nfrom the cPanel interface.\n* `0` — The cPanel account **cannot** contact their hosting\nprovider from the cPanel interface.","type":"integer"}},"type":"object"},"status":{"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","enum":[0,1],"example":1,"type":"integer"}},"type":"object"},"func":{"type":"string","example":"is_enabled","description":"The name of the method called."},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}},"type":"object"}}},"description":"HTTP Request was successful."}},"tags":["Contactus","Contact Information"],"summary":"Return whether contact option is enabled","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  Contactus \\\n  is_enabled\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/Contactus/is_enabled","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Contactus_is_enabled.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Contactus_is_enabled.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Contactus/,\n    q/is_enabled/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Contactus_is_enabled.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Contactus_is_enabled.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Contactus',\n    'is_enabled'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"x-cpanel-available-version":"cPanel 11.42","description":"This function checks whether the cPanel account can contact their hosting provider from the cPanel interface.","x-cpanel-api-version":"UAPI"}}}}},"DAV":{"disable_shared_global_addressbook":{"paths":{"/DAV/disable_shared_global_addressbook":{"get":{"summary":"Disable global address book","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  DAV \\\n  disable_shared_global_addressbook\n","label":"CLI","lang":"Shell"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/DAV/disable_shared_global_addressbook"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DAV_disable_shared_global_addressbook.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DAV_disable_shared_global_addressbook.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DAV/,\n    q/disable_shared_global_addressbook/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DAV_disable_shared_global_addressbook.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DAV_disable_shared_global_addressbook.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DAV',\n    'disable_shared_global_addressbook'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"x-cpanel-available-version":"cPanel 54","x-cpanel-api-version":"UAPI","x-readonly":false,"operationId":"DAV-disable_shared_global_addressbook","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"example":3,"description":"The version of the API.","type":"integer"},"func":{"type":"string","example":"disable_shared_global_addressbook","description":"The name of the method called."},"result":{"properties":{"data":{"properties":{"shared":{"description":"Whether the global address book is shared.\n* `1` — Shared.\n* `0` — **Not** shared.","example":1,"enum":[0,1],"type":"integer"}},"type":"object"},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null},"metadata":{"properties":{}},"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null},"status":{"enum":[0,1],"example":1,"description":"- `1` — Success.\n- `0` — Failed. Check the `errors` field for more details.","type":"integer"}},"type":"object"},"module":{"example":"DAV","description":"The name of the module called.","type":"string"}}}}},"description":"HTTP Request was successful."}},"tags":["DAV","Calendar and Contacts (DAV)"],"x-rollback":"none","description":"This function disables the shared global address book for the current cPanel account's webmail accounts.","parameters":[{"in":"query","name":"name","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.","required":false,"schema":{"example":"user","type":"string"}}]}}},"info":{"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/"},"externalDocs":{"url":"https://cpanel.net/developers/"},"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"x-tagGroups":[{"name":"Optional Applications","tags":["Calendar and Contacts (DAV)"]}],"servers":[{"description":"A server running cPanel.","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute"}],"openapi":"3.0.2","tags":[{"name":"DAV","description":"The DAV module for UAPI."},{"name":"Calendar and Contacts (DAV)","description":"Optional Applications / Calendar and Contacts (DAV)"}],"security":[{"BasicAuth":[]}]},"is_dav_service_enabled":{"security":[{"BasicAuth":[]}],"tags":[{"name":"DAV","description":"The DAV module for UAPI."},{"name":"Calendar and Contacts (DAV)","description":"Optional Applications / Calendar and Contacts (DAV)"}],"servers":[{"url":"https://{host}:{port}/execute","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}},"description":"A server running cPanel."}],"openapi":"3.0.2","x-tagGroups":[{"name":"Optional Applications","tags":["Calendar and Contacts (DAV)"]}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"}},"paths":{"/DAV/is_dav_service_enabled":{"get":{"operationId":"DAV-is_dav_service_enabled","x-readonly":true,"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"func":{"example":"is_dav_service_enabled","description":"The name of the method called.","type":"string"},"result":{"type":"object","properties":{"metadata":{"properties":{}},"warnings":{"nullable":true,"type":"array","example":null,"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"}},"data":{"properties":{"enabled":{"type":"integer","description":"Whether the DAV service is enabled.\n* `1` — Enabled.\n* `0` — Disabled.","enum":[0,1],"example":1}},"type":"object"},"messages":{"example":null,"description":"List of messages generated by the API.","items":{"type":"string"},"nullable":true,"type":"array"},"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"status":{"type":"integer","description":"- `1` — Success.\n- `0` — Failed. Check the `errors` field for more details.","enum":[0,1],"example":1}}},"module":{"type":"string","example":"DAV","description":"The name of the module called."},"apiversion":{"type":"integer","description":"The version of the API.","example":3}}}}}}},"tags":["DAV","Calendar and Contacts (DAV)"],"parameters":[],"x-cpanel-api-version":"UAPI","description":"This function checks whether the DAV service is enabled.","summary":"Return whether DAV is enabled","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  DAV \\\n  is_dav_service_enabled\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/DAV/is_dav_service_enabled","label":"URL","lang":"HTTP"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DAV_is_dav_service_enabled.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DAV_is_dav_service_enabled.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DAV/,\n    q/is_dav_service_enabled/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DAV_is_dav_service_enabled.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DAV_is_dav_service_enabled.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DAV',\n    'is_dav_service_enabled'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-available-version":"cPanel 11.50"}}}},"is_horde_enabled":{"paths":{"/DAV/is_horde_enabled":{"get":{"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.","x-cpanel-available-version":"cPanel 11.50","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  DAV \\\n  is_horde_enabled\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/DAV/is_horde_enabled","lang":"HTTP","label":"URL"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DAV_is_horde_enabled.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DAV_is_horde_enabled.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DAV/,\n    q/is_horde_enabled/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DAV_is_horde_enabled.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DAV_is_horde_enabled.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DAV',\n    'is_horde_enabled'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Return whether Horde is enabled","x-cpanel-api-version":"UAPI","operationId":"DAV-is_horde_enabled","x-readonly":true,"tags":["DAV","Calendar and Contacts (DAV)"],"parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"type":"integer","description":"The version of the API.","example":3},"func":{"example":"is_horde_enabled","description":"The name of the method called.","type":"string"},"module":{"example":"DAV","description":"The name of the module called.","type":"string"},"result":{"properties":{"status":{"type":"integer","description":"- `1` — Success.\n- `0` — Failed. Check the `errors` field for more details.","example":1,"enum":[0,1]},"errors":{"items":{"type":"string"},"description":"List of errors if the API failed.","example":null,"type":"array","nullable":true},"messages":{"type":"array","nullable":true,"description":"List of messages generated by the API.","items":{"type":"string"},"example":null},"warnings":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API."},"data":{"properties":{"enabled":{"description":"Whether Horde is enabled. Always false because horde is no longer installed with the product.\n* `0` — Disabled.","enum":[0],"example":0,"type":"integer"}},"type":"object"},"metadata":{"properties":{}}},"type":"object"}}}}},"description":"HTTP Request was successful."}}}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"security":[{"BasicAuth":[]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"x-tagGroups":[{"name":"Optional Applications","tags":["Calendar and Contacts (DAV)"]}],"openapi":"3.0.2","tags":[{"name":"DAV","description":"The DAV module for UAPI."},{"description":"Optional Applications / Calendar and Contacts (DAV)","name":"Calendar and Contacts (DAV)"}],"servers":[{"variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}]},"has_shared_global_addressbook":{"info":{"version":"11.89.0.9999","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/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"servers":[{"variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"openapi":"3.0.2","tags":[{"description":"The DAV module for UAPI.","name":"DAV"},{"name":"Calendar and Contacts (DAV)","description":"Optional Applications / Calendar and Contacts (DAV)"}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"x-tagGroups":[{"tags":["Calendar and Contacts (DAV)"],"name":"Optional Applications"}],"security":[{"BasicAuth":[]}],"paths":{"/DAV/has_shared_global_addressbook":{"get":{"x-cpanel-api-version":"UAPI","description":"This function checks whether the shared global address book is enabled on the current cPanel account's webmail accounts.","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  DAV \\\n  has_shared_global_addressbook\n","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/DAV/has_shared_global_addressbook","label":"URL","lang":"HTTP"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DAV_has_shared_global_addressbook.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DAV_has_shared_global_addressbook.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DAV/,\n    q/has_shared_global_addressbook/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DAV_has_shared_global_addressbook.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DAV_has_shared_global_addressbook.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DAV',\n    'has_shared_global_addressbook'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"summary":"Return whether global address book is enabled","x-cpanel-available-version":"cPanel 54","operationId":"DAV-has_shared_global_addressbook","x-readonly":true,"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"module":{"example":"DAV","description":"The name of the module called.","type":"string"},"result":{"properties":{"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null},"messages":{"items":{"type":"string"},"description":"List of messages generated by the API.","example":null,"type":"array","nullable":true},"warnings":{"nullable":true,"type":"array","example":null,"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"}},"data":{"properties":{"shared":{"enum":[0,1],"example":1,"description":"Whether the global address book is enabled.\n* `1` — Enabled.\n* `0` — **Not** enabled.","type":"integer"}},"type":"object"},"metadata":{"properties":{}},"status":{"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","example":1,"enum":[0,1],"type":"integer"}},"type":"object"},"func":{"type":"string","example":"has_shared_global_addressbook","description":"The name of the method called."},"apiversion":{"example":3,"description":"The version of the API.","type":"integer"}}}}}}},"tags":["DAV","Calendar and Contacts (DAV)"],"parameters":[{"schema":{"example":"user","type":"string"},"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.","required":false,"in":"query","name":"name"}]}}}},"enable_shared_global_addressbook":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/","contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"}},"security":[{"BasicAuth":[]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"x-tagGroups":[{"name":"Optional Applications","tags":["Calendar and Contacts (DAV)"]}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"}}}],"tags":[{"name":"DAV","description":"The DAV module for UAPI."},{"name":"Calendar and Contacts (DAV)","description":"Optional Applications / Calendar and Contacts (DAV)"}],"paths":{"/DAV/enable_shared_global_addressbook":{"get":{"operationId":"DAV-enable_shared_global_addressbook","x-readonly":false,"tags":["DAV","Calendar and Contacts (DAV)"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"result":{"type":"object","properties":{"metadata":{"properties":{}},"data":{"type":"object","properties":{"shared":{"description":"Whether the global address book is shared.\n* 1 — Shared.\n* 0 — **Not** shared.","example":1,"enum":[0,1],"type":"integer"}}},"warnings":{"nullable":true,"type":"array","example":null,"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"}},"messages":{"example":null,"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"},"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"status":{"type":"integer","description":"* 1 — Success.\n* 0 — Failed. Check the `errors` field for more details.","enum":[0,1],"example":1}}},"module":{"description":"The name of the module called.","example":"DAV","type":"string"},"func":{"type":"string","example":"enable_shared_global_addressbook","description":"The name of the method called."},"apiversion":{"example":3,"description":"The version of the API.","type":"integer"}},"type":"object"}}}}},"x-cpanel-api-version":"UAPI","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  DAV \\\n  enable_shared_global_addressbook\n","label":"CLI","lang":"Shell"},{"label":"URL","lang":"HTTP","source":"https://hostname.example.com:2083/cpsess##########/execute/DAV/enable_shared_global_addressbook"},{"label":"LiveAPI Perl","lang":"Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DAV_enable_shared_global_addressbook.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DAV_enable_shared_global_addressbook.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DAV/,\n    q/enable_shared_global_addressbook/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DAV_enable_shared_global_addressbook.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DAV_enable_shared_global_addressbook.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DAV',\n    'enable_shared_global_addressbook'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"summary":"Enable global address book","x-cpanel-available-version":"cPanel 54","parameters":[{"schema":{"type":"string","example":"user"},"required":false,"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.","name":"name","in":"query"}],"x-rollback":"none","description":"This function enables the shared global address book for the current cPanel account's webmail accounts."}}}},"get_calendar_contacts_config":{"paths":{"/DAV/get_calendar_contacts_config":{"get":{"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"apiversion":{"type":"integer","description":"The version of the API.","example":3},"func":{"type":"string","example":"get_calendar_contacts_config","description":"The name of the method called."},"module":{"type":"string","description":"The name of the module called.","example":"DAV"},"result":{"properties":{"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"},"example":null,"type":"array","nullable":true},"data":{"type":"object","properties":{"activesync":{"description":"Configuration details for ActiveSync.","properties":{"server":{"format":"domain","type":"string","example":"example.com","description":"The fully qualified domain name to connect to."},"user":{"type":"string","description":"The cPanel user or email account user to\nwhom the returned connection information pertains.\n\nIf you do **not** specify the `user` parameter,\nthis function returns the authenticated cPanel user.","example":"username"},"port":{"maximum":65535,"type":"integer","description":"The port number the system uses for secure ActiveSync connections.","example":2091,"minimum":1},"enabled":{"description":"Whether the server has ActiveSync enabled.\n* `1` — Enabled.\n* `0` — **Not** enabled.","example":1,"enum":[1,0],"type":"integer"}},"type":"object"},"no_ssl":{"description":"A list of non-SSL connection configurations.","properties":{"full_server":{"format":"url","type":"string","example":"http://example.com:2079/rpc/principal/example","description":"The absolute URL path and HTTP port to the user's CalDAV\nand CardDAV connection information.\n\n**Note:**\n\nThis information is useful for clients that do **not** support Autodiscovery."},"calendars":{"type":"array","description":"An array of objects containing the user's calendars.","items":{"type":"object","properties":{"description":{"description":"The description of the calendar.","example":"Custom calendar 1.","type":"string"},"url":{"example":"http://example.com:2079/calendars/example/calendar:ZcG9JBH68WXxfMVUgvSrUw1","description":"The absolute URL to the calendar.","type":"string","format":"url"},"name":{"example":"Calendar 1","description":"The name of the calendar.","type":"string"},"path":{"description":"The relative URL path to the calendar.","example":"/calendars/example/calendar:ZcG9JBH68WXxfMVUgvSrUw1","type":"string"}}}},"free_busy":{"type":"string","format":"url","description":"The absolute URL path and HTTP port to the user's\nCalDAV `free-busy-query` connection.\n\n**Note:**\n\nThis information is useful for clients that support Autodiscovery.","example":"http://server.example.com:2079/kronolith/fb.php?u=example"},"port":{"type":"integer","maximum":65535,"minimum":1,"description":"The port number that the system uses for non-SSL connections.","example":2079},"contacts":{"items":{"type":"object","properties":{"url":{"example":"https://example.com:2080/addressbooks/example/contacts:E-KKA5uQZyQJbTBKcGP3OQ6","description":"The absolute URL to the address book.","format":"url","type":"string"},"description":{"type":"string","example":"Custom address book 1.","description":"The description of the address book."},"name":{"example":"Custom 1","description":"The name of the address book.","type":"string"},"path":{"type":"string","description":"The relative URL to the address book.","example":"/addressbooks/example/contacts:E-KKA5uQZyQJbTBKcGP3OQ6"}}},"description":"An array of objects containing the user's address books.","type":"array"},"server":{"example":"http://example.com:2079","description":"The short server connection string that includes a domain name and a port that uses the HTTP protocol.","format":"url","type":"string"}},"type":"object"},"user":{"type":"string","description":"The cPanel user or email account user to\nwhom the returned connection information pertains.\n\nIf you do **not** specify the `user` parameter,\nthis function returns the authenticated cPanel user.","example":"username"},"ssl":{"description":"A list of SSL connection configurations.","type":"object","properties":{"is_self_signed":{"enum":[1,0],"example":1,"description":"Whether the server uses a self-signed certificate.\n\n* `1` — Self-signed.\n* `0` — **Not** self-signed.","type":"integer"},"server":{"type":"string","format":"url","description":"The short server connection string that includes a\ndomain name and a port that uses the HTTPS protocol.\n\n**Note:**\n\nThis value is useful for clients that support Autodiscovery.","example":"https://example.com:2080"},"contacts":{"type":"array","description":"An array of objects containing the user's address books.","items":{"type":"object","properties":{"name":{"type":"string","description":"The name of the address book.","example":"Address book 2"},"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","type":"string","format":"url"},"description":{"description":"The description of the address book.","example":"Custom address book 2.","type":"string"}}}},"port":{"example":2080,"description":"The port number that the system uses for SSL connections.","minimum":1,"maximum":65535,"type":"integer"},"free_busy":{"example":"http://server.example.com:2080/kronolith/fb.php?u=example","description":"The absolute URL path and HTTPS port to the user's CalDAV\n`free-busy-query` connection.\n\n**Note:**\n\nThis information is useful for clients that support Autodiscovery.","format":"url","type":"string"},"calendars":{"type":"array","description":"An array of objects containing the user's calendars.","items":{"type":"object","properties":{"url":{"description":"The absolute URL to the calendar.","example":"http://example.com:2080/calendars/example/calendar:ZcG9JBH68WXxfMVUgvSrUw1","format":"url","type":"string"},"description":{"type":"string","description":"The description of the calendar.","example":"Custom calendar 2."},"path":{"type":"string","description":"The relative URL path to the calendar.","example":"/calendars/example/calendar:ZcG9JBH68WXxfMVUgvSrUw1"},"name":{"type":"string","description":"The name of the calendar.","example":"Calendar 2"}}}},"full_server":{"type":"string","format":"url","description":"The absolute URL path and HTTPS port to the user's CalDAV and\nCardDAV connection information.\n\n**Note:**\n\nThis information is useful for clients that do **not** support\nAutodiscovery.","example":"http://example.com:2080/rpc/principal/example"}}}}},"metadata":{"properties":{}},"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null},"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null},"status":{"example":1,"enum":[1,0],"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.","type":"integer"}},"type":"object"}},"type":"object"}}},"description":"HTTP Request was successful."}},"parameters":[{"in":"query","name":"user","schema":{"oneOf":[{"type":"string","format":"username","description":"A cPanel account.","example":"username"},{"example":"username@example.com","description":"A valid email account.","format":"email","type":"string"}]},"required":false,"description":"A cPanel account or valid email account user.\n\nIf you do **not** include this parameter, the function defaults to the current\nauthenticated user."}],"tags":["DAV","Calendar and Contacts (DAV)"],"operationId":"DAV-get_calendar_contacts_config","x-readonly":true,"x-cpanel-api-version":"UAPI","description":"This function returns the connection information to set up the CalDAV and CardDAV clients.","x-cpanel-available-version":"cPanel 11.50","x-codeSamples":[{"lang":"Shell","label":"CLI","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"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DAV_get_calendar_contacts_config.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DAV_get_calendar_contacts_config.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DAV/,\n    q/get_calendar_contacts_config/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DAV_get_calendar_contacts_config.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DAV_get_calendar_contacts_config.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DAV',\n    'get_calendar_contacts_config'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","lang":"PHP","label":"LiveAPI PHP"}],"summary":"Return CalDAV and CardDAV connection information"}}},"openapi":"3.0.2","tags":[{"description":"The DAV module for UAPI.","name":"DAV"},{"name":"Calendar and Contacts (DAV)","description":"Optional Applications / Calendar and Contacts (DAV)"}],"servers":[{"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."}},"description":"A server running cPanel."}],"x-tagGroups":[{"tags":["Calendar and Contacts (DAV)"],"name":"Optional Applications"}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"security":[{"BasicAuth":[]}],"info":{"contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/"},"externalDocs":{"url":"https://cpanel.net/developers/"}}},"CPDAVD":{"list_users":{"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"termsOfService":"https://cpanel.net/legal-notices/","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.119.0.9999","contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"}},"security":[{"BasicAuth":[]}],"x-tagGroups":[{"name":"Optional Applications","tags":["Calendar and Contacts (DAV)"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"servers":[{"url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"description":"A server running cPanel."}],"tags":[{"name":"CPDAVD","description":"The CPDAVD module for UAPI."},{"name":"Calendar and Contacts (DAV)","description":"Optional Applications / Calendar and Contacts (DAV)"}],"openapi":"3.0.2","paths":{"/CPDAVD/list_users":{"get":{"operationId":"CPDAVD-list_users","x-readonly":true,"parameters":[],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"func":{"description":"The name of the method called.","example":"list_users","type":"string"},"module":{"type":"string","description":"The name of the module called.","example":"CPDAVD"},"result":{"type":"object","properties":{"data":{"items":{"type":"object","additionalProperties":{"description":"The name of this property is the principal name.","additionalProperties":{"properties":{"description":{"type":"string","description":"The description of the collection."},"displayname":{"type":"string","description":"The name of the collection."},"protected":{"type":"integer","enum":[0,1],"example":1,"description":"If this value is `1`, then the collection cannot be deleted through the API."},"calendar-color":{"type":"string","description":"For calendars only: The color to use for calendar events.","example":"#ee5555"},"type":{"type":"string","description":"The type of the collection.","enum":["VADDRESSBOOK","VCALENDAR","VTODO"],"example":"VCALENDAR"}},"type":"object","description":"The name of this property is the collection id."},"type":"object"},"example":{"someone@example.com":{"addressbook":{"displayname":"cPanel CardDAV Address Book","protected":1,"description":"Default Address Book automatically created for your account.","type":"VADDRESSBOOK"},"calendar":{"description":"Default Calendar automatically created for your account.","displayname":"cPanel CalDAV Calendar","protected":1,"calendar-color":"#ff6c2c","type":"VCALENDAR"}}}},"type":"array"},"warnings":{"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"metadata":{"properties":{}},"errors":{"example":null,"description":"List of errors if the API failed.","items":{"type":"string"},"nullable":true,"type":"array"},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}},"status":{"description":"- `1` — Success.\n- `0` — Failed. Check the `errors` field for more details.","enum":[0,1],"example":1,"type":"integer"}}},"apiversion":{"example":3,"description":"The version of the API.","type":"integer"}},"type":"object"}}}}},"tags":["DAV","Calendar and Contacts (DAV)"],"x-cpanel-api-version":"UAPI","x-codeSamples":[{"label":"CLI","lang":"Shell","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  CPDAVD \\\n  list_users\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/CPDAVD/list_users","lang":"HTTP","label":"URL"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file CPDAVD_list_users.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/CPDAVD_list_users.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/CPDAVD/,\n    q/list_users/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file CPDAVD_list_users.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/CPDAVD_list_users.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'CPDAVD',\n    'list_users'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}\n","lang":"PHP","label":"LiveAPI PHP"}],"summary":"List CalDAV and CardDAV users","x-cpanel-available-version":"cPanel 120","description":"This function lists the users that are available for use with CalDAV and CardDAV"}}}},"manage_collection":{"info":{"version":"11.119.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"x-tagGroups":[{"name":"Optional Applications","tags":["Calendar and Contacts (DAV)"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"openapi":"3.0.2","tags":[{"description":"The CPDAVD module for UAPI.","name":"CPDAVD"},{"name":"Calendar and Contacts (DAV)","description":"Optional Applications / Calendar and Contacts (DAV)"}],"servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"port":{"description":"The cPanel port.","default":"2083"},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}}}],"security":[{"BasicAuth":[]}],"paths":{"/CPDAVD/manage_collection":{"get":{"x-rollback":"none","x-cpanel-available-version":"cPanel 120","x-codeSamples":[{"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","lang":"Shell","label":"CLI"},{"lang":"HTTP","label":"URL","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"},{"lang":"Perl","label":"LiveAPI Perl","source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file CPDAVD_manage_collection.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/CPDAVD_manage_collection.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/CPDAVD/,\n    q/manage_collection/,\n    {\n        'account' => 'user@example.com',\n        'action' => 'delete',\n        'path' => '/calendars/user@example.com/mycalendar',\n        'collection_type' => 'calendar',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file CPDAVD_manage_collection.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/CPDAVD_manage_collection.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'CPDAVD',\n    'manage_collection',\n    array (\n        'account' => 'user@example.com',\n        'action' => 'delete',\n        'path' => '/calendars/user@example.com/mycalendar',\n        'collection_type' => 'calendar',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}\n","label":"LiveAPI PHP","lang":"PHP"}],"summary":"Manage a calendar, task list, or address book","description":"This function creates, updates, or deletes a collection.","x-cpanel-api-version":"UAPI","operationId":"CPDAVD-manage_collection","x-readonly":false,"parameters":[{"in":"query","name":"account","description":"The owner of the calendar.","required":true,"schema":{"type":"string","example":"user@example.com"}},{"name":"action","in":"query","schema":{"enum":["create","update","delete"],"example":"delete","type":"string"},"description":"The action to perform (create, update, or delete a collection).","required":true},{"in":"query","name":"path","schema":{"example":"/calendars/user@example.com/mycalendar","type":"string"},"required":false,"description":"The path to the collection. Required for the `update` and `delete` actions, which use it to identify an existing collection. Optional for `create`, where omitting it autogenerates a path of the form `<collection_type>-<uuid>`."},{"schema":{"type":"string","example":"calendar","enum":["calendar","tasks","addressbook"]},"description":"The collection type.","required":true,"name":"collection_type","in":"query"},{"schema":{"type":"string","example":"My Calendar"},"description":"The name of the collection. Required when creating a collection.","name":"name","in":"query"},{"name":"description","in":"query","schema":{"example":"This is my calendar.","type":"string"},"description":"The description of the collection."},{"name":"calendar-color","in":"query","description":"The color of the calendar, if applicable.","required":false,"schema":{"example":"#ee5555","type":"string"}}],"tags":["DAV","Calendar and Contacts (DAV)"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"description":"The version of the API.","example":3,"type":"integer"},"result":{"properties":{"status":{"type":"integer","enum":[0,1],"example":1,"description":"- `1` — Success.\n- `0` — Failed. Check the `errors` field for more details."},"errors":{"example":null,"description":"List of errors if the API failed.","items":{"type":"string"},"nullable":true,"type":"array"},"messages":{"nullable":true,"type":"array","example":null,"description":"List of messages generated by the API.","items":{"type":"string"}},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.","example":null},"data":{"properties":{"shared":{"description":"Whether the operation succeeded.\n* `1` — Operation succeeded.\n* `0` — Operation did **not** succeed.","enum":[0,1],"example":1,"type":"integer"}},"type":"object"},"metadata":{"properties":{}}},"type":"object"},"module":{"type":"string","example":"CPDAVD","description":"The name of the module called."},"func":{"type":"string","example":"manage_collection","description":"The name of the method called."}}}}}}}}}}},"remove_delegate":{"security":[{"BasicAuth":[]}],"openapi":"3.0.2","tags":[{"description":"The CPDAVD module for UAPI.","name":"CPDAVD"},{"description":"Optional Applications / Calendar and Contacts (DAV)","name":"Calendar and Contacts (DAV)"}],"servers":[{"description":"A server running cPanel.","url":"https://{host}:{port}/execute","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}}}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"x-tagGroups":[{"tags":["Calendar and Contacts (DAV)"],"name":"Optional Applications"}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"version":"11.119.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"termsOfService":"https://cpanel.net/legal-notices/","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"paths":{"/CPDAVD/remove_delegate":{"get":{"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"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/CPDAVD/remove_delegate?delegator=first%40example.com&delegatee=second%40example.com&calendar=calendar","label":"URL","lang":"HTTP"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file CPDAVD_remove_delegate.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/CPDAVD_remove_delegate.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/CPDAVD/,\n    q/remove_delegate/,\n    {\n        'delegator' => 'first@example.com',\n        'delegatee' => 'second@example.com',\n        'calendar' => 'calendar',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file CPDAVD_remove_delegate.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/CPDAVD_remove_delegate.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'CPDAVD',\n    'remove_delegate',\n    array (\n        'delegator' => 'first@example.com',\n        'delegatee' => 'second@example.com',\n        'calendar' => 'calendar',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}\n"}],"summary":"Remove a share.","x-cpanel-available-version":"cPanel 120","x-cpanel-api-version":"UAPI","tags":["DAV","Calendar and Contacts (DAV)"],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"func":{"type":"string","description":"The name of the method called.","example":"remove_delegate"},"result":{"properties":{"status":{"enum":[0,1],"example":1,"description":"- `1` — Success.\n- `0` — Failed. Check the `errors` field for more details.","type":"integer"},"messages":{"example":null,"items":{"type":"string"},"description":"List of messages generated by the API.","nullable":true,"type":"array"},"warnings":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.","example":null},"data":{"type":"object","properties":{"shared":{"description":"Whether the sharing removal succeeded.\n* `1` — Removed.\n* `0` — **Not** removed.","enum":[0,1],"example":1,"type":"integer"}}},"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true},"metadata":{"properties":{}}},"type":"object"},"module":{"type":"string","example":"CPDAVD","description":"The name of the module called."},"apiversion":{"description":"The version of the API.","example":3,"type":"integer"}}}}},"description":"HTTP Request was successful."}},"x-readonly":false,"operationId":"CPDAVD-remove_delegate","description":"This function removes a share for the specified calendar.","x-rollback":"none","parameters":[{"required":true,"description":"The owner of the calendar, who wishes to remove the sharing.","schema":{"example":"first@example.com","type":"string"},"name":"delegator","in":"query"},{"name":"delegatee","in":"query","schema":{"type":"string","example":"second@example.com"},"description":"The person to whom the calendar was shared.","required":true},{"schema":{"type":"string","example":"calendar"},"required":true,"description":"The calendar that was shared.","name":"calendar","in":"query"}]}}}},"update_delegate":{"paths":{"/CPDAVD/update_delegate":{"get":{"description":"This function updates a share for the specified calendar.","x-rollback":"none","parameters":[{"name":"delegator","in":"query","schema":{"example":"first@example.com","type":"string"},"description":"The owner of the calendar, who wishes to change the details of the sharing.","required":true},{"required":true,"description":"The person to whom you will share the calendar.","schema":{"example":"second@example.com","type":"string"},"name":"delegatee","in":"query"},{"required":true,"description":"The calendar to share.","schema":{"example":"calendar","type":"string"},"name":"calendar","in":"query"},{"in":"query","name":"readonly","schema":{"enum":[0,1],"example":1,"type":"integer"},"required":false,"description":"If set, the provided access will be read-only."}],"x-cpanel-api-version":"UAPI","summary":"Update calendar sharing.","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"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/CPDAVD/update_delegate?delegator=first%40example.com&delegatee=second%40example.com&calendar=calendar"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file CPDAVD_update_delegate.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/CPDAVD_update_delegate.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/CPDAVD/,\n    q/update_delegate/,\n    {\n        'delegator' => 'first@example.com',\n        'delegatee' => 'second@example.com',\n        'calendar' => 'calendar',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"lang":"PHP","label":"LiveAPI PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file CPDAVD_update_delegate.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/CPDAVD_update_delegate.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'CPDAVD',\n    'update_delegate',\n    array (\n        'delegator' => 'first@example.com',\n        'delegatee' => 'second@example.com',\n        'calendar' => 'calendar',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}\n"}],"x-cpanel-available-version":"cPanel 120","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"func":{"example":"update_delegate","description":"The name of the method called.","type":"string"},"module":{"example":"CPDAVD","description":"The name of the module called.","type":"string"},"result":{"properties":{"data":{"properties":{"shared":{"enum":[0,1],"example":1,"description":"Whether the sharing succeeded.\n* `1` — Shared.\n* `0` — **Not** shared.","type":"integer"}},"type":"object"},"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.","example":null,"type":"array","nullable":true},"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."},"status":{"type":"integer","description":"- `1` — Success.\n- `0` — Failed. Check the `errors` field for more details.","example":1,"enum":[0,1]},"metadata":{"properties":{}},"errors":{"example":null,"items":{"type":"string"},"description":"List of errors if the API failed.","nullable":true,"type":"array"}},"type":"object"},"apiversion":{"type":"integer","description":"The version of the API.","example":3}},"type":"object"}}}}},"tags":["DAV","Calendar and Contacts (DAV)"],"x-readonly":false,"operationId":"CPDAVD-update_delegate"}}},"info":{"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.119.0.9999","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"}},"externalDocs":{"url":"https://cpanel.net/developers/"},"tags":[{"name":"CPDAVD","description":"The CPDAVD module for UAPI."},{"description":"Optional Applications / Calendar and Contacts (DAV)","name":"Calendar and Contacts (DAV)"}],"openapi":"3.0.2","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":{"description":"The cPanel port.","default":"2083"}}}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"x-tagGroups":[{"tags":["Calendar and Contacts (DAV)"],"name":"Optional Applications"}],"security":[{"BasicAuth":[]}]},"list_delegates":{"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"host":{"default":"cpanel-server.tld","description":"The hostname of a server running cPanel"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute"}],"tags":[{"name":"CPDAVD","description":"The CPDAVD module for UAPI."},{"name":"Calendar and Contacts (DAV)","description":"Optional Applications / Calendar and Contacts (DAV)"}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"x-tagGroups":[{"name":"Optional Applications","tags":["Calendar and Contacts (DAV)"]}],"security":[{"BasicAuth":[]}],"info":{"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"},"termsOfService":"https://cpanel.net/legal-notices/","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"title":"cPanel UAPI","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.119.0.9999"},"externalDocs":{"url":"https://cpanel.net/developers/"},"paths":{"/CPDAVD/list_delegates":{"get":{"x-cpanel-api-version":"UAPI","description":"This function lists the sharing configuration in calendars for this account.","x-cpanel-available-version":"cPanel 120","x-codeSamples":[{"lang":"Shell","label":"CLI","source":"uapi --output=jsonpretty \\\n  --user=username \\\n  CPDAVD \\\n  list_delegates\n"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/CPDAVD/list_delegates","label":"URL","lang":"HTTP"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file CPDAVD_list_delegates.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/CPDAVD_list_delegates.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/CPDAVD/,\n    q/list_delegates/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file CPDAVD_list_delegates.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/CPDAVD_list_delegates.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'CPDAVD',\n    'list_delegates'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}\n","lang":"PHP","label":"LiveAPI PHP"}],"summary":"List calendar sharing.","tags":["DAV","Calendar and Contacts (DAV)"],"parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"func":{"description":"The name of the method called.","example":"list_delegates","type":"string"},"result":{"properties":{"status":{"example":1,"enum":[0,1],"description":"- `1` — Success.\n- `0` — Failed. Check the `errors` field for more details.","type":"integer"},"metadata":{"properties":{}},"data":{"items":{"type":"object","properties":{"calendar":{"description":"The calendar id.","example":"calendar","type":"string"},"delegatee":{"description":"The person to whom the owner of the calendar shared it.","example":"second@example.com","type":"string"},"delegator":{"type":"string","example":"first@example.com","description":"The owner of the calendar."},"readonly":{"type":"integer","enum":[0,1],"example":0,"description":"If set to `1`, the `delegatee` only has read access to the calendar."},"calname":{"type":"string","description":"The name of the calendar.","example":"cPanel CalDAV Calendar"}}},"type":"array"},"warnings":{"example":null,"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.","items":{"type":"string"},"nullable":true,"type":"array"},"messages":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of messages generated by the API.","example":null},"errors":{"description":"List of errors if the API failed.","items":{"type":"string"},"example":null,"type":"array","nullable":true}},"type":"object"},"module":{"type":"string","example":"CPDAVD","description":"The name of the module called."},"apiversion":{"type":"integer","example":3,"description":"The version of the API."}}}}},"description":"HTTP Request was successful."}},"operationId":"CPDAVD-list_delegates","x-readonly":true}}}},"add_delegate":{"security":[{"BasicAuth":[]}],"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute"}],"tags":[{"description":"The CPDAVD module for UAPI.","name":"CPDAVD"},{"name":"Calendar and Contacts (DAV)","description":"Optional Applications / Calendar and Contacts (DAV)"}],"x-tagGroups":[{"name":"Optional Applications","tags":["Calendar and Contacts (DAV)"]}],"components":{"schemas":{},"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.119.0.9999","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"name":"cPanel License","url":"https://cpanel.net/legal-notices/"},"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"}},"paths":{"/CPDAVD/add_delegate":{"get":{"description":"This function adds a share for the specified calendar.","x-rollback":"none","parameters":[{"in":"query","name":"delegator","schema":{"type":"string","example":"first@example.com"},"description":"The owner of the calendar, who wishes to share it to another user.","required":true},{"in":"query","name":"delegatee","schema":{"type":"string","example":"second@example.com"},"required":true,"description":"The person to whom you will share the calendar."},{"description":"The calendar to share.","required":true,"schema":{"example":"calendar","type":"string"},"name":"calendar","in":"query"},{"schema":{"example":1,"enum":[0,1],"type":"integer"},"required":false,"description":"If set, the provided access will be read-only.","in":"query","name":"readonly"}],"x-cpanel-available-version":"cPanel 120","x-codeSamples":[{"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","lang":"Shell","label":"CLI"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/CPDAVD/add_delegate?delegator=first%40example.com&delegatee=second%40example.com&calendar=calendar","label":"URL","lang":"HTTP"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file CPDAVD_add_delegate.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/CPDAVD_add_delegate.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/CPDAVD/,\n    q/add_delegate/,\n    {\n        'delegator' => 'first@example.com',\n        'delegatee' => 'second@example.com',\n        'calendar' => 'calendar',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file CPDAVD_add_delegate.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/CPDAVD_add_delegate.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'CPDAVD',\n    'add_delegate',\n    array (\n        'delegator' => 'first@example.com',\n        'delegatee' => 'second@example.com',\n        'calendar' => 'calendar',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}\n"}],"summary":"Share a calendar","x-cpanel-api-version":"UAPI","tags":["DAV","Calendar and Contacts (DAV)"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"module":{"description":"The name of the module called.","example":"CPDAVD","type":"string"},"result":{"properties":{"status":{"description":"- `1` — Success.\n- `0` — Failed. Check the `errors` field for more details.","example":1,"enum":[0,1],"type":"integer"},"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."},"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"metadata":{"properties":{}},"data":{"type":"object","properties":{"shared":{"type":"integer","example":1,"enum":[0,1],"description":"Whether the sharing succeeded.\n* `1` — Shared.\n* `0` — **Not** shared."}}},"warnings":{"nullable":true,"type":"array","example":null,"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.","items":{"type":"string"}}},"type":"object"},"func":{"description":"The name of the method called.","example":"add_delegate","type":"string"},"apiversion":{"type":"integer","example":3,"description":"The version of the API."}},"type":"object"}}}}},"x-readonly":false,"operationId":"CPDAVD-add_delegate"}}}}},"StatsBar":{"get_stats":{"security":[{"BasicAuth":[]}],"openapi":"3.0.2","tags":[{"name":"StatsBar","description":"The StatsBar module for UAPI."},{"description":"cPanel Account / Resource Usage and Statistics","name":"Resource Usage and Statistics"}],"servers":[{"variables":{"port":{"default":"2083","description":"The cPanel port."},"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"x-tagGroups":[{"tags":["Resource Usage and Statistics"],"name":"cPanel Account"}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","email":"cs@cpanel.net","name":"WebPros International, LLC"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","termsOfService":"https://cpanel.net/legal-notices/","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"}},"paths":{"/StatsBar/get_stats":{"get":{"x-cpanel-api-version":"UAPI","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  StatsBar \\\n  get_stats \\\n  display='bandwidthusage|diskusage'\n","lang":"Shell","label":"CLI"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/StatsBar/get_stats?display=bandwidthusage%7cdiskusage"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\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/<theme_name>/\n#    to .../frontend/<theme_name>/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\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\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/<theme_name>/\n//    to .../frontend/<theme_name>/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\nheader('Content-Type: text/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}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"summary":"Return cPanel account statistics","x-cpanel-available-version":"cPanel 11.42","description":"This function retrieves a cPanel account's statistics.","tags":["StatsBar","Resource Usage and Statistics"],"parameters":[{"schema":{"type":"string","example":"bandwidthusage|diskusage"},"required":true,"description":"A pipe-delimited list of the account's statistics.\n\n<details>\n  <summary>Click for a list of available display parameters.</summary>\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</details>\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"},{"name":"warnings","in":"query","description":"Whether to return all results with a warning.\n\n* `1` — Return only warnings that **exceed** the `warninglevel` parameter's\nvalue.\n* `0` — Return all results.","required":false,"schema":{"type":"integer","nullable":true,"example":0,"enum":[1,0]}},{"name":"warninglevel","in":"query","schema":{"minimum":1,"example":87,"default":null,"nullable":true,"type":"integer","maximum":100},"required":false,"description":"The minimum level at which to return warnings."},{"schema":{"type":"integer","nullable":true,"example":0,"enum":[1,0]},"required":false,"description":"Whether to display results with a value of `100%`.\n\n* `1` — Display results with a value of `100%`.\n* `0` — Hide results with a value of `100%`.","in":"query","name":"warnout"},{"in":"query","name":"infinityimg","schema":{"example":"/home/example/infinity.png","default":null,"type":"string","nullable":true},"required":false,"description":"The absolute file path to an alternative infinity symbol image."},{"schema":{"nullable":true,"type":"string","default":null,"example":"infinity"},"description":"A phrase to represent infinity that the locales system can use.","required":false,"in":"query","name":"infinitylang"},{"in":"query","name":"rowcounter","required":false,"description":"The type of row.\n\n* `odd`\n* `even`","schema":{"type":"string","nullable":true,"example":"even","default":null}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"func":{"type":"string","example":"get_stats","description":"The name of the method called."},"module":{"type":"string","example":"StatsBar","description":"The name of the module called."},"result":{"properties":{"errors":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of errors if the API failed."},"messages":{"items":{"type":"string"},"description":"List of messages generated by the API.","example":null,"type":"array","nullable":true},"warnings":{"nullable":true,"type":"array","example":null,"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"}},"data":{"example":[{"module":"Stats","item":"Monthly Bandwidth Transfer","_count":"0.00","id":"bandwidthusage","near_limit_phrase":"You have transferred [format_bytes,_1] of your [format_bytes,_2] data allotment for this month.","percent20":0,"zeroisunlimited":1,"maxed_phrase":"You have transferred your maximum allotment of data ([format_bytes,_1]) for this month.","rowtype":"even","is_maxed":0,"normalized":1,"max":"1 GB","percent5":0,"percent10":0,"_max":"1024.00","units":"MB","name":"bandwidthusage","count":"0 bytes","_maxed":0,"percent":0,"feature":"bandwidth","phrase":"Monthly Bandwidth Transfer"},{"rowtype":"odd","max":"1 GB","is_maxed":0,"normalized":1,"zeroisunlimited":1,"maxed_phrase":"You are using your maximum storage allotment, [format_bytes,_1].","item":"Disk Space Usage","module":"Quota","id":"diskusage","percent20":0,"near_limit_phrase":"You are using [format_bytes,_1] of the [format_bytes,_2] of storage available to you.","_count":"1.75","langkey":"INDXDiskUsage","percent":0,"phrase":"Disk Space Usage","units":"MB","name":"diskusage","_maxed":0,"count":"1.75 MB","_max":"1024.00","percent10":0,"percent5":0}],"description":"An array of objects containing results from the queried account.","items":{"type":"object","properties":{"condition":{"type":"integer","description":"Whether the queried data's value possesses a conditional requirement.\n\n* `1` — Possesses a condition.\n* `0` — Does **not** possess a condition.\n\n**Note:**\n\nThe function will **only** return this value if it determines that the\nrelated statistic meets the subsystem installation requirements.","enum":[1,0]},"rowtype":{"description":"The queried value's row type.\n\n* `even`\n* `odd`","enum":["even","odd"],"type":"string"},"role":{"enum":["CalendarContact","DNS","FileStorage","FTP","MailLocal","MailReceive","MailSend","MySQL","Postgres","SpamFilter","Webmail","WebDisk","WebServer"],"description":"The queried value's role.\n\n* `CalendarContact`\n* `DNS`\n* `FileStorage`\n* `FTP`\n* `MailLocal`\n* `MailReceive`\n* `MailSend`\n* `MySQL`\n* `Postgres`\n* `SpamFilter`\n* `Webmail`\n* `WebDisk`\n* `WebServer`","type":"string"},"max":{"type":"string","description":"The queried value's maximum limit."},"normalized":{"enum":[1,0],"description":"Whether the function normalized the output values.\n\n* `1` — Normalized.\n* `0` — Did **not** normalize.","type":"integer"},"is_maxed":{"description":"Whether the queried value has reached its maximum value.\n\n* `1` — The queried value has reached its maximum value.\n* `0` — The queried value has **not** reached its maximum value.","enum":[1,0],"type":"integer"},"item":{"type":"string","description":"A human-readable version of the queried item."},"module":{"type":"string","description":"The module that retrieved the information.","example":"Quota"},"_count":{"type":"string","description":"The queried data's value."},"near_limit_phrase":{"type":"string","description":"The [`maketext`-formatted](https://go.cpanel.net/locale) message\nthat the interface displays when the user approaches their\nmaximum allowed value."},"percent20":{"type":"integer","multipleOf":20,"description":"The percentage of value that the system rounds to the nearest twenty, if applicable."},"id":{"description":"The queried item's reference name.","type":"string"},"maxed_phrase":{"description":"The [`maketext`-formatted](https://go.cpanel.net/locale) message\nthat the interface displays when the user reaches their maximum\nallowed value.","type":"string"},"zeroisunlimited":{"description":"Whether a value of `0` means unlimited or zero.\n\n* `1` — Unlimited.\n* `0` — Zero.","enum":[1,0],"type":"integer"},"name":{"type":"string","description":"The display key.","example":"diskusage"},"units":{"description":"The queried value's unit of measure.","type":"string"},"_maxed":{"type":"integer","description":"Whether the queried value reached its maximum value.\n\n* `1` — Reached maximum value.\n* `0` — Has **not** reached maximum value.","enum":[1,0]},"count":{"description":"The queried data's value.","type":"string"},"feature":{"type":"string","description":"The queried item's feature name."},"percent":{"type":"integer","description":"The percentage of value, if applicable."},"phrase":{"description":"The human-readable name of the queried item.","type":"string"},"percent5":{"description":"The percentage of value that the system rounds to the nearest five, if applicable.","multipleOf":5,"type":"integer"},"_max":{"type":"string","description":"The queried parameter's limit."},"percent10":{"multipleOf":10,"type":"integer","description":"The percentage of value that the system rounds to the nearest ten, if applicable."}}},"type":"array"},"metadata":{"properties":{}},"status":{"type":"integer","example":1,"enum":[1,0],"description":"* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details."}},"type":"object"},"apiversion":{"type":"integer","example":3,"description":"The version of the API."}}}}},"description":"HTTP Request was successful."}},"operationId":"StatsBar-get_stats","x-readonly":true}}}}},"PasswdStrength":{"get_required_strength":{"paths":{"/PasswdStrength/get_required_strength":{"get":{"operationId":"PasswdStrength-get_required_strength","x-readonly":true,"parameters":[{"description":"The application's name.","required":true,"schema":{"type":"string","enum":["createacct","ftp","htaccess","mysql","passwd","pop","postgres","sshkey","webdisk","virtual"],"example":"webdisk"},"name":"app","in":"query"}],"tags":["PasswdStrength","Password Strength"],"responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"properties":{"func":{"type":"string","example":"get_required_strength","description":"The name of the method called."},"result":{"type":"object","properties":{"metadata":{"properties":{}},"warnings":{"items":{"type":"string"},"description":"List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.","example":null,"type":"array","nullable":true},"data":{"type":"object","properties":{"strength":{"example":0,"description":"The application's minimum password strength.","minimum":0,"maximum":100,"type":"integer"}}},"messages":{"items":{"type":"string"},"description":"List of messages generated by the API.","example":null,"type":"array","nullable":true},"errors":{"example":null,"description":"List of errors if the API failed.","items":{"type":"string"},"nullable":true,"type":"array"},"status":{"type":"integer","description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","example":1,"enum":[0,1]}}},"module":{"type":"string","example":"PasswdStrength","description":"The name of the module called."},"apiversion":{"type":"integer","description":"The version of the API.","example":3}},"type":"object"}}}}},"x-cpanel-api-version":"UAPI","description":"This function retrieves an application's minimum required password strength.","x-cpanel-available-version":"cPanel 11.42","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  PasswdStrength \\\n  get_required_strength \\\n  app='webdisk'\n","label":"CLI","lang":"Shell"},{"lang":"HTTP","label":"URL","source":"https://hostname.example.com:2083/cpsess##########/execute/PasswdStrength/get_required_strength?app=webdisk"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file PasswdStrength_get_required_strength.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/PasswdStrength_get_required_strength.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/PasswdStrength/,\n    q/get_required_strength/,\n    {\n        'app' => 'webdisk',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","lang":"Perl","label":"LiveAPI Perl"},{"label":"LiveAPI PHP","lang":"PHP","source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file PasswdStrength_get_required_strength.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/PasswdStrength_get_required_strength.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'PasswdStrength',\n    'get_required_strength',\n    array (\n        'app' => 'webdisk',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"}],"summary":"Return minimum required password strength"}}},"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"url":"https://cpanel.net/support/","name":"WebPros International, LLC","email":"cs@cpanel.net"},"version":"11.89.0.9999","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","title":"cPanel UAPI","license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"termsOfService":"https://cpanel.net/legal-notices/"},"security":[{"BasicAuth":[]}],"x-tagGroups":[{"name":"Server Information","tags":["Password Strength"]}],"components":{"securitySchemes":{"BasicAuth":{"scheme":"basic","type":"http"}},"schemas":{}},"openapi":"3.0.2","servers":[{"variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"default":"2083","description":"The cPanel port."}},"url":"https://{host}:{port}/execute","description":"A server running cPanel."}],"tags":[{"description":"The PasswdStrength module for UAPI.","name":"PasswdStrength"},{"name":"Password Strength","description":"Server Information / Password Strength"}]}},"WebmailApps":{"list_webmail_apps":{"paths":{"/WebmailApps/list_webmail_apps":{"get":{"x-cpanel-api-version":"UAPI","description":"This function lists the account's available webmail clients.\n\n**Important:**\n\nWhen you disable the [Receive Mail role](https://go.cpanel.net/howtouseserverprofiles#roles), the system **disables** this function. ","x-codeSamples":[{"source":"uapi --output=jsonpretty \\\n  --user=username \\\n  WebmailApps \\\n  list_webmail_apps\n","label":"CLI","lang":"Shell"},{"source":"https://hostname.example.com:2083/cpsess##########/execute/WebmailApps/list_webmail_apps","label":"URL","lang":"HTTP"},{"source":"#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n#    to .../frontend/<theme-name>/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}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n","label":"LiveAPI Perl","lang":"Perl"},{"source":"<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\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/<theme-name>/\n//    to .../frontend/<theme-name>/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\nheader('Content-Type: text/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\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}","label":"LiveAPI PHP","lang":"PHP"}],"x-cpanel-available-version":"cPanel 11.48","summary":"Return available webmail clients","x-readonly":true,"operationId":"WebmailApps-list_webmail_apps","responses":{"200":{"description":"HTTP Request was successful.","content":{"application/json":{"schema":{"type":"object","properties":{"apiversion":{"type":"integer","example":3,"description":"The version of the API."},"module":{"type":"string","example":"WebmailApps","description":"The name of the module called."},"result":{"properties":{"errors":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of errors if the API failed.","example":null},"messages":{"nullable":true,"type":"array","example":null,"items":{"type":"string"},"description":"List of messages generated by the API."},"data":{"items":{"properties":{"icon":{"type":"string","example":"/webmail/jupiter/images/roundcube_logo.png","description":"An icon file's path, relative to the `/usr/local/cpanel/base/frontend` directory."},"id":{"example":"roundcube","description":"The webmail client's ID.","type":"string"},"displayname":{"type":"string","description":"The webmail client name, as it will display in the interface.","example":"Roundcube"},"url":{"format":"url-path","type":"string","description":"The webmail client's URL.","example":"/cpsess##########/3rdparty/roundcube/index.php"}},"type":"object"},"type":"array"},"warnings":{"example":null,"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"},"metadata":{"properties":{"transformed":{"type":"integer","enum":[1],"example":1,"description":"Post-processing may have transformed the data."}}},"status":{"enum":[1,0],"example":1,"description":"* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.","type":"integer"}},"type":"object"},"func":{"type":"string","example":"list_webmail_apps","description":"The name of the method called."}}}}}}},"parameters":[{"name":"theme","in":"query","required":false,"description":"The webmail theme.","schema":{"type":"string","example":"jupiter","default":"the server's default theme"}}],"tags":["WebmailApps","Webmail Applications"]}}},"security":[{"BasicAuth":[]}],"x-tagGroups":[{"name":"Email","tags":["Webmail Applications"]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{}},"openapi":"3.0.2","servers":[{"description":"A server running cPanel.","variables":{"host":{"description":"The hostname of a server running cPanel","default":"cpanel-server.tld"},"port":{"description":"The cPanel port.","default":"2083"}},"url":"https://{host}:{port}/execute"}],"tags":[{"name":"WebmailApps","description":"The WebmailApps module for UAPI."},{"name":"Webmail Applications","description":"Email / Webmail Applications"}],"externalDocs":{"url":"https://cpanel.net/developers/"},"info":{"contact":{"email":"cs@cpanel.net","name":"WebPros International, LLC","url":"https://cpanel.net/support/"},"license":{"url":"https://cpanel.net/legal-notices/","name":"cPanel License"},"title":"cPanel UAPI","termsOfService":"https://cpanel.net/legal-notices/","description":"UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.","version":"11.89.0.9999"}}}}
Back to Directory