cPanel / WHM Api example

Posted on 2010-09-04
Last Modified: 2012-05-10
Can someone please help me with a working example to use the CPanel / WHM Api.

I would like to update the A record for a particular domain hosted in cPanel / WHM through API.

Question by:nainil
  • 4
  • 4
LVL 21

Expert Comment

by:Julian Matz
ID: 33604857

Using the cPanel XML API can be as easy as making a call to:

This will return a result in XML format, eg:

        <reason>Access denied</reason>

This result, for example would tell you that the command failed (result=0) because access was denied (reason="Access denied").

To make the API call, you can use any number of programming languages like PHP, Perl, ASP. My choice would be PHP, and I would use curl to make.

Another option would be to simply download an existing cPanel API PHP class and either use it as is or modify it to suit your exact needs. Here's an example:

But what scripting language did you have in mind for this?

Author Comment

ID: 33605148
Thank you julianmatz. Sorry for the incomplete information.

I want to implement the same using PHP/MySQL.

The Class you suggested does all except the DNS. I will try to look at the same and try to get the DNS manipulation function. But, if someone can get me a working example for DNS manipulation.

LVL 21

Accepted Solution

Julian Matz earned 500 total points
ID: 33607175
If you use the XML PHP API from, you'll be able to edit your DNS using the example below. Here's a link to the API:


$ip = getenv('REMOTE_HOST');
$root_pass = getenv('REMOTE_PASSWORD');

$xmlapi = new xmlapi($ip);


$zone = '';
$Line = '1';

$args = array(

print $xmlapi->editzonerecord($zone,$Line,$args);


Open in new window

MS Dynamics Made Instantly Simpler

Make Your Microsoft Dynamics Investment Count  & Drastically Decrease Training Time by Providing Intuitive Step-By-Step WalkThru Tutorials.


Author Comment

ID: 33608128
This is an incredible find. Thank you.

I am using the original file and examples. however, on Windows 7, (using WAMP), I get the following error:

Warning: file_get_contents( [function.file-get-contents]: failed to open stream: Invalid argument in C:\wamp\www\xmlapi.php on line 731

Any idea how to fix the same?

Author Comment

ID: 33608129
Also, the code works fine on Linux. So this is a Windows only issue apparently.
LVL 21

Expert Comment

by:Julian Matz
ID: 33608877
I'm not a Windows expert, but I think the error may have something to do with the SSL encryption (https). See if you can get these two DLLs from the PHP5 distribution:


Author Comment

ID: 33614577
Just found that I did not have Curl setup. It worked fine once I worked on that piece. Thank you.
LVL 21

Expert Comment

by:Julian Matz
ID: 33619304
Glad I was able to help. Good luck with your API!

Featured Post

Efficient way to get backups off site to Azure

This user guide provides instructions on how to deploy and configure both a StoneFly Scale Out NAS Enterprise Cloud Drive virtual machine and Veeam Cloud Connect in the Microsoft Azure Cloud.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Since pre-biblical times, humans have sought ways to keep secrets, and share the secrets selectively.  This article explores the ways PHP can be used to hide and encrypt information.
This article discusses how to implement server side field validation and display customized error messages to the client.
The viewer will learn how to count occurrences of each item in an array.
The viewer will learn how to create a basic form using some HTML5 and PHP for later processing. Set up your basic HTML file. Open your form tag and set the method and action attributes.: (CODE) Set up your first few inputs one for the name and …

726 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question