Introduction
Welcome to the SupportHost API documentation for domain reselling!
With our APIs, you can easily and quickly manage all operations related to domain registration, transfer, and management directly from your own system. You can use our WHMCS module or access the APIs directly.
You will find clear and well-structured endpoints to integrate our services into your software or control panels.
The documentation includes example calls in various programming languages to make development easier.
If you are looking for practical guides and step-by-step tutorials, visit our tutorial section on the SupportHost website.
Happy integrating!
Authentication
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://my.supporthost.com/domainapi.php/account/balance',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'X-Email: your_email',
'X-Api-Key: your_apikey'
),
));
$response = curl_exec($curl);
To access the SupportHost API, you must use a personal API Key.
You can create your API Key and authorize the allowed IP addresses directly from your client area.
See the detailed guide in our tutorial section: How to create an API Key and authorize an IP.
The API Key must be sent in every HTTP request in the header field X-Api-Key
as in the example. You must also send the email you use in the client area in the X-Email
header.
Account
This section contains all the endpoints to manage your reseller account.
Here you will find methods to check the available credit, count active domains, list domain details, and perform other operations related to your reseller account.
GET /account/balance
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://my.supporthost.com/domainapi.php/account/balance',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'X-Email: your_email',
'X-Api-Key: your_apikey'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
?>
Description
This endpoint allows querying the system to obtain the currently available credit associated with the user account.
Request limit
300 requests every 10 minutes.
Request parameters
None, only login data is required.
{
"result": "success",
"data": {
"credit": "3.00",
"currency": "EUR"
}
}
Response parameters
Parameter | Type | Description |
---|---|---|
result | string | Response status (e.g., "success" or "error") |
data | object | Contains details of the available credit |
credit | string | Amount of available credit (e.g., "3.00") |
currency | string | Currency of the credit (e.g., "EUR") |
Error responses
Connection refused from unauthorized host. IP xxx.xxx.xxx.xxx is NOT allowed to access your account |
Invalid email or not a reseller. |
Invalid API key. |
GET /account/domaincount
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://my.supporthost.com/domainapi.php/account/alldomains',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'X-Email: your_email',
'X-Api-Key: your_apikey'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
?>
Description
This endpoint allows querying the system to obtain a count of all active domains, divided by extension, as well as a total count.
Request limit
300 requests every 10 minutes.
Request parameters
None, only login data is required.
{
"result": "success",
"count": 36,
"domains": {
"it": 22,
"com": 6,
"net": 3,
"eu": 2,
"uk": 1,
"us": 1,
"xyz": 1
}
}
Response parameters
Parameter | Type | Description |
---|---|---|
result | string | The result of the operation: success or error |
count | int | Total number of active domains |
domains | json | JSON object containing the count per extension |
Error responses
Connection refused from unauthorized host. IP xxx.xxx.xxx.xxx is NOT allowed to access your account |
Invalid email or not a reseller. |
Invalid API key. |
GET /account/alldomains
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://my.supporthost.com/domainapi.php/account/alldomains',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'X-Email: your_email',
'X-Api-Key: your_apikey'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
?>
Description
This endpoint allows querying the system to obtain a list of only active domains with their related information. Only active domains are shown.
Request limit
300 requests every 10 minutes.
Request parameters
None, only login data is required.
{
"result": "success",
"count": 57,
"domains": [
{
"supporthost.com": {
"domain": "supporthost.com",
"status": "Active",
"recurringamount": "9.84",
"registrationperiod": 1,
"registrationdate": "2014-02-15",
"expirydate": "2026-07-03",
"nextduedate": "2026-07-03",
"donotrenew": 0
},
"supporthost.com": ...
}
]
}
Response parameters
Parameter | Type | Description |
---|---|---|
result | string | The result of the operation: success or error |
count | int | Total number of domains |
domains | json | JSON object containing the list and details of all domains present in the account |
Error responses
Connection refused from unauthorized host. IP xxx.xxx.xxx.xxx is NOT allowed to access your account |
Invalid email or not a reseller. |
Invalid API key. |
GET /account/activedomains
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://my.supporthost.com/domainapi.php/account/activedomains',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'X-Email: your_email',
'X-Api-Key: your_apikey'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
?>
Description
This endpoint allows querying the system to obtain a list of only active domains with their related information. Only active domains are shown.
Request limit
300 requests every 10 minutes.
Request parameters
None, only login data is required.
{
"result": "success",
"count": 36,
"domains": [
{
"supporthost.com": {
"domain": "supporthost.com",
"status": "Active",
"recurringamount": "9.84",
"registrationperiod": 1,
"registrationdate": "2014-02-15",
"expirydate": "2026-07-03",
"nextduedate": "2026-07-03",
"donotrenew": 0
},
"supporthost.com": ...
}
]
}
Response parameters
Parameter | Type | Description |
---|---|---|
result | string | The result of the operation: success or error |
count | int | Total number of active domains |
domains | json | JSON object containing the list and details of all domains present in the account |
Error responses
Connection refused from unauthorized host. IP xxx.xxx.xxx.xxx is NOT allowed to access your account |
Invalid email or not a reseller. |
Invalid API key. |
GET /account/tldprices
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://my.supporthost.com/domainapi.php/account/tldprices',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'X-Email: your_email',
'X-Api-Key: your_apikey'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
?>
Description
This endpoint allows querying the system to obtain domain prices for your reseller account. Prices vary depending on the number of active domains in your account. In addition to the price, the currency is indicated in the JSON response.
Request limit
300 requests every 10 minutes.
Request parameters
None, only login data is required.
{
"result": "success",
"currency": {
"id": 1,
"code": "EUR",
"prefix": "",
"suffix": "€",
"format": 3,
"rate": "1.00000"
},
"pricing": {
"it": {
"categories": [
"Other"
],
"addons": {
"dns": true,
"email": true,
"idprotect": false
},
"group": "",
"register": {
"1": "5.99",
"2": "11.98",
"3": "17.97",
"4": "23.96",
"5": "29.95",
"6": "35.94",
"7": "41.93",
"8": "47.92",
"9": "53.91",
"10": "59.90"
},
"transfer": {
"1": "5.99",
"2": "11.98",
"3": "17.97",
"4": "23.96",
"5": "29.95",
"6": "35.94",
"7": "41.93",
"8": "47.92",
"9": "53.91",
"10": "59.90"
},
"renew": {
"1": "6.49",
"2": "12.98",
"3": "19.47",
"4": "25.96",
"5": "32.45",
"6": "38.94",
"7": "45.43",
"8": "51.92",
"9": "58.41",
"10": "64.90"
},
"grace_period": {
"days": 10,
"price": "0.00"
},
"grace_period_days": 10,
"grace_period_fee": "0.00",
"redemption_period": {
"days": 30,
"price": "7.00"
},
"redemption_period_days": 30,
"redemption_period_fee": "7.00"
},
"eu": ...
}
}
Response parameters
Parameter | Type | Description |
---|---|---|
result | string | Response status (e.g. "success" or "error") |
currency | json | JSON object containing details related to your account's currency |
pricing | json. | JSON object listing all available extensions and their respective prices |
Error responses
Connection refused from unauthorized host. IP xxx.xxx.xxx.xxx is NOT allowed to access your account |
Invalid email or not a reseller. |
Invalid API key. |
Domain
This section contains the endpoints for managing domains, including registration, transfer, renewal, and domain data modification.
You will find the main functions to operate on domains via API in a simple and fast way.
GET /domain/availability
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://my.supporthost.com/domainapi.php/domain/availability?domain=domain.com',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'X-Email: your_email',
'X-Api-Key: your_apikey'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
?>
Description
This endpoint allows you to query the system to obtain the availability of a specific domain. The fact that a domain is available means it is free for registration.
Request limit
300 requests every 10 minutes.
Request parameters
Parameter | Type | Description | Required |
---|---|---|---|
domain | string | The domain name to check | Required |
{
"result": "success",
"domain": "domain.com",
"status": "available",
"whois": null
}
Response parameters
Parameter | Type | Description |
---|---|---|
result | string | The result of the operation: success or error |
domain | string | The domain we are checking |
status | json | The status of the domain: available or unavailable |
whois | string/null | null if the domain is free, a text string containing WHOIS information if the domain is already registered |
Error responses
Connection refused from unauthorized host. IP xxx.xxx.xxx.xxx is NOT allowed to access your account |
Invalid email or not a reseller. |
Invalid API key. |
The domain field is required. |
GET /domain/info
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://my.supporthost.com/domainapi.php/domain/info?domain=supporthost.com&whois=yes&nameservers=yes&lockstatus=yes&epp=yes',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'X-Email: your_email',
'X-Api-Key: your_apikey'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
?>
Description
This endpoint allows you to query the system to obtain information about a domain in your account.
Request limit
300 requests every 10 minutes.
Request parameters
Parameter | Type | Description | Required |
---|---|---|---|
domain | string | The full name of the domain to query | Yes |
whois | string | Indicates whether to include WHOIS information ("yes" or "no") | No |
nameservers | string | Indicates whether to include nameservers ("yes" or "no") | No |
lockstatus | string | Indicates whether to include the domain lock status ("yes" or "no") | No |
epp | string | Indicates whether to include the EPP code ("yes" or "no") | No |
{
"result": "success",
"domain": "supporthost.com",
"data": {
"domain": "supporthost.com",
"status": "Active",
"recurringamount": "9.84",
"registrationperiod": 1,
"registrationdate": "2014-02-15",
"expirydate": "2026-07-03",
"nextduedate": "2026-07-03",
"donotrenew": 0
},
"whoisData": {
"result": "success",
"Registrant": {
"Name": "xxxxxxxxxx",
"Company": "xxxxxxxxxx",
"City": "xxxxxxxxxx",
"State": "xxxxxxxxxx",
"Country": "xxxxxxxxxx",
"Postcode": "xxxxxxxxxx",
"Phone_Number": "xxxxxxxxxx",
"Email": "xxxxxxxxxx",
"Address": "xxxxxxxxxx",
"entityType": "1",
"itNationality": "IT",
"regCode": "xxxxxxxxxx",
"consentForPublishing": "false"
},
"Admin": {
"Name": "xxxxxxxxxx",
"Company": "xxxxxxxxxx",
"City": "xxxxxxxxxx",
"State": "xxxxxxxxxx",
"Country": "xxxxxxxxxx",
"Postcode": "xxxxxxxxxx",
"Phone_Number": "xxxxxxxxxx",
"Email": "xxxxxxxxxx",
"Address": "xxxxxxxxxx3"
},
"Tech": {
"Name": "xxxxxxxxxx",
"Company": "xxxxxxxxxx",
"City": "xxxxxxxxxx",
"State": "xxxxxxxxxx",
"Country": "xxxxxxxxxx",
"Postcode": "xxxxxxxxxx",
"Phone_Number": "xxxxxxxxxx",
"Email": "xxxxxxxxxx",
"Address": "xxxxxxxxxx3"
}
},
"nameservers": {
"result": "success",
"ns1": "glen.ns.cloudflare.com",
"ns2": "jamie.ns.cloudflare.com"
},
"lockstatus": {
"result": "success",
"lockstatus": "Unknown"
},
"epp": {
"result": "success",
"eppcode": "xxxxxxxxxx5"
}
}
Response parameters
Parameter | Type | Description |
---|---|---|
result | string | Operation status: "success" or "error" |
domain | string | The domain checked |
data | json | Object containing the basic domain information: status, renewal cost, registration, renewal and expiry dates, auto-renew status |
whoisData | json | Object containing the domain's WHOIS data |
nameservers | json | Object containing the domain's nameservers |
lockstatus | json | Object containing the domain lock status |
epp | json | Object containing the domain's EPP (auth code) |
Error responses
Connection refused from unauthorized host. IP xxx.xxx.xxx.xxx is NOT allowed to access your account |
Invalid email or not a reseller. |
Invalid API key. |
The domain field is required. |
Domain not found in your account |
POST /domain/register
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://my.supporthost.com/domainapi.php/domain/register',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS =>'{
"domain": "xxxxx.com",
"eppcode": "xxxxxx",
"firstname": "xxxxxx",
"lastname": "xxxxxx",
"companyname": "xxxxxx",
"contactemail": "[email protected]",
"address1": "xxxxxx 123",
"address2": "xxxxxx",
"city": "xxxxxx",
"state": "RM",
"postcode": "12345",
"country": "IT",
"phonenumber": "+1.0000000000",
"idnLanguage": "",
"regperiod": "0",
"nameserver1": "ns1.domain.com",
"nameserver2": "ns2.domain.com",
"idprotection": "",
"additionalfields": {
"entity": "1",
"taxid": "xxxxxx",
"itterms": "on",
"whois": "on"
}
}',
CURLOPT_HTTPHEADER => array(
'X-Email: your_email',
'X-Api-Key: your_apikey'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
?>
Description
This endpoint allows you to send a command to register a new domain. If there have been errors, you can send the registration request multiple times; the new data will correct the data sent with previous requests. There is no limit on the number of times you can send the same registration request for the same domain.
Request limit
300 requests every 10 minutes.
Request parameters
Parameter | Type | Description | Required |
---|---|---|---|
domain | string | The domain name to register | Yes |
firstname | string | Registrant's first name | Yes |
lastname | string | Registrant's last name | Yes |
companyname | string | Company name. Required only if the domain is registered for a company | No |
contactemail | string | Registrant's email | Yes |
address1 | string | First line of the registrant's address | Yes |
address2 | string | Second line of the registrant's address | No |
city | string | City of the registrant's address | Yes |
state | string | State of the registrant's address. In case of an address in Italy, the province abbreviation | Yes |
postcode | string | Postal code of the registrant's address | Yes |
country | string | Country of the registrant's address, two letters | Yes |
phonenumber | string | Registrant's phone number in the format +1.0000000000 | Yes |
idnLanguage | string | If it is an IDN domain, specify the IDN language | No |
regperiod | int | Registration period expressed in years, from 1 to 10. | Yes |
nameserver1 | string | First nameserver of the domain, e.g., ns1.domain | Yes |
nameserver2 | string | Second nameserver of the domain, e.g., ns2.domain.it | Yes |
nameserver3 | string | Optional additional nameserver | No |
nameserver4 | string | Optional additional nameserver | No |
nameserver5 | string | Optional additional nameserver | No |
idprotection | boolean | false if you do not want to activate WHOIS privacy, true if you want to activate it | Yes |
additionalfields | array | An array containing additional fields for domains. Details in the table below | No |
Additional fields
Some domains have additional required fields necessary for registration.
Extension | Additional field | Description |
---|---|---|
.it | entity | An integer number from 1 to 7 as indicated by nic: 1 Italian and foreign natural persons, 2 Companies, 3 Sole proprietorships, freelancers / professional orders, 4 Non-profit entities, 5 Public entities, 6 Other subjects, 7 Foreign subjects equivalent to the previous except natural persons |
.it | taxid | Tax code if “entity” is an Italian natural person. Document number if foreign natural person. VAT number (numbers only) in all other cases; in case of non-profit entities it can be n.a. (if they do not have VAT or numeric tax code) |
.it | whois | true or false depending on whether you want to publish personal data or not. The choice is possible only for natural persons; for all other “entity” it must necessarily be true |
.it | itterms | Acceptance of the nic.it terms, acceptance of the terms is required |
{
"result": "success",
"domain": "supporthost.com",
"message": "Domain registered successfully"
}
Response parameters
Parameter | Type | Description |
---|---|---|
result | string | The result of the operation: success or error |
domain | string | The domain we are registering |
message | string | The message, success or error |
Error responses
Connection refused from unauthorized host. IP xxx.xxx.xxx.xxx is NOT allowed to access your account |
Invalid email or not a reseller. |
Invalid API key. |
Validations: for all mandatory fields we perform validations, if the validation fails you receive an error message. |
The domain is not available for registration |
Domain is already pending in your account. Go to the SupportHost clientarea and pay the invoice to register it |
Domain is already in your account |
Errors from the registry: if the registry returns an error we report it in the registration error |
POST /domain/transfer
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://my.supporthost.com/domainapi.php/domain/transfer',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS =>'{
"domain": "xxxxx.com",
"eppcode": "xxxxxx",
"firstname": "xxxxxx",
"lastname": "xxxxxx",
"companyname": "xxxxxx",
"contactemail": "[email protected]",
"address1": "xxxxxx 123",
"address2": "xxxxxx",
"city": "xxxxxx",
"state": "RM",
"postcode": "12345",
"country": "IT",
"phonenumber": "+1.0000000000",
"idnLanguage": "",
"regperiod": "0",
"nameserver1": "ns1.domain.com",
"nameserver2": "ns2.domain.com",
"idprotection": "",
"additionalfields": {
"entity": "1",
"taxid": "xxxxxx",
"itterms": "on",
"whois": "on"
}
}',
CURLOPT_HTTPHEADER => array(
'X-Email: your_email',
'X-Api-Key: your_apikey'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
?>
Description
This endpoint allows you to send a command to start the transfer of a new domain. If there have been errors, you can send the transfer request multiple times; the new data will correct the data sent with previous requests. There is no limit to the number of times you can send the same transfer request for the same domain.
Request limit
300 requests every 10 minutes.
Request parameters
Parameter | Type | Description | Required |
---|---|---|---|
domain | string | The full domain name to use | Yes |
firstname | string | Registrant's first name | Yes |
lastname | string | Registrant's last name | Yes |
companyname | string | Company name (if applicable) | No |
contactemail | string | Registrant's email | Yes |
address1 | string | Address line 1 | Yes |
address2 | string | Address line 2 | No |
city | string | City | Yes |
state | string | State or province | Yes |
postcode | string | Postal code (ZIP) | Yes |
country | string | Country code (e.g. IT) | Yes |
phonenumber | string | Phone number in international format | Yes |
regperiod | integer | Registration period in years | Yes |
idprotection | boolean | WHOIS privacy activation | Yes |
additionalfields | array | Additional extension-specific fields | No |
Additional fields
Some domains have additional required fields necessary for registration.
Extension | Additional field | Description |
---|---|---|
.it | entity | An integer number from 1 to 7 as indicated by nic: 1 Italian and foreign natural persons, 2 Companies, 3 Sole proprietorships, freelancers / professional orders, 4 Non-profit entities, 5 Public entities, 6 Other subjects, 7 Foreign subjects equivalent to the previous except natural persons |
.it | taxid | Tax code if “entity” is an Italian natural person. Document number if foreign natural person. VAT number (numbers only) in all other cases; in case of non-profit entities it can be n.a. (if they do not have VAT or numeric tax code) |
.it | whois | true or false depending on whether you want to publish personal data or not. The choice is possible only for natural persons; for all other “entity” it must necessarily be true |
.it | itterms | Acceptance of the nic.it terms, acceptance of the terms is required |
{
"result": "success",
"domain": "supporthost.com",
"message": "Domain transfer started successfully"
}
Response parameters
Parameter | Type | Description |
---|---|---|
result | string | The result of the operation: success or error |
domain | string | The domain being transferred |
message | string | The message, success or error |
Error responses
Connection refused from unauthorized host. IP xxx.xxx.xxx.xxx is NOT allowed to access your account |
Invalid email or not a reseller. |
Invalid API key. |
Validations: for all required fields we perform validations, if the validation fails you will receive an error message. |
The domain is not available for transfer |
Domain is already pending in your account. Go to the SupportHost clientarea and pay the invoice to transfer it |
Domain is already in your account |
Registry errors: if the registry returns an error we report it in the registration error |
POST /domain/renew
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://my.supporthost.com/domainapi.php/domain/renew',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS =>'{
"domain": "domain.com",
"regperiod": 1
}',
CURLOPT_HTTPHEADER => array(
'X-Email: your_email',
'X-Api-Key: your_apikey'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
?>
Description
This endpoint allows you to send a command to renew a domain. If there is enough credit in the account, the invoice is automatically marked as paid.
Rate limit
300 requests every 10 minutes.
Request parameters
Parameter | Type | Description | Required |
---|---|---|---|
domain | string | The name of the domain to renew | Yes |
regperiod | int | Number of years to renew (1-9) | Yes |
{
"result": "success",
"latestinvoiceid": 12345
}
Response parameters
Parameter | Type | Description |
---|---|---|
result | string | The result of the operation: "success" or "error" |
latestinvoiceid | int | ID of the renewal invoice created. You can find it in the client area |
Error responses
Connection refused from unauthorized host. IP xxx.xxx.xxx.xxx is NOT allowed to access your account |
Invalid email or not a reseller. |
Invalid API key. |
Domain not found in your account |
The status of the domain doesn’t allow renewal |
The domain has been cancelled. You need to restore it. |
There is already a renewal invoice for this domain. Go to the SupportHost clientarea and pay it to renew |
POST /domain/restore
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://my.supporthost.com/domainapi.php/domain/restore?domain=domain.com',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => array(
'X-Email: your_email',
'X-Api-Key: your_apikey'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
?>
Description
This endpoint allows you to send a command to restore a deleted domain. Deleted domains can be restored following the payment of a recovery fee. If there is enough credit in the account, the invoice is marked as paid automatically.
Request limit
300 requests every 10 minutes.
Request parameters
Parameter | Type | Description | Required |
---|---|---|---|
domain | string | The domain name to be restored | Yes |
{
"result": "success",
"invoiceid": 12345
}
Response parameters
Parameter | Type | Description |
---|---|---|
result | string | The result of the operation: "success" or "error" |
invoiceid | int. | ID of the created recovery invoice. You do not receive an email with the created invoice, but you can find it in the client area. |
Error responses
Connection refused from unauthorized host. IP xxx.xxx.xxx.xxx is NOT allowed to access your account |
Invalid email or not a reseller. |
Invalid API key. |
Domain not found in your account |
The status of the domain doesn’t allow restore |
The domain has been cancelled. You need to restore it. |
There is already a renewal invoice for this domain. Go to the SupportHost clientarea and pay it to renew |
POST /domain/nameservers
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://my.supporthost.com/domainapi.php/domain/nameservers',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS =>'{
"domain": "domain.com",
"ns1": "ns1.supporthost.com",
"ns2": "ns2.supporthost.com"
}',
CURLOPT_HTTPHEADER => array(
'X-Email: your_email',
'X-Api-Key: your_apikey'
),
));
curl_close($curl);
echo $response;
?>
Description
This endpoint allows you to send a command to modify the nameservers of a domain.
Request limit
300 requests every 10 minutes.
Request parameters
Parameter | Type | Description | Required |
---|---|---|---|
domain | string | The domain name to be changed | Yes |
ns1 | string | First nameserver (e.g. ns1.domain.com) | Yes |
ns2 | string | Second nameserver (e.g. ns2.domain.com) | Yes |
ns3 | string | Third nameserver (optional) | No |
ns4 | string | Fourth nameserver (optional) | No |
ns5 | string | Fifth nameserver (optional) | No |
{
"result": "success"
}
Response parameters
Parameter | Type | Description |
---|---|---|
result | string | The result of the operation: "success" or "error" |
Error responses
Connection refused from unauthorized host. IP xxx.xxx.xxx.xxx is NOT allowed to access your account |
Invalid email or not a reseller. |
Invalid API key. |
Domain not found in your account |
The status of the domain doesn’t allow nameservers change |
POST /domain/idprotect
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://my.supporthost.com/domainapi.php/domain/idprotect',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS =>'{
"domain": "colibri.com",
"idprotect": false
}',
CURLOPT_HTTPHEADER => array(
'X-Email: your_email',
'X-Api-Key: your_apikey'
),
));
curl_close($curl);
echo $response;
?>
Description
This endpoint allows you to send a command to enable or disable WHOIS privacy for a domain. This feature is not supported by all extensions.
Request limit
300 requests every 10 minutes.
Request parameters
Parameter | Type | Description | Required |
---|---|---|---|
domain | string | The domain name | Yes |
idprotect | bool | true to enable, false to disable | Yes |
{
"result": "success"
}
Response parameters
Parameter | Type | Description |
---|---|---|
result | string | The result of the operation: "success" or "error" |
Error responses
Connection refused from unauthorized host. IP xxx.xxx.xxx.xxx is NOT allowed to access your account |
Invalid email or not a reseller. |
Invalid API key. |
Domain not found in your account |
This domain extension do not support ID protection |
POST /domain/updatelockingstatus
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://my.supporthost.com/domainapi.php/domain/updatelockingstatus',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS =>'{
"domain": "domain.com",
"idprotect": false
}',
CURLOPT_HTTPHEADER => array(
'X-Email: your_email',
'X-Api-Key: your_apikey'
),
));
curl_close($curl);
echo $response;
?>
Description
This endpoint allows you to send a command to enable or disable the transfer lock for a domain. This function is not supported by all extensions.
Request limit
300 requests every 10 minutes.
Request parameters
Parameter | Type | Description | Required |
---|---|---|---|
domain | string | The domain name | Yes |
lockstatus | bool | true to enable, false to disable | Yes |
{
"result": "success"
}
Response parameters
Parameter | Type | Description |
---|---|---|
result | string | The result of the operation: "success" or "error" |
Error responses
Connection refused from unauthorized host. IP xxx.xxx.xxx.xxx is NOT allowed to access your account |
Invalid email or not a reseller. |
Invalid API key. |
Domain not found in your account |
This domain extension do not support lock |
POST /domain/updatewhois
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://my.supporthost.com/domainapi.php/domain/updatewhois',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS =>'{
"domain": "colibri.com",
"contactdetails": {
"Registrant": {
"Name": "xxxxxx"
"Company": "xxxxxx"
"City": "xxxxxx"
"State": "xxxxxx"
"Country": "EE"
"Postcode": "12345"
"Phone_Number": "+1.0000000000"
"Email": "[email protected]"
"Address": "xxxxxx"
"entityType": "1"
"itNationality": "IT"
"regCode": "xxxxxx"
"consentForPublishing": true
}
"Admin": {
"Name": "xxxxxx"
"Company": "xxxxxx"
"City": "xxxxxx"
"State": "xxxxxx"
"Country": "EE"
"Postcode": "12345"
"Phone_Number": "+1.0000000000"
"Email": "[email protected]"
"Address": "xxxxxx"
}
"Tech": {
"Name": "xxxxxx"
"Company": "xxxxxx"
"City": "xxxxxx"
"State": "xxxxxx"
"Country": "EE"
"Postcode": "12345"
"Phone_Number": "+1.0000000000"
"Email": "[email protected]"
"Address": "xxxxxx"
}
}
}',
CURLOPT_HTTPHEADER => array(
'X-Email: your_email',
'X-Api-Key: your_apikey'
),
));
curl_close($curl);
echo $response;
?>
Description
This endpoint allows you to send a command to update the domain contact details.
Request limit
300 requests every 10 minutes.
Request parameters
Parameter | Type | Description | Required |
---|---|---|---|
domain | string | The domain name for which you want to modify the data | Yes |
contactdetails | array | An array containing all contact details, both those to update and those to keep. The data must be sent following the same schema as received from the /domain/info endpoint | Yes |
{
"result": "success"
}
Response parameters
Parameter | Type | Description |
---|---|---|
result | string | The result of the operation: "success" or "error" |
Error responses
Connection refused from unauthorized host. IP xxx.xxx.xxx.xxx is NOT allowed to access your account |
Invalid email or not a reseller. |
Invalid API key. |
Domain not found in your account |
Eventuali errori del registro dovuti ai nuovi dati dei contatti del dominio |
Possible registry errors due to the new domain contact details |
WHMCS Module
You can download the latest version of the SupportHost domain reseller WHMCS module from the following link:
Download the WHMCS module (ZIP)
For a complete guide to installing and configuring the module, please see our official tutorial:
How to install the WHMCS module for domain resellers
If you need assistance or support, do not hesitate to contact us.