Introduction
Welcome to the Neostrada API documentation. This documentation explains the use of the API and describes the accepted commands.
Get started
Neostrada provides a client written in PHP. You have to include this client in your application in order to use the API. If you don't have the client already, click on the button on top of this page to download it.
To get started, put the following code on top of your application:
// Include Neostrada API client.
require_once('Neostrada.inc.php');
// Initialize the client.
$API = Neostrada::GetInstance();
$API->SetAPIKey('[your_apikey]');
$API->SetAPISecret('[your_apisecret]');
This code gives you access to the API. Replace [your_apikey]
and [your_apisecret]
with your API key and API secret. You can find these
keys in your account on the Neostrada website when you click on 'API' in the left menu.
It is required to also include empty parameters in a request. For example, getholders
has the optional holderids
parameter. If you wish
to get a list of all holders, set holderids
to an empty string.
When your request results in an error, you should always check the returned status code, not the content of the status
return value. The reason for this is
because the status can be OK
, even if an error occured. Please note that you can execute 300 commands every 10 minutes.
API commands
The API accepts the commands you'll find in this section. Click on a command to view an example.
Command | Description |
---|---|
domains |
Get a list of all domains in your account. |
extensions |
Get a list of all available extensions and their details. |
whois |
Perform WHOIS for a domain name. |
holder |
Create or update a domain holder. |
deleteholder |
Delete a domain holder. |
getholders |
Get a list of all domain holders in your account. |
register |
Register a domain name. |
register2 |
Register a domain name with custom nameservers. |
transfer |
Transfer a domain name. |
transfer2 |
Transfer a domain name with custom nameservers. |
modify |
Modify the holder of a domain name. |
lock |
Enable or disable the domain lock. |
delete |
Delete a domain name. |
gettoken |
Get the authorization code for a domain name. |
getexpirationdate |
Get the expiration date for a domain name. |
getnameserver |
Get the nameservers connected to a domain name. |
nameserver |
Set the nameservers for a domain name. |
getdns |
Get the DNS records for a domain name. |
dns |
Modify a DNS record. |
adddns |
Add a DNS record. |
domainsGET
Get a list of all domains in your account.
Parameters
This command doesn't accept any parameters.
Return values
status String |
Status of the request. Can be OK or NOT OK . |
code Integer |
Status code of the request. |
description String |
Description of the request. |
domains Array | Mixed |
Array with a list of all domains in your account. |
Return codes
200 Integer |
Command completed successfully. |
540 Integer |
Authentication failed. |
// Execute the command.
$API->prepare('domains');
$API->execute();
// Store the results.
$results = $API->fetch();
// Use $results['domains'] to access the list with domains.
$domains = '';
foreach ($results['domains'] as $domain) {
$domains .= $domain . '<br />';
}
// Display the output.
echo $domains;
extensionsGET
Get a list of all available extensions.
Parameters
This command doesn't accept any parameters.
Return values
status String |
Status of the request. Can be OK or NOT OK . |
code Integer |
Status code of the request. |
description String |
Description of the request. |
extension Array | Mixed |
Array with a list of all extensions with their details. |
Return codes
200 Integer |
Command completed successfully. |
540 Integer |
Authentication failed. |
// Execute the command.
$API->prepare('extensions');
$API->execute();
// Store the results.
$results = $API->fetch();
// If the command was executed successfully, store the extensions and their details in an array.
if ($results['code'] == 200) {
foreach ($results['extensions'] as $result) {
list($ext, $one_year, $two_years, $five_years, $ten_years, $auth_required, $min_years) = explode(';', $result);
$extension[$ext]['price']['one_year'] = $one_year; // Price for a one year registration.
$extension[$ext]['price']['two_years'] = $two_years; // Price per pear for a two year registration.
$extension[$ext]['price']['five_years'] = $five_years; // Price per year for a five year registration.
$extension[$ext]['price']['ten_years'] = $ten_years; // Price per year for a ten year registration.
$extension[$ext]['auth_required'] = $auth_required; // 1 if an authorization code is required for a transfer, 0 otherwise.
$extension[$ext]['min_years'] = $min_years; // Minimal amount of registration years.
}
}
Below you'll find an example for how to use the above $extension
array. Please note that the
example below only works if the return code is 200
.
$details = '';
foreach ($extension as $key => $val) {
$details .= 'Extension: ' . $key . '<br />';
$details .= 'Price per year (one year): €' . $val['price']['one_year'] . '<br />';
$details .= 'Price per year (two years): €' . $val['price']['two_years'] . '<br />';
$details .= 'Price per year (five years): €' . $val['price']['five_years'] . '<br />';
$details .= 'Authorization code required: ' . $val['auth_required'] . '<br />';
$details .= 'Minimal amount of registration years: ' . $val['min_years'] . '<br />';
}
echo $details;
whoisGET
Perform WHOIS for a domain name. The domain name has to be valid in order for the WHOIS to succeed. A domain name is valid when:
- It doesn't contain special characters;
- It is in lowercase;
- It contains no more than 253 charachters.
You'll find a function you can use to validate domain names in the examples section.
Parameters
domain String |
The domain name without the extension. |
extension String |
The extension. |
Return values
status String |
Status of the request. Can be OK or NOT OK . |
code Integer |
Status code of the request. |
description String |
Description of the request. |
Return codes
210 Integer |
Domain available. |
211 Integer |
Domain not available. |
540 Integer |
Authentication failed. |
// Execute the command.
$API->prepare('whois', array(
'domain' => 'domainname',
'extension' => 'com'
));
$API->execute();
// Store the results.
$results = $API->fetch();
// Check if the domain is available.
if ($results['code'] == 210)
$output = 'The domain name is available.';
if ($results['code'] == 211)
$output = 'The domain name is not available.';
if ($results['code'] == 540)
$output = 'An error occured while performing the WHOIS.';
// Display the output.
echo $output;
If you provide a domain name and an extension which doesn't contain special characters and is between the 1 and 253 characters, the function below will return a valid domain name. Otherwise, the function will return an error.
// Will output: The input is incorrect. Provide an extension.
validateDomain('domainname');
// Will output: The input is incorrect. Only provide the domain and the extension.
validateDomain('sub.domain.name');
// Will output: The domain cannot contain special characters.
validateDomain('domain!@#.name');
// Will output: Your valid domain name is: domain.name
validateDomain('www.domain.name');
/**
* Checks if the input is a valid domain and outputs a valid domain.
*/
function validateDomain($domain) {
// Make the domain lowercase.
$domain = strtolower($domain);
// Remove http://, https:// or ftp://, www. and spaces from the domain.
$domain = preg_replace('/^(http|https|ftp):\/\/|www\.|\s+/', '', $domain);
// Get all domain labels.
$parts = explode('.', $domain);
// Only the domain and the extension should be provided. This means
// that $parts can only have two items.
if (count($parts) <= 1) {
echo 'The input is incorrect. Provide an extension.';
exit();
} elseif (count($parts) > 2) {
echo 'The input is incorrect. Only provide the domain and the extension.';
exit();
}
/**
* The regular expressions below perform the following checks:
*
* - If the domain begins and ends with a letter or digit;
* - If the domain contains special characters;
* - If the domain is shorter than 1 or longer than 253 characters.
*/
if (!preg_match('/^([a-z\d]([a-z\d-])+[a-z\d])$/i', $parts[0])) {
echo 'The domain cannot contain special characters.';
exit();
} elseif (!preg_match('/^.{1,253}$/', $parts[0])) {
echo 'The domain should be between 1 and 253 characters.';
exit();
} else {
// Only one consecutive - is allowed. Remove the other ones.
echo 'Your valid domain name is: ' . preg_replace('/(-)(?=\1)/', '', $parts[0]) . '.' . $parts[1];
}
}
holderPOST
Create or update a domain holder.
Parameters
holderid Integer |
The ID of the domain holder to update. Set it to an empty string to create a new domain holder. |
sex String |
The gender of the domain holder. V for female, M for male. |
firstname String |
The first name of the domain holder. |
center String |
Optional. The prefix for the last name. |
lastname String |
The last name of the domain holder. |
street String |
The street name of the domain holder. |
housenumber String |
The house number of the domain holder. |
hnpostfix String |
Optional. Postfix for the house number. |
zipcode String |
The zipcode of the domain holder. |
city String |
The city of the domain holder. |
country String |
The country of the domain holder. Should be a two letter country code. |
email String |
The email address of the domain holder. |
Return values
status String |
Status of the request. Can be OK or NOT OK . |
code Integer |
Status code of the request. |
description String |
Description of the request. |
holderid Integer |
The ID of the new or updated domain holder. |
Return codes
200 Integer |
Command completed successfully. |
540 Integer |
Authentication failed. |
// Execute the command.
$API->prepare('holder', array(
'holderid' => '',
'sex' => 'V',
'firstname' => 'First name',
'center' => '',
'lastname' => 'Last name',
'street' => 'Street name',
'housenumber' => '00',
'hnpostfix' => '',
'zipcode' => '0000AB',
'city' => 'City',
'country' => 'nl',
'email' => 'email@address.com'
));
$API->execute();
// Store the results.
$results = $API->fetch();
// Display the status description.
echo $results['description'];
deleteholderPOST
Delete a domain holder.
Parameters
holderid Integer |
The ID of the domain holder. |
Return values
status String |
Status of the request. Can be OK or NOT OK . |
code Integer |
Status code of the request. |
description String |
Description of the request. |
Return codes
200 Integer |
Command completed successfully. |
// Execute the command.
$API->prepare('deleteholder', array(
'holderid' => '1'
));
$API->execute();
// Store the results.
$results = $API->fetch();
// Display the status description.
echo $results['description'];
getholdersGET
Get a list of all domain holders in your account.
Parameters
holderids Integer |
Optional. The IDs of the domain holders to get the details from, seperated by commas. |
Return values
status String |
Status of the request. Can be OK or NOT OK . |
code Integer |
Status code of the request. |
description String |
Description of the request. |
holder Array | Mixed |
Array with holders if any holders are found. |
Return codes
200 Integer |
Command completed successfully. |
215 Integer |
No holders found. |
// Execute the command.
$API->prepare('getholders', array(
'holderids' => '1,2,3' // By leaving this empty, this command will return all available domain holders.
));
$API->execute();
// Store the results.
$results = $API->fetch();
// If any holders are found, store them in an array.
if ($results['code'] == 200) {
foreach ($results['holders'] as $result) {
// Decode the result to display normal HTML characters.
$result = urldecode($result);
list($holderid, $unknown, $firstname, $center, $lastname, $street, $housenumber,
$hnpostfix, $zipcode, $city, $country, $email) = explode(';', $result);
$holder[$holderid]['unknown'] = $unknown;
$holder[$holderid]['firstname'] = $firstname;
$holder[$holderid]['center'] = $center;
$holder[$holderid]['lastname'] = $lastname;
$holder[$holderid]['street'] = $street;
$holder[$holderid]['housenumber'] = $housenumber;
$holder[$holderid]['hnpostfix'] = $hnpostfix;
$holder[$holderid]['zipcode'] = $zipcode;
$holder[$holderid]['city'] = $city;
$holder[$holderid]['country'] = $country;
$holder[$holderid]['email'] = $email;
}
}
Below you'll find an example for how to use the above $holder
array. Please note that the
example below only works if the return code is 200
.
$details = '';
foreach ($holder as $key => $val) {
$details .= 'Holder ID: ' . $key . '<br />';
$details .= 'Unknown: ' . $val['unknown'] . '<br />';
$details .= 'First name: ' . $val['firstname'] . '<br />';
$details .= 'Center: ' . $val['center'] . '<br />';
$details .= 'Last name: ' . $val['lastname'] . '<br />';
$details .= 'Address: ' . $val['street'] . ' ' . $val['housenumber'] . $val['hnpostfix'] . '<br />';
$details .= 'Zipcode: ' . $val['zipcode'] . '<br />';
$details .= 'City: ' . $val['city'] . '<br />';
$details .= 'Country: ' . $val['country'] . '<br />';
$details .= 'Email address: ' . $val['email'] . '<br />';
}
echo $details;
registerPOST
Register a domain name.
Parameters
domain String |
The domain name without the extension. |
extension String |
The extension. |
holderid Integer |
The ID of the domain holder for the new domain name. |
period Integer |
The period in years for how long you want to register the domain name. |
webip String |
Optional. The IP address for the default DNS records. |
packageid Integer |
Optional. The ID of the package to order with the new domain name. |
Return values
status String |
Status of the request. Can be OK or NOT OK . |
code Integer |
Status code of the request. |
description String |
Description of the request. |
Return codes
200 Integer |
Command completed successfully. |
211 Integer |
Domain name not available. |
421 Integer |
Unknown error. |
540 Integer |
Authentication failed. |
// Execute the command.
$API->prepare('register', array(
'domain' => 'domainname',
'extension' => 'com',
'holderid' => '1',
'period' => '1',
'webip' => '',
'packageid' => ''
));
$API->execute();
// Store the results.
$results = $API->fetch();
// Display the status description.
echo $results['description'];
register2POST
Register a domain name with custom nameservers.
Parameters
domain String |
The domain name without the extension. |
extension String |
The extension. |
holderid Integer |
The ID of the domain holder for the new domain name. |
period Integer |
The period in years for how long you want to register the domain name. |
webip String |
Optional. The IP address for the default DNS records. |
packageid Integer |
Optional. The ID of the package to order with the new domain name. |
ns1 String |
The first nameserver. |
ns2 String |
The second nameserver. |
ns3 String |
Optional. The third nameserver. |
Return values
status String |
Status of the request. Can be OK or NOT OK . |
code Integer |
Status code of the request. |
description String |
Description of the request. |
Return codes
200 Integer |
Command completed successfully. |
211 Integer |
Domain name not available. |
421 Integer |
Unknown error. |
540 Integer |
Authentication failed. |
// Execute the command.
$API->prepare('register2', array(
'domain' => 'domainname',
'extension' => 'com',
'holderid' => '1',
'period' => '1',
'webip' => '',
'packageid' => '',
'ns1' => 'ns1.domainname.com',
'ns2' => 'ns2.domainname.com',
'ns3' => ''
));
$API->execute();
// Store the results.
$results = $API->fetch();
// Display the status description.
echo $results['description'];
transferPOST
Transfer a domain name.
Parameters
domain String |
The domain name without the extension. |
extension String |
The extension. |
authcode String |
The authorization code of the domain name. |
Return values
status String |
Status of the request. Can be OK or NOT OK . |
code Integer |
Status code of the request. |
description String |
Description of the request. |
Return codes
200 Integer |
Command completed successfully. |
421 Integer |
Unknown error. |
504 Integer |
Missing required attribute. |
// Execute the command.
$API->prepare('transfer', array(
'domain' => 'domainname',
'extension' => 'com',
'authcode' => 'ABC123abc!@#'
));
$API->execute();
// Store the results.
$results = $API->fetch();
// Display the status description.
echo $results['description'];
transfer2POST
Transfer a domain name with custom nameservers.
Parameters
domain String |
The domain name without the extension. |
extension String |
The extension. |
authcode String |
The authorization code of the domain name. |
holderid Integer |
The ID of the domain holder for the domain name. |
webip String |
Optional. The IP address for the default DNS records. |
ns1 String |
The first nameserver. |
ns2 String |
The second nameserver. |
ns3 String |
Optional. The third nameserver. |
Return values
status String |
Status of the request. Can be OK or NOT OK . |
code Integer |
Status code of the request. |
description String |
Description of the request. |
Return codes
200 Integer |
Command completed successfully. |
421 Integer |
Unknown error. |
504 Integer |
Missing required attribute. |
// Execute the command.
$API->prepare('transfer', array(
'domain' => 'domainname',
'extension' => 'com',
'authcode' => 'ABC123abc!@#',
'holderid' => '1',
'webip' => '',
'ns1' => 'ns1.domainname.com',
'ns2' => 'ns2.domainname.com',
'ns3' => ''
));
// Store the results.
$results = $API->fetch();
// Display the status description.
echo $results['description'];
modifyPOST
Modify the holder of a domain name.
Parameters
domain String |
The domain name without the extension. |
extension String |
The extension. |
holderid Integer |
The ID of the domain holder. |
Return values
status String |
Status of the request. Can be OK or NOT OK . |
code Integer |
Status code of the request. |
description String |
Description of the request. |
queueid Integer |
The ID of the request in the queue. |
Return codes
200 Integer |
Command completed successfully. |
540 Integer |
Authentication failed. |
// Execute the command.
$API->prepare('modify', array(
'domain' => 'domainname',
'extension' => 'com',
'holderid' => '12345'
));
$API->execute();
// Store the results.
$results = $API->fetch();
// Display the status description.
echo $results['description'];
lockPOST
Enable or disable the domain lock.
Parameters
domain String |
The domain name without the extension. |
extension String |
The extension. |
lock Integer |
1 to enable the lock, 0 to disable the lock. |
Return values
status String |
Status of the request. Can be OK or NOT OK . |
code Integer |
Status code of the request. |
description String |
Description of the request. |
Return codes
200 Integer |
Command completed successfully. |
421 Integer |
Unknown error. |
540 Integer |
Authentication failed. |
// Execute the command.
$API->prepare('lock', array(
'domain' => 'domainname',
'extension' => 'com',
'lock' => '1'
));
$API->execute();
// Store the results.
$results = $API->fetch();
// Display the status description.
echo $results['description'];
deletePOST
Delete a domain name. The domain name will expire on the expiration date.
Parameters
domain String |
The domain name without the extension. |
extension String |
The extension. |
Return values
status String |
Status of the request. Can be OK or NOT OK . |
code Integer |
Status code of the request. |
description String |
Description of the request. |
Return codes
200 Integer |
Command completed successfully. |
421 Integer |
Unknown error. |
540 Integer |
Authentication failed. |
// Execute the command.
$API->prepare('delete', array(
'domain' => 'domainname',
'extension' => 'com'
));
$API->execute();
// Store the results.
$results = $API->fetch();
// Display the status description.
echo $results['description'];
gettokenGET
Get the authorization code for a domain name.
Parameters
domain String |
The domain name without the extension. |
extension String |
The extension. |
Return values
status String |
Status of the request. Can be OK or NOT OK . |
code Integer |
Status code of the request. |
description String |
Description of the request. |
token String |
The authorization code for the domain name. |
Return codes
200 Integer |
Command completed successfully. |
421 Integer |
Unknown error. |
540 Integer |
Authentication failed. |
// Execute the command.
$API->prepare('gettoken', array(
'domain' => 'domainname',
'extension' => 'com'
));
$API->execute();
// Store the results.
$results = $API->fetch();
// Display the authorization code.
echo 'The authorization code is: ' . $results['token'];
getexpirationdateGET
Get the expiration date for a domain name.
Parameters
domain String |
The domain name without the extension. |
extension String |
The extension. |
Return values
status String |
Status of the request. Can be OK or NOT OK . |
code Integer |
Status code of the request. |
description String |
Description of the request. |
expirationdate String |
The expiration date of the domain name. |
Return codes
200 Integer |
Command completed successfully. |
421 Integer |
Unknown error. |
540 Integer |
Authentication failed. |
// Execute the command.
$API->prepare('getexpirationdate', array(
'domain' => 'domainname',
'extension' => 'com'
));
$API->execute();
// Store the results.
$results = $API->fetch();
// Display the expiration date.
echo 'The expiration date is: ' . $results['expirationdate'];
getnameserverGET
Get the nameservers connected to a domain name.
Parameters
domain String |
The domain name without the extension. |
extension String |
The extension. |
Return values
status String |
Status of the request. Can be OK or NOT OK . |
code Integer |
Status code of the request. |
description String |
Description of the request. |
nameservers String |
Array with the nameservers of the domain name. |
Return codes
200 Integer |
Command completed successfully. |
421 Integer |
Unknown error. |
540 Integer |
Authentication failed. |
// Execute the command.
$API->prepare('getnameserver', array(
'domain' => 'domainname',
'extension' => 'com'
));
$API->execute();
// Store the results.
$results = $API->fetch();
// Display the nameservers.
$output = '';
foreach ($results['nameservers'] as $result) {
$output .= $result . '<br />';
}
echo $output;
nameserverPOST
Set the nameservers for a domain name.
Parameters
domain String |
The domain name without the extension. |
extension String |
The extension. |
ns1 String |
The first nameserver. |
ns2 String |
The second nameserver. |
ns3 String |
Optional. The third nameserver. |
Return values
status String |
Status of the request. Can be OK or NOT OK . |
code Integer |
Status code of the request. |
description String |
Description of the request. |
nameservers String |
Array with the nameservers of the domain name. |
Return codes
200 Integer |
Command completed successfully. |
421 Integer |
Unknown error. |
540 Integer |
Authentication failed. |
// Execute the command.
$API->prepare('nameserver', array(
'domain' => 'domainname',
'extension' => 'com',
'ns1' => 'ns1.domainname.com',
'ns2' => 'ns2.domainname.com',
'ns3' => ''
));
$API->execute();
// Store the results.
$results = $API->fetch();
// Display the status description.
echo $results['description'];
getdnsGET
Get the DNS records of a domain name.
Parameters
domain String |
The domain name without the extension. |
extension String |
The extension. |
Return values
status String |
Status of the request. Can be OK or NOT OK . |
code Integer |
Status code of the request. |
description String |
Description of the request. |
dns Array | Mixed |
Array with the DNS records of the domain name. |
Return codes
200 Integer |
Command completed successfully. |
421 Integer |
Unknown error. |
540 Integer |
Authentication failed. |
// Execute the command.
$API->prepare('getdns', array(
'domain' => 'domainname',
'extension' => 'com'
));
$API->execute();
// Store the results.
$results = $API->fetch();
// If any DNS records are found, store them in an array.
if ($results['code'] == 200) {
foreach ($results['dns'] as $result) {
list($rowid, $name, $type, $content, $timetolive, $priority) = explode(';', $result);
$record[$rowid]['name'] = $name;
$record[$rowid]['type'] = $type;
$record[$rowid]['content'] = $content;
$record[$rowid]['timetolive'] = $timetolive;
$record[$rowid]['priority'] = $priority;
}
}
Below you'll find an example for how to use the above $record
array.
$details = '';
foreach ($record as $key => $val) {
$details .= 'Record ID: ' . $key . '<br />';
$details .= 'Name: ' . $val['name'] . '<br />';
$details .= 'Content: ' . $val['content'] . '<br />';
$details .= 'Time To live (TTL): ' . $val['timetolive'] . '<br />';
$details .= 'Priority: ' . $val['priority'] . '<br />';
}
echo $details;
dnsPOST
Modify a DNS record. All data must be provided as a serialized array. Every item must be a sub array with the following format:
[row] => array('name' => '', 'type' => '', 'content => '', 'ttl' => '', 'prio' => '')
Non existing records will not be added. To add new records, use the adddns
command. The SOA record will
be updated automatically. The following types are allowed:
- A
- AAAA
- CNAME
- MX
- SOA
- TXT
- SRV
Parameters
domain String |
The domain name without the extension. |
extension String |
The extension. |
dnsdata Array | Mixed |
A serialized array with the DNS records to update. |
Return values
status String |
Status of the request. Can be OK or NOT OK . |
code Integer |
Status code of the request. |
description String |
Description of the request. |
Return codes
200 Integer |
Command completed successfully. |
421 Integer |
Unknown error. |
540 Integer |
Authentication failed. |
// Execute the command.
$API->prepare('dns', array(
'domain' => 'domainname',
'extension' => 'com',
'dnsdata' => serialize(array(
1 => array(
'name' => 'domainname.com',
'type' => 'A',
'content' => '0.0.0.0',
'ttl' => 3600,
'prio' => '0'
),
2 => array(
'name' => 'domainname.com',
'type' => 'MX',
'content' => 'domainname.com',
'ttl' => '3600',
'prio' => '10'
)
))
));
$API->execute();
// Store the results.
$results = $API->fetch();
// Display the status description.
echo $results['description'];
adddnsPOST
Add a DNS record. The SOA record will be updated automatically. The following types are allowed:
- A
- AAAA
- CNAME
- MX
- SOA
- TXT
- SRV
Parameters
domain String |
The domain name without the extension. |
extension String |
The extension. |
name String |
The name for the DNS record. |
type String |
The type for the DNS record. |
content String |
The content for the DNS record. |
prio Integer |
The priority for the DNS record. |
ttl Integer |
The Time To Live (TTL) for the DNS record. |
Return values
status String |
Status of the request. Can be OK or NOT OK . |
code Integer |
Status code of the request. |
description String |
Description of the request. |
Return codes
200 Integer |
Command completed successfully. |
421 Integer |
Unknown error. |
540 Integer |
Authentication failed. |
// Execute the command.
$API->prepare('adddns', array(
'domain' => 'domainname',
'extension' => 'com',
'name' => 'domainname.com',
'type' => 'A',
'content' => '0.0.0.0',
'prio' => '0',
'ttl' => '3600'
));
$API->execute();
// Store the results.
$results = $API->fetch();
// Display the status description.
echo $results['description'];