API User Manual
Version 1.0.20 - 15/07/2021
MrDomain
Important
The API and its documentation is under constant development. We recommend checking the documentation from time time to avoid problems and incompatibilities.
This reference guide is intended to help you understand how to access and use our API. In it you will find how to perform requests, how the API works, error codes you may get, and the format for most of the responses. It's advised to only use the API if you're experienced in this kind of environments.
Usage of MrDomain's API is restricted to accounts previously authorized that have passed the required quality checks by the MrDomain's team.
The API service is restricted to a limited amount of IP address. Each of these IP address must be
registered in the system to allow access to the API. Additionally, access credentials ( apiuser
and apipasswd
) will be required for most of the API calls. You can obtain these credentials
contacting our support team.
The usage of MrDomain's API is intended for the creation of web applications to manage domains and domain collections.
Is expressly prohibited to use the API to perform mass requests and queries (domain capture, mass availability checks...). Any attempt to do so will be detected in real-time by our system, temporarily blocking access to the API for the username and password used.
Repeated attemps will result in blocking and/or terminating the account.
Both the number of simultaneous access to the API and the number of operations and errors generated are properly monitored and limited to avoid a missuse of our systems. Going beyond the established limits may result in a temporal blocking of the API username and password.
You will find more information on the Usage policy for the API.
Access to the API is done via HTTPS protocol. Parameters must be sent using POST (parameters sent using GET are ignored). It is recommended that you check the SSL certificate from the server to ensure that you are connecting to the correct server.
Responses will be sent in JSON format (JavaScript Object Notation).
URL: https://simple-api.dondominio.net[:443]/[APICALL]/
apiuser: *******
apipasswd: *******
IP: IP Address
To perform a request, for example, to tool/hello
, you need to perform a POST request to the
URI https://simple-api.dondominio.net/tool/hello/
.
Valid request example:
Request:
POST /tool/hello/
param1=value1¶m2=value2
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "tool\/hello",
"version": "1.0.20",
"responseData": {
"ip": "127.0.0.1",
"lang": "en",
"version": "1.0.20"
}
}
If the success
parameters is true
(errorCode = 0
), that means that the request was
successful and responseData
contains the requested information. On the other side, if success
is false
, that means that there were one or more errors and the request failed.
Invalid request example:
Request:
POST /tool/requestinvalid/
Response example:
{
"success": false,
"errorCode": 102,
"errorCodeMsg": "Object action invalid",
"action": "tool\/requestinvalid",
"version": "1.0.20",
"messages": [
"invalid object\/action"
],
"responseData": []
}
Access credentials must be sent for every request that require them. They will be sent using
POST with the following parameters (key/value in application/x-www-form-urlencode
format):
POST /requesturi/
apiuser=YOURAPIUSER&apipasswd=YOURAPIPASS
Some parameters are common to almost every request. For example, in each request that requires
authentication, you will need to provide apiuser
and apipasswd
.
It is possible to change the output format for the response using the parameters output-format
and output-pretty
. The former is used to change the format of the response, and the latter to
apply a more legible format. By default json
without format is used.
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
output-format | Optional | json | Response format. Possible values: json , xml |
output-pretty | Optional | false | Use a more legible format |
Example using output-format = json and output-pretty = false
Response example:
{"success":true,"errorCode":0,"errorCodeMsg":"","action":"tool\/hello","version":"1.0.20","responseData":{"ip":"37.152.93.46","lang":"en","version":"1.0.20"}}
Example using output-format = xml and output-pretty = false
Response example:
<?xml version="1.0" encoding="UTF-8"?>
<data><success>1</success><errorCode>0</errorCode><errorCodeMsg></errorCodeMsg><action>tool/hello</action><version>1.0.20</version><responseData><ip>37.152.93.46</ip><lang>en</lang><version>1.0.20</version></responseData></data>
Example with output-format = xml and output-pretty = true
Response example:
<?xml version="1.0" encoding="UTF-8"?>
<data>
<success>1</success>
<errorCode>0</errorCode>
<errorCodeMsg></errorCodeMsg>
<action>tool/hello</action>
<version>1.0.20</version>
<responseData>
<ip>37.152.93.46</ip>
<lang>en</lang>
<version>[#VERSION]</version>
</responseData>
</data>
Module | Title | Description |
---|---|---|
/tool/ | Tools | General purpose tools |
/account/ | Account | Actions on user/API account |
/domain/ | Domains | Actions on domains |
/contact/ | Contacts | Actions on domain contacts |
/service/ | Service | Actions on servies |
/ssl/ | SSL | Actions on Certificates SSL |
The tool module allows access to different general purpose tools.
Available actions:
Action | Authentication | Description |
---|---|---|
/tool/hello/ | Required | Check availability of the API |
/tool/idnconverter/ | Required | IDNA/Unicode/Punycode conversor |
/tool/domainsuggests/ | Required | Suggesting available domains |
/tool/gettable/ | Required | Retrieve different tables used by the API |
/tool/dig/ | Required | DIG (Domain Information Groper) - DNS server checking tool |
/tool/zonecheck/ | Required | Check TLD requisites for a domain |
Use: Checks that the API is reachable and working properly.
Request:
POST /tool/hello/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password |
Response fields description:
Field | Description |
---|---|
ip | IP address being use to connect to the API |
lang | Language used by API |
version | Current API version |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "tool\/hello",
"version": "1.0.20",
"responseData": {
"ip": "127.0.0.1",
"lang": "en",
"version": "1.0.20"
}
}
Use: Converts a string or domain name between Unicode and Punycode (IDNA format).
Request:
POST /tool/idnconverter/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
query | Required | Query/Domain to be converted to Unicode or Punycode |
Response fields description:
Field | Description |
---|---|
query | The original string |
unicode | String/Domain name in Unicode |
punycode | String/Domain name in Punycode |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "tool\/idnconverter",
"version": "1.0.20",
"responseData": {
"query": "espa\u00f1a.com", /* españa.com */
"unicode": "espa\u00f1a.com",
"punycode": "xn--espaa-rta.com"
}
}
Use: Search available domains suggestions from a provided word.
Abusing the domain/check/
command can lead to a temporal or definitive banning of the account.
Request:
POST /tool/domainsuggests/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
query | Required | Word or domain to search suggestions for | |
language | Optional | es | Language of the suggestions. One of: es, en, zh, fr, de, kr, pt, tr |
tlds | Optional | com,net | TLDs to check for suggestions. Comma separated. Available TLDs: com,net,tv,cc |
Response fields description:
Field | Description |
---|---|
query | Query performed |
suggests/word/tld | Bool Indicated whether word.tld is available or not |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "tool\/domainsuggests",
"version": "1.0.20",
"responseData": {
"query": "coches",
"suggests": {
"coches": {
"es": false,
"com": false,
"net": false
},
"cochesonline": {
"es": false,
"com": false,
"net": true
},
"loscoches": {
"es": false,
"com": false,
"net": true
}
/*,...*/
}
}
Use: Retrieve code tables used by some API calls.
Request:
POST /tool/gettable/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
tableType | Required | Table to retrieve countries: Country codes and country names. es_juridic: Organization type codes used by Spain's Government. |
Response fields description:
Field | Description |
---|---|
items | Array containing codes and descriptions |
Example for tableType = country
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "tool\/gettable",
"version": "1.0.20",
"responseData": {
"items": [
{
"code": "AD",
"name": "Andorra"
},
{
"code": "AE",
"name": "United Arab Emirates"
},
{
"code": "AF",
"name": "Afghanistan"
}
/*
,{ .... }
*/
]
}
}
Example for tableType = es_juridic
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "tool\/gettable",
"version": "1.0.20",
"responseData": {
"items": [
{
"code": "39",
"name": "Agrupaci\u00f3n de Inter\u00e9s Econ\u00f3mico"
},
{
"code": "47",
"name": "Asociaci\u00f3n"
},
{
"code": "59",
"name": "Asocicaci\u00f3n Deportiva"
}
/*
,{ .... }
*/
]
}
}
Use: DIG (or Domain Information Groper) is a tool to check DNS servers. In the event that your domain is not resolving correctly you will be able to check the cause, helping you to minimize downtime.
Request:
POST /tool/dig/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
query | Required | Domain/Query | |
type | Required | Type of test. One of: A , AAAA , ANY , CNAME , MX , NS , SOA , TXT , CAA |
|
nameserver | Required | DNS server name or IP address |
Response fields description:
Field | Description |
---|---|
query | Query performed |
nameserver | DNS server name or IP address |
type | Type of test |
result | Results of the test in plain text |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "tool\/dig",
"version": "1.0.20",
"responseData": {
"query": "microsoft.com",
"nameserver": "8.8.8.8",
"type": "SOA",
"result": ";; Got answer:\n;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 62615\n;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0\n\n;; QUESTION SECTION:\n;microsoft.com.\t\t\tIN\tSOA\n\n;; ANSWER SECTION:\nmicrosoft.com.\t\t3599\tIN\tSOA\tns1.msft.net. msnhst.microsoft.com. 2015080701 7200 600 2419200 3600\n\n"
}
}
Use: Checks whether a domain fulfills the conditions required by some TLDs.
Request:
POST /tool/zonecheck/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
domain | Required | Domain name | |
nameservers | Required | DNS Servers ( min: 2 ) |
Response fields description:
Field | Description |
---|---|
domain | Domain name |
nameservers | DNS Server |
result | Result of the test |
result/zonepass | Indicates whether the domain fulfills the conditions required |
result/report | Full test report in plain text |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "tool\/zonecheck",
"version": "1.0.20",
"responseData": {
"domain": "dondominio.fr",
"nameservers": [
"ns5.dondominio.com",
"ns2.dondominio.com"
],
"result": {
"zonepass": true,
"report": "ZONE : dondominio.fr\nNS <= : ns5.dondominio.com [37.152.88.14]\nNS : ns2.dondominio.com [178.33.146.32]\n\n _______________\n ,---------------.|\n~~~~ | warning || ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n `---------------'\nw> [TEST can deliver email to 'postmaster']: Connection refused - connect(2)\n=> generic\n\n==> SUCCESS (but 1 warning(s))\n"
}
}
}
The account module allows access to the different options for the account.
Available actions:
Action | Authentication | Description |
---|---|---|
/account/info/ | Required | Retrieves information from the account/API |
/account/promos/ | Required | List current promotions |
/account/zones/ | Required | Retrieves information from the zones/TLDs |
Use: Retrieves information about the account, including the available balance.
Request:
POST /account/info/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password |
Response fields description:
Field | Description |
---|---|
clientName | Customer name |
apiuser | API Username |
balance | Balance available in account |
threshold | Threshold for notifying low balance |
currency | (float) Currency used for balance |
ip | Current IP address connecting to the API |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "account\/info",
"version": "1.0.20",
"responseData": {
"clientName": "clientX",
"apiuser": "YOURAPIUSER",
"balance": 124.0,
"threshold": 30.0,
"currency": "EUR",
"ip": "127.0.0.1"
}
}
Use: List current promotions.
Request:
POST /account/promos/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password |
Response fields description:
Field | Description |
---|---|
promo | Promotion identification |
type | Promotion type |
action | What the promotion affect to |
price | Price with promotion |
tsIni | Init date of the promotion |
tsEnd | End date of the promotion |
tld | (If type=domain ) Affected domain tld |
productID | (If type=ssl ) Affected SSL product identification |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "account\/promos",
"version": "1.0.20",
"responseData": [
{
"promo": "LSxDNFErMyhQLDM8TytXIVI7UGBgCmAK",
"type": "domain",
"action": "create",
"price": 4.95,
"tsIni": "2017-01-01 00:00:00",
"tsEnd": "2021-12-31 23:59:00",
"tld": "pro"
},
{
"promo": "MSxTQFcrMyhQLEMkTytXLVM7IlVNODdEYApgCg==",
"type": "ssl",
"action": "create",
"price": 28,
"tsIni": "2021-05-03 00:00:00",
"tsEnd": "2021-07-03 00:00:00",
"productID": "57"
}
]
}
Use: Retrieves available zones/TLDs.
Request:
POST /account/zones/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
pageLength | Optional | 100 | Maximum number of results |
page | Optional | 1 | Results page number |
tld | Optional | Filter by TLD | |
tldtop | Optional | Fiter by top TLD |
Response fields description:
Field | Description |
---|---|
queryInfo | Information about the query made |
queryInfo/page | Results page number |
queryInfo/pageLength | Maximum number of results per page |
queryInfo/results | Number of results obtained |
queryInfo/total | Total number of results |
zones/tld | TLD |
zones/tldtop | Top TLD |
zones/authcodereq | (bool) Indicates whether the TLD requires authcode for transfers |
zones/requirements | If present, indicates special requieremes for the zone/TLD |
zones/create | If present, zone/TLD allows new domain registrations |
zones/create/price | Cost of domain registration |
zones/create/years | Allowed years/periods for registration |
zones/create/inPromo | (bool) Indicates whethere the TLD has a promo Just when is true |
zones/renew | If present, zone/TLD allows domain renewals |
zones/renew/pric | Cost of domain renewal |
zones/renew/years | Allowed years/periods for renewals |
zones/renew/inPromo | (bool) Indicates whethere the TLD has a promo Just when is true |
zones/transfer | If present, zone/TLD allows domain transfers |
zones/transfer/price | Cost of domain transfer |
zones/transfer/years | Allowed years/periods for transfers |
zones/transfer/inPromo | (bool) Indicates whethere the TLD has a promo Just when is true |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "account\/zones",
"version": "1.0.20",
"responseData": {
"queryInfo": {
"page": 1,
"pageLength": 100,
"results": 1,
"total": 1
},
"zones": [
{
"tld": "green",
"tldtop": "green",
"authcodereq": true,
"create": {
"price": 12.95,
"years": "1",
"inPromo": true
},
"renew": {
"price": 52.95,
"years": "1,2,3,4,5,6,7,8,9,10"
},
"transfer": {
"price": 52.95,
"years": "1"
}
}
]
}
}
The domain module allows access to differents options for domains.ç
Available actions:
Action | Authentication | Description |
---|---|---|
domain/check | Required | Check availability to register a domain |
domain/checkfortransfer | Required | Check availability to transfer a domain |
domain/create | Required | Register a domain |
domain/transfer | Required | Transfer a domain |
domain/transferrestart | Required | Restart a domain transfer |
domain/update | Required | Update domain information |
domain/updatenameservers | Required | Update domain's nameservers |
domain/updatecontacts | Required | Update domain's contact information |
domain/gluerecordcreate | Required | Create a DNS Server associated with a domain |
domain/gluerecordupdate | Required | Update a DNS Server associated with a domain |
domain/gluerecorddelete | Required | Delete a DNS Server associated with a domain |
domain/list | Required | Search/Filter/List domains in the account |
domain/getinfo | Required | Retrieve information from a domain |
domain/getauthcode | Required | Retrieve domain's authcode |
domain/getnameservers | Required | Retrieve domain's nameservers |
domain/getgluerecords | Required | Retrieve domain's DNS Servers (Gluerecords) |
domain/getdnssec | Required | Retrieve the DNSSEC entries associated with a domain |
domain/dnsseccreate | Required | Add a DNSSEC entry |
domain/dnssecdelete | Required | Remove a DNSSEC entry |
domain/renew | Required | Renew a domain |
domain/whois | Required | Check the public whois for a domain |
domain/resendverificationmail | Required | Resend the verification email for owner contact data |
domain/gethistory | Requerid | Domain history |
domain/listdeleted | Requerid | Deleted domains |
Use: Checks if a domain is available to be registered. Excessive uses of domain/check/
may
result in a temporal or definitive account banning.
Request:
POST /domain/check/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
domain | Required | Domain name |
Response fields description:
Field | Description |
---|---|
name | Domain name in Unicode |
punycode | Domain name in Punycode |
tld | Domain TLD |
available | (bool) Indicates whether the domain can be registered |
premium | (bool) Indicates whether the domain is premium. To register a premium domain, this parameter must be passed |
price | (float) Yearly registration cost |
currency | Currency used for the cost |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "domain\/check",
"version": "1.0.20",
"responseData": {
"domains": [
{
"name": "exampledomain-001.com",
"punycode": "exampledomain-001.com",
"tld": "com",
"available": true,
"premium": false,
"price": 9.95,
"currency": "EUR"
}
]
}
}
Use: Checks whether a domain name is available to be transferred to MrDomain from its current registrar.
Request:
POST /domain/checkfortransfer/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
domain | Required | Domain name |
Response fields description:
Field | Description |
---|---|
name | Domain name in Unicode |
punycode | Domain name in Punycode |
tld | Domain TLD |
transferavail | (bool) Indicates whether the domain can be transferred |
transfermsg | Additional messages if domain can't be transferred |
price | (float) Yearly cost of registration |
currency | Currency used for cost |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "domain\/checkfortransfer",
"version": "1.0.20",
"responseData": {
"domains": [
{
"name": "example01.com",
"punycode": "example01.com",
"tld": "com",
"transferavail": true,
"transfermsg": [],
"price": 9.95,
"currency": "EUR"
}
]
}
}
Use: Creates/Registers a new domain name with MrDomain.
Tip:
Before making a request to domain/create/
, first check with domain/check/
if the domain is
actually available to be registered.
Request:
POST /domain/create/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
domain | Required | Domain name | |
period | Optional | Min years (normalmente 1 año) | Number of years to register the domain (by default, the minimum possible) |
premium | Optional | false | Must be true to register premium domains |
nameservers | Optional | parking | Comma-separated list of DNS Servers If parking , parking and redirection service will be assignedIf not, a comma-separated list of DNS Servers must be provided (min. 2, máx. 7): ns1.dns.com,ns2.dns.com |
ownerContact[Data] | Required | Owner contact data (See below) | |
adminContact[Data] | Optional | Administrative contact data. If not present, owner contact data will be used instead. | |
techContact[Data] | Optional | Technical contact data. If not present, administrative contact data will be used instead. | |
billingContact[Data] | Optional | Billing contact data. If not present, administrative contact data will be used instead. |
The contact data for ownerContact[Data]
, techContact[Data]
, adminContact[Data]
and/or
billingContact[Data]
may be provided in two different ways:
(1) Providing a Contact ID: (example for owner)
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
ownerContactID | Required | Contact ID in MrDomain. Example: XXX-23423 |
(2) Providing all required information: (example for owner)
In this case, an ownerContactID
may not be specified, or all these fields will be ignored.
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
ownerContactType | Required | Contact type: individual or organization |
|
ownerContactFirstName | Required | First name | |
ownerContactLastName | Required | Last name | |
ownerContactOrgName | Required if ownerContactType = organization |
Organization or company name | |
ownerContactOrgType | Required if ownerContactType = organization and ownerCountry = ES |
Spanish organization type (See table) | |
ownerContactIdentNumber | Required | Tax identification number, VAT Number, ID Card number... | |
ownerContactEmail | Required | ||
ownerContactPhone | Required | Phone number in +DD.DDDDDDDD format | |
ownerContactFax | Optional | Fax number in +DD.DDDDDDDDD format | |
ownerContactAddress | Required | Address | |
ownerContactPostalCode | Required | Postal code | |
ownerContactCity | Required | City | |
ownerContactState | Required | State/Province | |
ownerContactCountry | Required | (String 2 characters) Country code (See table) |
Other contacts may be provided switching the prefix owner
accordingly to admin
, tech
or
billing
.
Response fields description:
Field | Description |
---|---|
billing/total | Total cost of the operation |
billing/currency | Currency used for cost |
domains/name | Domain name |
domains/status | Domain status |
domains/tld | Domain TLD |
domains/tsExpir | Domain's expiration date |
domains/domainID | Domain ID |
domains/period | Period registered |
domains/inPromo | (bool) Indicates whethere the TLD has a promo Just when is true |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "domain\/create",
"version": "1.0.20",
"responseData": {
"billing": {
"total": 12.04,
"currency": "EUR"
},
"domains": [
{
"name": "myexample.com",
"status": "register-init",
"tld": "com",
"tsExpir": "",
"domainID": 45762358,
"period": 1
}
]
}
}
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
aeroId | Required | ENS Identifier. More information available on ENS Aero ID | |
aeroPass | Required | ENS Password |
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
domainIntendedUse | Required | Indended use for the domain |
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
ownerDateOfBirth | Required if ownerContactType = individual |
Date of birth of the owner contact |
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
ownerDateOfBirth | Required if ownerContactType = individual |
Date of birth of the owner contact |
Please note
In the event that the owner contact is an organization, the domain will be registered by default
using the VAT Number provided (ownerIdentNumber). You can associate it to a SIREN number (providing
frSirenNumber
) or to a trademark (providing frTradeMark
).
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
frTradeMark | Optional | You may provide a Trademark Number if the owner contact is an organization | |
frSirenNumber | Optional | You may provide a SIREN number if the owner contact is an organization |
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
ownerDateOfBirth | Required if ownerContactType = individual |
Date of birth of the owner contact |
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
ownerDateOfBirth | Required if ownerContactType = individual |
Date of birth of the owner contact |
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
ownerDateOfBirth | Required if ownerContactType = individual |
Date of birth of the owner contact |
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
ownerDateOfBirth | Required if ownerContactType = individual |
Date of birth of the owner contact | |
ruIssuer | Required if ownerContactType = individual |
Issuer of owner's certification | |
ruIssuerDate | Required if ownerContactType = individual |
Certification date of issuing |
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
ownerDateOfBirth | Required if ownerContactType = individual |
Date of birth of the owner contact |
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
xxxClass | Required | Type of user in the .xxx community default: Non-member membership: Member of the .xxx community nonResolver: Domain will not resolve DNS |
|
xxxName | Required if xxxClass = default |
First and last name for .xxx community registration | |
xxxEmail | Required if xxxClass = default |
Email for .xxx community registration | |
xxxId | Required if xxxClass = membership |
ICM Registry ID (.xxx Community ID) |
Use: Transfers a domain from any other Registrar to MrDomain.
Tip: Before making a request to domain/transfer/
, first check with domain/checkfortransfer/
if the domain is actually available to be transferred.
Request:
POST /domain/transfer/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
domain | Required | Domain name | |
nameservers | Optional | parking | List of DNS servers If parking , parking and redirection service will be assignedIf keepns , current nameservers will be preservedOtherwise, provide a comma-separated list of DNS servers (min. 2, max. 7): ns1.dns.com,ns2.dns.com |
authcode | Optional | Authcode (EPP Code), if required by the TLD | |
ownerContact[Data] | Required | Owner contact data (See Create) | |
adminContact[Data] | Optional | Administrative contact data. If not present, owner contact data will be used instead. | |
techContact[Data] | Optional | Technical contact data. If not present, administrative contact data will be used instead. | |
billingContact[Data] | Optional | Billing contact data. If not present, administrative contact data will be used instead. |
Contact data may be provided using the same format as in domain/create
.
Response fields description:
Field | Description |
---|---|
billing/total | Total cost of the operation |
billing/currency | Currency used for cost |
domains/name | Domain name |
domains/status | Domain status |
domains/tld | Domain TLD |
domains/tsExpir | Domain expiration date |
domains/domainID | Domain ID |
domains/inPromo | (bool) Indicates whethere the TLD has a promo Just when is true |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "domain\/create",
"version": "1.0.20",
"responseData": {
"billing": {
"total": 12.04,
"currency": "EUR"
},
"domains": [
{
"name": "myexample.com",
"status": "register-init",
"tld": "com",
"tsExpir": "",
"domainID": 45762358,
"period": 1
}
]
}
}
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
jobsOwnerIsAssocMember | Optional | false |
(bool) Indicates whether the owner is member of the SHRM |
jobsOwnerWebsite | Required | Owner website | |
jobsOwnerTitle | Optional | Owner's title | |
jobsOwnerIndustrytype | Optional | Owner's business type | |
jobsAdminIsAssocMember | Optional | false |
(bool) Indicates whether the administrative contact is member of the SHRM |
jobsAdminWebsite | Required | Administrative contact's website | |
jobsAdminTitle | Optional | Administrative contact's title | |
jobsAdminIndustrytype | Optional | Administrative contact's business type | |
jobsTechIsAssocMember | Optional | false |
(bool) Indicates whether the technical contact is member of the SHRM |
jobsTechWebsite | Required | Technical contact's website | |
jobsTechTitle | Optional | Technical contact's title | |
jobsTechIndustrytype | Optional | Technical contact's business type | |
jobsBillingIsAssocMember | Optional | false |
(bool) Indicates whether the billing contact is member of the SHRM |
jobsBillingWebsite | Required | Billing contact's website | |
jobsBillingTitle | Optional | Billing contact's title | |
jobsBillingIndustrytype | Optional | Billing contact's business type |
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
ownerDateOfBirth | Required if ownerContactType = individual |
Date of birth of the owner contact | |
ruIssuer | Required if ownerContactType = individual |
Issuer of owner's certification | |
ruIssuerDate | Required if ownerContactType = individual |
Certification date of issuing |
Usage: Restart the transfer process. Allows to change the old authcode if needed.
Request:
POST /domain/transferrestart/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
domain | Requerido (unless the field domainID is specified) |
Domain name | |
domainID | Requerido (unless the field domain is specified) |
Domain identifier | |
authcode | Optional | New authcode, if needed |
Response fields description:
Field | Description |
---|---|
name | Domain name |
status | Domain status |
tld | Domain TLD |
tsExpir | Domain expiration date |
domainID | Domain identifier |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "domain\/transferrestart",
"version": "1.0.20",
"messages": [
"Operation done correctly."
],
"responseData": {
"name": "example-domain.tv",
"status": "active",
"tld": "tv",
"tsExpir": "2015-05-14",
"domainID": 60523498
}
}
Use: Update existing information about a domain: contacts, nameservers, lock status, etc.
Request:
POST /domain/update/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
domain | Required (unless the field domainID is specified) |
Domain name | |
domainID | Required (unless the field domain is specified) |
Domain ID | |
updateType | Required | Type of information to update contact: Update contacts nameservers: Update DNS servers transferBlock: Enable or disable the transfer lock block: Enable or disable the modifications lock whoisPrivacy: Enable or disable the Whois privacy service renewalMode: Change the renewal type tag: Update the domain tag viewWhois: Enable/Disable Whois information visibility |
|
updateType = contact | |||
ownerContact[Data] | Optional | Owner contact data (See Create) | |
adminContact[Data] | Optional | Administrative contact data. If not present, owner contact data will be used instead. | |
techContact[Data] | Optional | Technical contact data. If not present, administrative contact data will be used instead. | |
billingContact[Data] | Optional | Billing contact data. If not present, administrative contact data will be used instead. | |
updateType = nameservers | |||
nameservers | Required | List of DNS servers If default , MrDomain's DNS servers will be assigned for the appropriate serviceOtherwise, provide a comma-separated list of DNS servers (min. 2, max. 7): ns1.dns.com,ns2.dns.com |
|
updateType = transferBlock | |||
transferBlock | Required | false | (bool) Transfer lock status |
updateType = block | |||
block | Required | false | (bool) Modifications lock status |
updateType = whoisPrivacy | |||
whoisPrivacy | Required | false | (bool) Whois Privacy service status |
updateType = viewWhois | |||
viewWhois | Required | false | (bool) New status for Whois information visibility |
updateType = renewalMode | |||
renewalMode | Required | Renewal type ( Check table ) | |
updateType = tag | |||
tag | Required | Domain tag or tags (separated by , ) |
Response fields description:
Field | Description |
---|---|
name | Domain name |
status | Domain status |
tld | Domain TLD |
tsExpir | Domain expiration date |
domainID | Domain ID |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "domain\/update",
"version": "1.0.20",
"messages": [
"Operation done correctly."
],
"responseData": {
"name": "example-domain.tv",
"status": "active",
"tld": "tv",
"tsExpir": "2015-05-14",
"domainID": 60523498
}
}
Use: Update Nameservers ( wrapper for domain/update [updateType=nameservers]
)
Request:
POST /domain/updatenameservers/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
domain | Required (unless the field domainID is specified) |
Domain name | |
domainID | Required (unless the field domain is specified) |
Domain ID | |
nameservers | Required | List of DNS servers If default , MrDomain's DNS servers will be assigned for the appropriate serviceOtherwise, provide a comma-separated list of DNS servers (min. 2, max. 7): ns1.dns.com,ns2.dns.com |
Response fields description:
Field | Description |
---|---|
name | Domain name |
status | Domain status |
tld | Domain TLD |
tsExpir | Domain expiration date |
domainID | Domain ID |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "domain\/updatenameservers",
"version": "1.0.20",
"responseData": {
"name": "example-domain.tv",
"status": "active",
"tld": "tv",
"tsExpir": "2015-05-14",
"domainID": 60523498
}
}
Use: Update domain contacts ( wrapper de domain/update [updateType=contact]
)
Request:
POST /domain/updatecontacts/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
domain | Required (unless the field domainID is specified) |
Domain name | |
domainID | Required (unless the field domain is specified) |
Domain ID | |
ownerContact[Data] | Optional | Owner contact data (See Create) | |
adminContact[Data] | Optional | Administrative contact data. If not present, owner contact data will be used instead. | |
techContact[Data] | Optional | Technical contact data. If not present, administrative contact data will be used instead. | |
billingContact[Data] | Optional | Billing contact data. If not present, administrative contact data will be used instead. |
Response fields description:
Field | Description |
---|---|
name | Domain name |
status | Domain status |
tld | Domain TLD |
tsExpir | Domain expiration date |
domainID | Domain ID |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "domain\/updatecontacts",
"version": "1.0.20",
"responseData": {
"name": "example-domain.tv",
"status": "active",
"tld": "tv",
"tsExpir": "2015-05-14",
"domainID": 60523498
}
}
Use: Create a DNS server associated with a domain (known as Gluerecord).
Request:
POST /domain/gluerecordcreate/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
domain | Required (unless the field domainID is specified) |
Domain name | |
domainID | Required (unless the field domain is specified) |
Domain ID | |
name | Required | Name of the DNS Server associated with the domain | |
ipv4 | Required | IPv4 address of the DNS Server | |
ipv6 | Optional | IPv6 address of the DNS Server |
Response fields description:
Field | Description |
---|---|
name | Domain name |
status | Domain status |
tld | Domain TLD |
tsExpir | Domain expiration date |
domainID | Domain ID |
gluerecords/name | NS/Gluerecord server name |
gluerecords/ipv4 | IPv4 address of the NS/Gluerecord server |
gluerecords/ipv6 | IPv6 address of the NS/Gluerecord server |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "domain\/gluerecordcreate",
"version": "1.0.20",
"messages": [
"Operation done correctly."
],
"responseData": {
"name": "test-expample-domain.com",
"status": "active",
"tld": "com",
"tsExpir": "2016-02-14",
"domainID": 1223423,
"gluerecords": [
{
"name": "ns1.test-expample-domain.com",
"ipv4": "212.20.40.200",
"ipv6": "2e02:2670:3:0:21a:4aff:fe24:c49f"
},
{
"name": "ns2.test-expample-domain.com",
"ipv4": "213.20.40.201",
}
]
}
}
Use: Update a DNS Server (Gluerecord) associated with a domain.
Request:
POST /domain/gluerecordupdate/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
domain | Required (unless the field domainID is specified) |
Domain name | |
domainID | Required (unless the field domain is specified) |
Domain ID | |
name | Required | Name of the DNS Server associated with the domain | |
ipv4 | Required | IPv4 address of the DNS Server | |
ipv6 | Optional | IPv6 address of the DNS Server |
Response fields description:
Field | Description |
---|---|
name | Domain name |
status | Domain status |
tld | Domain TLD |
tsExpir | Domain expiration date |
domainID | Domain ID |
gluerecords/name | NS/Gluerecord server name |
gluerecords/ipv4 | IPv4 address of the NS/Gluerecord server |
gluerecords/ipv6 | IPv6 address of the NS/Gluerecord server |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "domain\/gluerecordupdate",
"version": "1.0.20",
"messages": [
"Operation done correctly."
],
"responseData": {
"name": "test-expample-domain.com",
"status": "active",
"tld": "com",
"tsExpir": "2016-02-14",
"domainID": 1223423,
"gluerecords": [
{
"name": "ns1.test-expample-domain.com",
"ipv4": "212.20.40.203",
"ipv6": "2e02:2670:3:0:21a:4aff:fe24:c49f"
},
{
"name": "ns2.test-expample-domain.com",
"ipv4": "213.20.40.201",
}
]
}
}
Use: Delete a DNS (Gluerecord) associated with a domain.
Request:
POST /domain/gluerecorddelete/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
domain | Required (unless the field domainID is specified) |
Domain name | |
domainID | Required (unless the field domain is specified) |
Domain ID | |
name | Required | Name of the DNS Server associated with the domain |
Response fields description:
Field | Description |
---|---|
name | Domain name |
status | Domain status |
tld | Domain TLD |
tsExpir | Domain expiration date |
domainID | Domain ID |
gluerecords/name | NS/Gluerecord server name |
gluerecords/ipv4 | IPv4 address of the NS/Gluerecord server |
gluerecords/ipv6 | IPv6 address of the NS/Gluerecord server |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "domain\/gluerecorddelete",
"version": "1.0.20",
"messages": [
"Operation done correctly."
],
"responseData": {
"name": "test-expample-domain.com",
"status": "active",
"tld": "com",
"tsExpir": "2016-02-14",
"domainID": 1223423,
"gluerecords": [
{
"name": "ns2.test-expample-domain.com",
"ipv4": "213.20.40.201",
}
]
}
}
Use: Lists and searchs domains in the MrDomain account.
Request:
POST /domain/list/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
pageLength | Optional | 1000 | Maximum number of results |
page | Optional | 1 | Results page number |
domain | Optional | Finds an exact domain name | |
word | Optional | Finds all domain names containing this string | |
tld | Optional | Limits search to a single TLD | |
renewable | Optional | (Bool) If true , only renewable domains will be displayed |
|
infoType | Optional | If specified, adds information to the list. Check domain/getinfo to see all the fields for the responsesatus: General information about the domain. contact: Domain contact data (whois data) nameservers: DNS servers for the domain service: Service/hosting information gluerecords: Get the gluerecords associated with the domain |
|
owner | Optional | Owner contact identifier | |
tag | Optional | Filter by domain tag | |
status | Optional | Filter by domain status | |
ownerverification | Optional | Filter by owner contact verification status | |
renewalMode | Optional | Filter by domain status renewal mode autorenew: Automatic renewal manual: Manual renewal letexpire: Leave it to expire |
Response fields description:
Field | Description |
---|---|
queryInfo | Information about the query made |
queryInfo/page | Results page number |
queryInfo/pageLength | Maximum number of results per page |
queryInfo/results | Number of results obtained |
queryInfo/total | Total number of results |
domains | Array containing all domains found |
domains/name | Domain name |
domains/status | Domain status |
domains/tld | Domain TLD |
domains/tsExpir | Domain expiration date |
domains/domainID | Domain ID |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "domain\/list",
"version": "1.0.20",
"responseData": {
"queryInfo": {
"page": 1,
"pageLength": 10,
"results": 10,
"total": 27
},
"domains": [
{
"name": "exampledomain1.com",
"status": "active",
"tld": "com",
"tsExpir": "2016-02-14",
"domainID": 1223421
},
{
"name": "exampledomain2.es",
"status": "active",
"tld": "es",
"tsExpir": "2016-02-28",
"domainID": 1123239
}
/*
,{ .... }
*/
]
}
}
Use: Retrieves information from a domain.
Request:
POST /domain/getinfo/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
domain | Required (unless the field domainID is specified) |
Domain name | |
domainID | Required (unless the field domain is specified) |
Domain ID | |
infoType | Optional | status | Information type to retrieve status: General information about the domain contact: Contact data (whois) nameservers: DNS Servers authcode: Authcode (EPP Code) service: Information about related services/hosting gluerecords: Related gluerecords dnssec: Retrieves information about DNSSEC |
Response fields description:
Field | Description |
---|---|
name | Domain name |
status | Domain status |
tld | Domain TLD |
tsExpir | Domain expiration date |
domainID | Domain ID |
infoType = status | |
tsCreate | Creation date |
renewable | (bool) Indicates whether the domain is in renewal period |
renewalMode | Renewal type ( Check table ) |
modifyBlock | (bool) Indicates whether the domain has modifications blocked |
transferBlock | (bool) Indicates whether the domain has transfers blocked (only for domains that allow it) |
whoisPrivacy | (bool) Indicates whether the domain has the whois privacy service enabled (only for domains that allow it) |
viewWhois | (bool) Indicates whether the Whois information visibility is enabled (only for domains that allow this) |
authcodeCheck | (bool) Indicates whether the authcode can be retrieved with domain/getinfo/ [infoType=authcode] |
serviceAssociated | (bool) Indicates whether the domain has a service or hosting associated |
tag | Domain tag |
ownerverification | Domain owner contact verification status (View related table) |
transferStatus | Detailed information about the transfer status (View related table) |
infoType = contact | |
contactOwner | See Contact Response |
contactAdmin | See Contact Response |
contactTech | See Contact Response |
contactBilling | See Contact Response |
infoType = nameservers | |
defaultNS | (bool) Indicates whether the domain has the default nameservers currently configured or not |
nameservers | Array containing nameservers, see Nameservers Response |
infoType = authcode | |
authcode | Domain's authcode |
infoType = service | |
service/name | Name of the service/hosting |
service/type | Type of service/hosting |
service/productkey | Type of product key ( Check table ) |
service/status | Service/hosting status |
service/tsExpir | Expiration date of service/hosting |
infoType = gluerecords | |
gluerecords/name | Name of the NS/Gluerecord server |
gluerecords/ipv4 | IPv4 address of the NS/Gluerecord server |
gluerecords/ipv6 | IPv6 addres of the NS/Gluerecord server |
infoType = dnssec | |
dnssec/active | Indicates whether the DNSSEC is currently enabled |
dnssec/entries | Array containing all the DNSSEC entries |
dnssec/entries/keytag | KeyTag for the DNSSEC entry |
dnssec/entries/algorithm | Algorythm used for the DNSSEC entry |
dnssec/entries/digesttype | Digest type used for the DNSSEC entry |
dnssec/entires/digest | Digest for the DNSSEC entry |
Example with infoType = status
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "domain\/getinfo",
"version": "1.0.20",
"responseData": {
"name": "example-domain.tv",
"status": "active",
"tld": "tv",
"tsExpir": "2015-05-14",
"domainID": 340598,
"tsCreate": "2005-05-14",
"renewable": true,
"renewalMode": "autorenew",
"modifyBlock": false,
"transferBlock": true,
"whoisPrivacy": true,
"authcodeCheck": true,
"serviceAssociated": false
"ownerverification": "verified"
}
}
Example with infoType = contact
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "domain\/getinfo",
"version": "1.0.20",
"responseData": {
"name": "example-domain.tv",
"status": "active",
"tld": "tv",
"tsExpir": "2015-05-14",
"domainID": 340598,
"contactOwner": {
"contactID": "JXD-2355464",
"contactType": "organization",
"firstName": "John",
"lastName": "Ballack",
"orgName": "Gotham S.L",
"orgType": 612,
"identNumber": "B336789224",
"email": "john@test.com",
"phone": "+34.90234232",
"fax": "",
"address": "Calle García, 25",
"postalCode": "87500",
"city": "Gotham City",
"state": "Madrid",
"country": "ES",
"verificationstatus": "verified",
"daaccepted": true
},
"contactAdmin": {
/* ... */
},
"contactTech": {
/* ... */
},
"contactBilling": {
/* ... */
}
}
}
Example with infoType = nameservers
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "domain\/getinfo",
"version": "1.0.20",
"responseData": {
"name": "example-domain.tv",
"status": "active",
"tld": "tv",
"tsExpir": "2015-05-14",
"domainID": 340598,
"defaultNS": false,
"nameservers": [
{
"order": 1,
"name": "ns1.example.com",
"ipv4": "13.19.246.4"
},
{
"order": 2,
"name": "ns2.example.com",
"ipv4": "13.19.246.5"
}
]
}
}
Example with infoType = authcode
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "domain\/getinfo",
"version": "1.0.20",
"responseData": {
"name": "example-domain.tv",
"status": "active",
"tld": "tv",
"tsExpir": "2015-05-14",
"domainID": 60523498,
"authcode": "9523as&'asd1wAd"
}
}
Example with infoType = service
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "domain\/getinfo",
"version": "1.0.20",
"responseData": {
"name": "test-expample-domain.com",
"status": "active",
"tld": "com",
"tsExpir": "2016-02-14",
"domainID": 1223423,
"service": {
"name": "text-example-domain.com",
"type": "Basic Hosting Service",
"productkey": "basic",
"status": "Active",
"tsExpir": "2015-12-10"
}
}
}
Example with infoType = gluerecords
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "domain\/getinfo",
"version": "1.0.20",
"responseData": {
"name": "test-expample-domain.com",
"status": "active",
"tld": "com",
"tsExpir": "2016-02-14",
"domainID": 1223423,
"gluerecords": [
{
"name": "ns1.test-expample-domain.com",
"ipv4": "212.20.40.200",
"ipv6": "2e02:2670:3:0:21a:4aff:fe24:c49f"
},
{
"name": "ns2.test-expample-domain.com",
"ipv4": "213.20.40.201",
}
]
}
}
Example with infoType = dnssec
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "domain\/getinfo",
"version": "1.0.20",
"responseData": {
"name": "test-expample-domain.com",
"status": "active",
"tld": "com",
"tsExpir": "2016-02-14",
"domainID": 1223423,
"dnssec": {
"active": true,
"entries": [
{
"keytag": 257,
"algorithm": 13,
"digesttype": 3,
"digest": "mdsswUyr3DPW132mOi8V9xESWE8jTo0dxCjjnopKl+GqJxpVXckHAeF+KkxLbxILfDLUT0rAK9iUzy1L53eKGQ=="
}
]
}
}
}
Uso: Retrieve a domain's authcode (EPP code) ( wrapper for /domain/getinfo [infoType=authcode]
)
Request:
POST /domain/getauthcode/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
domain | Required (unless the field domainID is specified) |
Domain name | |
domainID | Required (unless the field domain is specified) |
Domain ID |
Response fields description:
Field | Description |
---|---|
name | Domain name |
status | Domain status |
tld | Domain TLD |
tsExpir | Domain expiration date |
domainID | Domain ID |
authcode | Domain's Authcode (EPP Code) |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "domain\/getinfo",
"version": "1.0.20",
"responseData": {
"name": "example-domain.tv",
"status": "active",
"tld": "tv",
"tsExpir": "2015-05-14",
"domainID": 60523498,
"authcode": "9523as&'asd1wAd"
}
}
Use: Retrieve a domain's DNS Servers (wrapper for /domain/getinfo [infoType=nameservers]
)
Request:
POST /domain/getnameservers/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
domain | Required (unless the field domainID is specified) |
Domain name | |
domainID | Required (unless the field domain is specified) |
Domain ID |
Response fields description:
Field | Description |
---|---|
name | Domain name |
status | Domain status |
tld | Domain TLD |
tsExpir | Domain expiration date |
domainID | Domain ID |
defaultNS | (bool) Indicates whether the DNS servers are the default ones for the service |
nameservers | Array containing nameservers information, see Nameservers Response |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "domain\/getnameservers",
"version": "1.0.20",
"responseData": {
"name": "example-domain.tv",
"status": "active",
"tld": "tv",
"tsExpir": "2015-05-14",
"domainID": 60523498,
"defaultNS": false,
"nameservers": [
{
"order": 1,
"name": "ns1.example.com",
"ipv4": "13.19.246.4"
},
{
"order": 2,
"name": "ns2.example.com",
"ipv4": "13.19.246.5"
}
]
}
}
Use: Retrieve NS/Gluerecord servers associated with a domain (wrapper for /domain/getinfo [infoType=gluerecords]
)
POST /domain/getgluerecords/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
domain | Required (unless the field domainID is specified) |
Domain name | |
domainID | Required (unless the field domain is specified) |
Domain ID |
Response fields description:
Field | Description |
---|---|
name | Domain name |
status | Domain status |
tld | Domain TLD |
tsExpir | Domain expiration date |
domainID | Domain ID |
gluerecords/name | NS/Gluerecord server name |
gluerecords/ipv4 | IPv4 address of the NS/Gluerecord server |
gluerecords/ipv6 | IPv4 address of the NS/Gluerecord server |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "domain\/getgluerecords",
"version": "1.0.20",
"responseData": {
"name": "test-expample-domain.com",
"status": "active",
"tld": "com",
"tsExpir": "2016-02-14",
"domainID": 1223423,
"gluerecords": [
{
"name": "ns1.test-expample-domain.com",
"ipv4": "212.20.40.200",
"ipv6": "2e02:2670:3:0:21a:4aff:fe24:c49f"
},
{
"name": "ns2.test-expample-domain.com",
"ipv4": "213.20.40.201",
}
]
}
}
Use: Retrieve the DNSSEC entries associated with a domain (wrapper for /domain/getinfo [infoType=dnssec]
)
POST /domain/getdnssec/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
domain | Required (unless the field domainID is specified) |
Domain name | |
domainID | Required (unless the field domain is specified) |
Domain identifier |
Response fields description:
Field | Description |
---|---|
name | Domain name |
status | Domain status |
tld | Domain TLD |
tsExpir | Domain expiration date |
domainID | Domain identifier |
dnssec/active | Indicates whether the DNSSEC is active |
dnssec/entries | Array containing the DNSSEC entries |
dnssec/entries/keytag | Keytag for the DNSSEC entry |
dnssec/entries/algorithm | Algorithm for the DNSSEC entry |
dnssec/entries/digesttype | Digest type for the DNSSEC entry |
dnssec/entries/digest | Digest for the DNSSEC entry |
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "domain\/getdnssec",
"version": "1.0.20",
"responseData": {
"name": "test-expample-domain.com",
"status": "active",
"tld": "com",
"tsExpir": "2016-02-14",
"domainID": 1223423,
"dnssec": {
"active": true,
"entries": [
{
"keytag": 257,
"algorithm": 13,
"digesttype": 3,
"digest": "mdsswUyr3DPW132mOi8V9xESWE8jTo0dxCjjnopKl+GqJxpVXckHAeF+KkxLbxILfDLUT0rAK9iUzy1L53eKGQ=="
}
]
}
}
}
Use: Create a DNSSEC entry associated with a domain
Request:
POST /domain/dnsseccreate/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
domain | Required (unless the field domainID is specified) |
Domain name | |
domainID | Required (unless the field domain is specified) |
Domain identifier | |
keytag | Required | Keytag for the DNSSEC entry | |
algorithm | Required | Algorythm for the DNSSEC entry | |
digesttype | Required | Digest type for the DNSSEC entry | |
digest | Required | Digest for the DNSSEC entry |
Response fields description:
Field | Description |
---|---|
name | Domain name |
status | Domain status |
tld | Domain TLD |
tsExpir | Domain expiration date |
domainID | Domain identifier |
dnssec/active | Indicates whether the DNSSEC is active |
dnssec/entries | Array containing the DNSSEC entries |
dnssec/entries/keytag | Keytag for the DNSSEC entry |
dnssec/entries/algorithm | Algorithm for the DNSSEC entry |
dnssec/entries/digesttype | Digest type for the DNSSEC entry |
dnssec/entries/digest | Digest for the DNSSEC entry |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "domain\/dnsseccreate",
"version": "1.0.20",
"messages": [
"Operation done correctly."
],
"responseData": {
"name": "test-expample-domain.com",
"status": "active",
"tld": "com",
"tsExpir": "2016-02-14",
"domainID": 1223423,
"dnssec": {
"active": true,
"entries": [
{
"keytag": 257,
"algorithm": 13,
"digesttype": 3,
"digest": "mdsswUyr3DPW132mOi8V9xESWE8jTo0dxCjjnopKl+GqJxpVXckHAeF+KkxLbxILfDLUT0rAK9iUzy1L53eKGQ=="
}
]
}
}
Use: Remove a DNSSEC entry associated with a domain.
Request:
POST /domain/dnssecdelete/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
domain | Required (unless the field domainID is specified) |
Domain name | |
domainID | Required (unless the field domain is specified) |
Domain identifier | |
keytag | Required | Keytag for the DNSSEC entry | |
algorithm | Required | Algorithm for the DNSSEC entry | |
digesttype | Required | Digest type for the DNSSEC entry | |
digest | Required | Digest for the DNSSEC entry |
Response fields description:
Field | Description |
---|---|
status | Domain status |
tld | Domain TLD |
tsExpir | Domain expiration date |
domainID | Domain identifier |
dnssec/active | Indicates whether the DNSSEC is active |
dnssec/entries | Array containing the DNSSEC entries |
dnssec/entries/keytag | Keytag for the DNSSEC entry |
dnssec/entries/algorithm | Algorithm for the DNSSEC entry |
dnssec/entries/digesttype | Digest type for the DNSSEC entry |
dnssec/entires/digest | Digest for the DNSSEC entry |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "domain\/dnssecdelete",
"version": "1.0.20",
"messages": [
"Operation done correctly."
],
"responseData": {
"name": "test-expample-domain.com",
"status": "active",
"tld": "com",
"tsExpir": "2016-02-14",
"domainID": 1223423,
"dnssec": {
"active": true,
"entries": [
{
"keytag": 257,
"algorithm": 13,
"digesttype": 3,
"digest": "mdsswUyr3DPW132mOi8V9xESWE8jTo0dxCjjnopKl+GqJxpVXckHAeF+KkxLbxILfDLUT0rAK9iUzy1L53eKGQ=="
}
]
}
}
Use: Renew a domain.
Request:
POST /domain/renew/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
domain | Required (unless the field domainID is specified) |
Domain name | |
domainID | Required (unless the field domain is specified) |
Domain ID | |
curExpDate | Required | Current expiration date in YYYYMMDD or YYYY-MM-DD format |
|
period | Optional | Min years (usually 1 year) | Number of years to renew the domain for (defaults to the minimum years the domain can be renewed) |
Response fields description:
Field | Description |
---|---|
billing/total | Total cost of the operation |
billing/currency | Currency used for the cost |
domains/name | Domain name |
domains/status | Domain status |
domains/tld | Domain TLD |
domains/domainID | Domain ID |
domains/tsExpir | Domain expiration date |
domains/renewPeriod | Renewal period |
domains/inPromo | (bool) Indicates whethere the TLD has a promo Just when is true |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "domain\/renew",
"version": "1.0.20",
"responseData": {
"billing": {
"total": 53.25,
"currency": "EUR"
},
"domains": [
{
"name": "example-domain.tel",
"status": "renewed",
"tld": "tel",
"domainID": 153508,
"tsExpir": "2015-05-17",
"renewPeriod": "4"
}
]
}
}
Use: Retrieves public Whois information for a domain.
Limitations:
By default, it's only possible to retrieve public Whois information from domains in
your own MrDomain account.
Request:
POST /domain/whois/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
domain | Required | Domain name in Punycode format |
Response fields description:
Field | Description |
---|---|
domain | Domain name |
whoisData | Public Whois information in plain text |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "domain\/whois",
"version": "1.0.20",
"responseData": {
"domain": "example1.com",
"whoisData": "Domain Name: EXAMPLE1.COM\nRegistry Domain ID... whois data..."
}
}
Use: Resend the verification email for the owner contact of the domain
Request:
POST /domain/resendverificationmail/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
domain | Required (unless the field domainID is specified) |
Domain name | |
domainID | Required (unless the field domain is specified) |
Domain identifier |
Response fields description:
Field | Description |
---|---|
name | Domain name |
status | Domain status |
tld | Domain TLD |
tsExpir | Domain expiration date |
domainID | Domain identifier |
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "domain\/resendverificationmail",
"version": "1.0.20",
"messages": [
"Operation done correctly."
],
"responseData": {
"name": "example-domain.tv",
"status": "active",
"tld": "tv",
"tsExpir": "2015-05-14",
"domainID": 60523498
}
}
Use: Domain history.
Request:
POST /domain/gethistory/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
pageLength | Optional | 1000 | Maximum number of results |
page | Optional | 1 | Results page number |
domain | Required (unless the field domainID is specified) |
Domain name | |
domainID | Required (unless the field domain is specified) |
Domain ID |
Response fields description:
Field | Description |
---|---|
queryInfo | Information about the query made |
queryInfo/page | Results page number |
queryInfo/pageLength | Maximum number of results per page |
queryInfo/results | Number of results obtained |
queryInfo/total | Total number of results |
name | Domain name |
status | Domain status |
tld | Domain TLD |
tsExpir | Domain expiration date |
domainID | Domain ID |
history/ts | History TimeStamp |
history/ip | IP Address |
history/title | Title |
history/message | Message |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "domain\/gethistory",
"version": "1.0.20",
"responseData": {
"name": "example-domain.tv",
"status": "active",
"tld": "tv",
"tsExpir": "2015-05-14",
"queryInfo": {
"page": 1,
"pageLength": 1,
"results": 1,
"total": 82
},
"history": [
{
"ts": "2018-05-29 12:34:07",
"ip": "1.1.1.1",
"user": "malcomX",
"title": "Whois Privacy status",
"message": "The Whois privacy service has been activated."
}
]
}
}
Uso: Deleted domains list
Request:
POST /domain/listdeleted/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
pageLength | Optional | 1000 | Maximum number of results |
page | Optional | 1 | Results page number |
Response fields description:
Field | Description |
---|---|
queryInfo | Information about the query made |
queryInfo/page | Results page number |
queryInfo/pageLength | Maximum number of results per page |
queryInfo/results | Number of results obtained |
queryInfo/total | Total number of results |
domains | Array containing all domains found |
domains/name | Domain name |
domains/tld | Domain TLD |
domains/tsDeleted | Domain deleted date |
domains/info | Domain deleted info |
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "domain\/listdeleted",
"version": "1.0.20",
"responseData": {
"queryInfo": {
"page": 1,
"pageLength": 2,
"results": 2,
"total": 5
},
"domains": [
{
"name": "domaindeleted.sexy",
"tld": "sexy",
"tsDeleted": "2018-11-25",
"info": "Domain expired"
},
{
"name": "dondominio.test",
"tld": "si",
"tsDeleted": "2015-11-26",
"info": "Domain expired"
}
]
}
}
Response fields description:
Field | Description |
---|---|
contactID | Contact ID |
contactType | Contact type: individual: Individual organization: Organization/Company |
firstName | First name |
lastName | Last name |
orgName | Organization/Company name |
orgType | If Country = ES , organization type code (See table) |
identNumber | VAT number, passport, individual or organization ID number |
phone | Phone number in +DD.DDDDDDDD format |
fax | Fax number in +DD.DDDDDDDD format |
address | Address |
postalCode | Postal code |
city | City |
state | State/Province |
country | Country code (See table) |
verificationstatus | Verification status for contact data (see table) |
daaccepted | Verification status for Designated Agent (DA) |
esNicHandle | NIC Handle for .ES domains |
Response example:
{
/* ... */
"contact": {
"contactID": "XXX-12323428",
"contactType": "individual",
"firstName": "James",
"lastName": "Smith",
"orgName": "",
"orgType": "",
"identNumber": "556465463E",
"email": "james.smith@example.es",
"phone": "+34.626891524",
"fax": "",
"address": "Vía grande, 25",
"postalCode": "17509",
"city": "Mycity",
"state": "My Province",
"country": "ES",
"verificationstatus": "verified",
"daaccepted": true,
"esNicHandle": "XX8892-ESNIC-F4"
}
}
Response fields description:
Field | Description |
---|---|
order | Order number (priority) of the Nameserver |
name | Name of the Nameserver |
ipv4 | IPv4 address of the nameserver |
Response example:
{
/* ... */
"nameservers": [
{
"name": "ns3.dondominio.com",
"order": 1,
"ipv4": "37.152.88.12"
},
{
"name": "ns2.dondominio.com",
"order": 2,
"ipv4": "178.33.146.32"
}
]
}
Status | Definition |
---|---|
register-init | Registration pending |
register-pending | Registration in process |
register-cancel | Registration cancelled |
transfer-init | Transfer not started |
transfer-pending | Transfer pending |
transfer-cancel | Transfer cancelled |
inactive | Inactive |
active | Active |
renewed | Renewal in process |
expired-renewgrace | Expired (Under grace period) |
expired-redemption | Expired (Redemption period) |
expired-pendingdelete | Expired (Pending deletion) |
Status | Definition |
---|---|
init | Transfer not initiated |
queued | Pending aprovation by registry |
set-auth | Authcode transmitted |
pending-auth | Authcode pending |
pending-tag | Tag pending (.UK) |
pending-registry | Pending more data by the registry |
cancelled | Cancelled |
completed | Completed |
Keyword | Definition |
---|---|
autorenew | Automatic renewal |
manual | Manual renewal |
letexpire | Leave it to expire |
Status | Definition |
---|---|
verified | Verified |
notapplicable | Not allowed or not needed |
inprocess | Verification in process |
failed | Verification failed or expired |
Status | Definition |
---|---|
verified | Verified |
notapplicable | Not allowed or not needed |
inprocess | Verification in process |
failed | Verification failed or expired |
The contact module allows access to different options available for domain contacts (list, search, retrieve details, etc).
Available actions:
Action | Authentication | Description |
---|---|---|
/contact/create/ | Required | Creates a contact in the account |
/contact/list/ | Required | Search/Filter/List domain contacts in the account |
/contact/getinfo/ | Required | Retrieve detailed information from an account |
/contact/resendverificationmail/ | Required | Resend the verification email for contact data |
Use: Create a contact in the account.
Request:
POST /contact/create/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
Type | Required | Contact type: individual or organization |
|
FirstName | Required | First name | |
LastName | Required | Last name | |
OrgName | Required if ownerContactType = organization |
Organization or company name | |
OrgType | Required if ownerContactType = organization and ownerCountry = ES |
Spanish organization type (See table) | |
IdentNumber | Required | Tax identification number, VAT Number, ID Card number... | |
Required | |||
Phone | Required | Phone number in +DD.DDDDDDDD format | |
Fax | Optional | Fax number in +DD.DDDDDDDDD format | |
Address | Required | Address | |
PostalCode | Required | Postal code | |
City | Required | City | |
State | Required | State/Province | |
Country | Required | (String 2 characters) Country code (See table) |
Response fields description:
Field | Description |
---|---|
contactID | Contact ID |
contactType | Contact type: individual: Individual organization: Organization/Company |
firstName | First name |
lastName | Last name |
orgName | Organization/Company name |
orgType | If Country = ES , organization type code (See table) |
identNumber | VAT number, passport, individual or organization ID number |
phone | Phone number in +DD.DDDDDDDD format |
fax | Fax number in +DD.DDDDDDDD format |
address | Address |
postalCode | Postal code |
city | City |
state | State/Province |
country | Country code (See table) |
verificationstatus | Verification status for contact data (See contact verification status table) |
daaccepted | Verification status for Designated Agent (DA) |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "contact\/create",
"version": "1.0.20",
"messages": [
"Operation done correctly."
],
"responseData": {
"contactID": "WF-420197",
"contactType": "individual",
"firstName": "Will",
"lastName": "Ford",
"orgName": "",
"orgType": "",
"identNumber": "AAAAAA",
"email": "testtest@test.com",
"phone": "+1.123456789",
"fax": "",
"address": "Street 1",
"postalCode": "12345",
"city": "Gotham City",
"state": "Gotham",
"country": "US",
"verificationstatus": "notapplicable",
"daaccepted": false
}
}
Use: Searches and lists domain contacts in the MrDomain account.
Request:
POST /contact/list/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
pageLength | Optional | 1000 | Maximum number of results |
page | Optional | 1 | Results page number |
name | Optional | String to search by name/organization | |
Optional | Filter by Email | ||
country | Optional | Filter by country code | |
identNumber | Optional | Filter by identification number | |
verificationstatus | Optional | Filter by verification status | |
daaccepted | Optional | (Bool) Filter by contacts that have the Designated Agent (DA) accepted or not accepted |
Response fields description:
Field | Description |
---|---|
queryInfo | Information about the query made |
queryInfo/page | Results page number |
queryInfo/pageLength | Maximum number of results per page |
queryInfo/results | Number of results obtained |
queryInfo/total | Total number of results |
contacts/contactID | Contact ID |
contacts/contactType | Contact type: individual: Individual organization: Organization/Company |
contacts/contactName | Contact's name ( Organization Name or Individual Name) |
contacts/email | |
contacts/country | Country code (See table) |
contacts/verificationstatus | Status of contact data verification (View related table) |
contacts/daaccepted | Whether the contact has the Designated Agent (DA) accepted or not |
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "contact\/list",
"version": "1.0.20",
"responseData": {
"queryInfo": {
"page": 1,
"pageLength": 1000,
"results": 14,
"total": 14
},
"contacts": [
{
"contactID": "JS-199180",
"contactType": "individual",
"contactName": "John Smith",
"identNumber": "4-8-15-16-23-42",
"email": "johnsmith@example.xv",
"country": "US",
"verificationstatus": "verified",
"daaccepted": true
},
{
"contactID": "WF-420197",
"contactType": "individual",
"contactName": "Will Ford",
"identNumber": "AAAAAA",
"email": "testtest@test.com",
"country": "US",
"verificationstatus": "notapplicable",
"daaccepted": false
}
/*
,{ .... }
*/
]
}
}
Use: Retrieves information from a contact.
Request:
POST /contact/getinfo/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
contactID | Required | Contact ID | |
infoType | Optional | data | Type of information to retrieve data: Contact data |
Response fields description:
Field | Description |
---|---|
infoType = data | |
contactXXX | See Contact Response section |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "contact\/getinfo",
"version": "1.0.20",
"responseData": {
"contactID": "JXD-2355464",
"contactType": "organization",
"firstName": "John",
"lastName": "Ballack",
"orgName": "Gotham S.L",
"orgType": 612,
"identNumber": "B336789224",
"email": "john@test.com",
"phone": "+34.90234232",
"fax": "",
"address": "Calle García, 25",
"postalCode": "87500",
"city": "Gotham City",
"state": "Madrid",
"country": "ES",
"verificationstatus": "verified",
"daaccepted": true
}
}
Uso: Resend the verification email for contact data
Request:
POST /contact/resendverificationmail/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
contactID | Required | Contact identifier |
Response fields description:
Field | Description |
---|---|
contactID | Contact identifier |
contactType | Contact type: individual: Individual organization: Organization / Company |
contactName | Main name for the contact ( Organization Name or Individual Name) |
country | Country code (View table) |
verificationstatus | Contact data verification status (View related table) |
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "contact\/resendverificationmail",
"version": "1.0.20",
"messages": [
"Operation done correctly."
],
"responseData": {
"contactID": "CTS-378084",
"contactType": "organization",
"contactName": "Clark Tech S.L",
"identNumber": "XSS2342342-3",
"email": "tech-email@example.com",
"country": "ES",
"verificationstatus": "verified"
}
}
The service module allows to access various options about shared hostings and email services.
Available actions:
Action | Authentication | Description |
---|---|---|
/service/list/ | Required | Search/Filter/List associated services |
/service/getinfo/ | Required | Retrieve information about a service/hosting |
/service/create/ | Required | Create/associate to a new service/hosting |
/service/renew/ | Required | Renew a service/hosting |
/service/upgrade/ | Required | Upgrade to a higher service/hosting plan |
/service/update/ | Required | Change global settings of a service/hosting |
/service/parkinggetinfo/ | Required | Retrieve information about the parking service |
/service/parkingupdate/ | Required | Update the parking service status |
/service/webconstructorlogin/ | Required | Retrieve the URL to log in the Webconstructor service |
/service/ftplist/ | Required | Search/Filter/List FTP accounts associated with a service/hosting |
/service/ftpgetinfo/ | Required | Retrieve information about an FTP account |
/service/ftpcreate/ | Required | Create an FTP account |
/service/ftpupdate/ | Required | Modify an FTP account |
/service/ftpdelete/ | Required | Delete an FTP account |
/service/ddbblist/ | Required | Search/Filter/List database accounts associated with a service/hosting |
/service/ddbbgetinfo/ | Required | Retrieve information about a database |
/service/ddbbcreate/ | Required | Create a database |
/service/ddbbupdate/ | Required | Modify a database |
/service/ddbbdelete/ | Required | Delete a database |
/service/subdomainlist/ | Required | Search/Filter/List the subdomains associated with a service/hosting |
/service/subdomaingetinfo/ | Required | Retrieve information about a subdomain |
/service/subdomaincreate/ | Required | Create a subdomain |
/service/subdomainupdate/ | Required | Modify a subdomain |
/service/subdomaindelete/ | Required | Delete a subdomain |
/service/redirectlist/ | Required | Search/Filter/List the redirections associated with a service/hosting |
/service/redirectgetinfo/ | Required | Retrieve information about a redirection |
/service/redirectcreate/ | Required | Create a redirection |
/service/redirectupdate/ | Required | Modify a redirection |
/service/redirectdelete/ | Required | Delete a redirection |
/service/maillist/ | Required | Search/Filter/List email accounts associated with a service/hosting |
/service/mailgetinfo/ | Required | Retrieve information about an email account |
/service/mailcreate/ | Required | Create an email account |
/service/mailupdate/ | Required | Modify an email account |
/service/maildelete/ | Required | Delete an email account |
/service/mailaliaslist/ | Required | Search/Filter/List email alias associated with a service/hosting |
/service/mailaliasgetinfo/ | Required | Retrieve information about a mail alias |
/service/mailaliascreate/ | Required | Create a mail alias |
/service/mailaliasupdate/ | Required | Modify a mail alias |
/service/mailaliasdelete/ | Required | Delete a mail alias |
/service/dnslist/ | Required | Search/Filter/List DNS zones associated with a service/hosting |
/service/dnsgetinfo/ | Required | Retrieve information about a DNS zone |
/service/dnscreate/ | Required | Create a DNS zone |
/service/dnsupdate/ | Required | Modify a DNS zone |
/service/dnsdelete/ | Required | Delete a DNS zone |
/service/dnsrestore/ | Required | Restore all DNS zones to the default values |
/service/dnssetzone/ | Required | Sets all the DNS zones |
/service/dnsdeleteall/ | Required | Delete all DNS zones |
Use: Perform a listing/search of the services and hostings in your account
Request:
POST /service/list/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
pageLength | Optional | 1000 | Maximum number of results |
page | Optional | 1 | Results page number |
name | Optional | Exact name of the service/hosting to find | |
word | Optional | Substring to filter the service/hosting list | |
tld | Optional | String to filter the service/hosting list by TLD | |
renewable | Optional | (Bool) Filter by renewable status of the service/hosting | |
status | Optional | Filter by service/hosting status |
Response fields description:
Field | Description |
---|---|
queryInfo | Information about the query made |
queryInfo/page | Results page number |
queryInfo/pageLength | Maximum number of results per page |
queryInfo/results | Number of results obtained |
queryInfo/total | Total number of results |
services | List of services/hostings retrieved by the query |
services/name | Name of the service/hosting |
services/status | Service status ( view table ) |
services/type | Type of service/hosting |
services/productkey | Service/hosting type key |
services/tsExpir | Expiration date of the hosting |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "service\/list",
"version": "1.0.20",
"responseData": {
"queryInfo": {
"page": 1,
"pageLength": 5,
"results": 5,
"total": 1
},
"services": [
{
"name": "example-test.net",
"type": "Basic Hosting Service",
"status": "active",
"tsExpir": "2025-06-19"
},
{
"name": "example-123test.cat",
"type": "Mini Hosting Service",
"status": "active",
"tsExpir": "2018-10-09"
}
/*
,{ .... }
*/
]
}
}
Use: Retrieve information from a service or hosting
Request:
POST /service/getinfo/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
serviceName | Required | Service name | |
infoType | Optional | status | Type of information to retrieve status: General information about the service/hosting resources: Information about the resources available in the hosting serverinfo: Information about the servers and paths associated to a service php: Information about PHP version logerror Lines of the log error file from the hosting |
Response fields description:
Field | Description |
---|---|
name | Service/Hosting name |
status | Service status ( Check table ) |
type | Type of service/hosting |
tsExpir | Date of expiration of the hosting |
infoType = status | |
tsCreate | Date of creation of the service |
renewable | (bool) Indicates whether the service is in its renew period or not |
renewalMode | Renewal type ( Check table ) |
infoType = resources | |
resources/ftpusage/value | FTP usage value |
resources/ftpusage/max | Maximum FTP usage value |
resources/ftpusage/unit | Unit for the FTP usage (bytes) |
resources/ftpfiles/value | Number of existing files |
resources/ftpfiles/max | Maximum number of files allowed |
resources/ftpfiles/unit | Existing files unit (files) |
resources/webtraffic/value | Current month traffic consumption value |
resources/webtraffic/max | Maximum monthly traffic consumption value |
resources/webtraffic/unit | Monthly traffic unit (bytes) |
resources/ftp/value | Number of FTP accounts |
resources/ftp/max | Maximum number of FTP accounts |
resources/ftp/unit | - |
resources/ddbb/value | Number of databases |
resources/ddbb/max | Maximum number of databases |
resources/ddbb/unit | - |
resources/ddbbusage/value | Space used by databases |
resources/ddbbusage/max | Maximum possible space used by databases |
resources/ddbbusage/unit | Unit for spaced used by databases (bytes) |
resources/subdomain/value | Number of subdomains |
resources/subdomain/max | Maximum possible number of subdomains |
resources/subdomain/unit | - |
resources/email/value | Number of email accounts |
resources/email/max | Maximum possible number of email accounts |
resources/email/unit | - |
resources/emailalias/value | Number of email alias accounts |
resources/emailalias/max | Maximum possible number of email alias accounts |
resources/emailalias/unit | - |
infoType = php | |
php/enabled | (bool) Indicates whether PHP is active at the service |
php/version | Actual PHP version |
php/name | Text with the actual PHP version |
php/available | List of available PHP versions |
infoType = serverinfo | |
serverinfo/ftpServer | Name of the FTP server |
serverinfo/ftpAbsolutePath | Absolute path of the FTP server |
serverinfo/ftpWebServer | FTP web server |
serverinfo/smtpServer | SMTP server ( outgoing email ) |
serverinfo/pop3Server | POP3 server |
serverinfo/imapServer | IMAP server |
serverinfo/webmail | Webmail service |
serverinfo/ddbbServer | Database server |
serverinfo/PHPMyAdmin | Local PHPMyAdmin application to manage databases |
infoType = logerror | |
logError | Lines of the log error file from the hosting |
Example for infotype = status
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "service\/getinfo",
"version": "1.0.20",
"responseData": {
"name": "example-test01.com",
"type": "Basic Hosting Service",
"status": "active",
"tsExpir": "2015-12-10",
"tsCreate": "2014-12-10"
"renewable": false,
}
}
Example for infotype = resources
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "service\/getinfo",
"version": "1.0.20",
"responseData": {
"name": "example-test01.com",
"type": "Basic Hosting Service",
"status": "active",
"tsExpir": "2015-12-10",
"resources": {
"ftpusage": {
"value": 11534336,
"max": 1038336000,
"unit": "bytes"
},
"ftpfiles": {
"value": 4574,
"max": 100101,
"unit": "files"
},
"webtraffic": {
"value": 0,
"max": 12759072768,
"unit": "bytes"
},
"ftp": {
"value": 1,
"max": 100,
"unit": ""
},
"ddbb": {
"value": 1,
"max": 10,
"unit": ""
},
"ddbbusage": {
"value": 0,
"max": 104857600,
"unit": "bytes"
},
"subdomain": {
"value": 2,
"max": 100,
"unit": ""
},
"email": {
"value": 1,
"max": 100,
"unit": ""
},
"emailalias": {
"value": 0,
"max": 100,
"unit": ""
}
}
}
}
Ejemplo de infoType = php
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "service\/getinfo",
"version": "1.0.20",
"responseData": {
"name": "example.com",
"type": "Advanced Hosting Service",
"productkey": "advanced",
"status": "renewed",
"tsExpir": "2022-12-10",
"php": {
"enabled": true,
"version": "default",
"name": "Default version (PHP 7.4)",
"available": [
"default",
"8.0",
"7.4",
"7.3",
"7.2",
"7.1",
"7.0"
]
}
}
}
Example for infoType = serverinfo
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "service\/getinfo",
"version": "1.0.20",
"responseData": {
"name": "example-test01.com",
"type": "Basic Hosting Service",
"status": "active",
"tsExpir": "2015-12-10",
"serverinfo": {
"ftpServer": "ftp.example-test01.com",
"ftpAbsolutePath": "\/var\/www\/example-test01.com\/",
"ftpWebServer": "https:\/\/webftp.dondominio.com\/\/?ftpserver=example-test01.com",
"smtpServer": "smtp.example-test01.com",
"pop3Server": "pop3.example-test01.com",
"imapServer": "imap.example-test01.com",
"webmail": "http:\/\/webmail.example-test01.com\/",
"ddbbServer": "bbdd.example-test01.com",
"PHPMyAdmin": "https:\/\/adminbbdd.dondominio.com\/?server=2341"
}
}
}
Example for infoType = logerror
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "service\/getinfo",
"version": "1.0.20",
"responseData": {
"name": "example.com",
"type": "Advanced Hosting Service",
"productkey": "advanced",
"status": "renewed",
"tsExpir": "2022-12-10",
"logError": "[Tue Jun 29 15:50:00.160542 2021] [autoindex:error] [pid 25304] [client 66.249.75.99:35422] AH01276: Cannot serve directory \/var\/www\/example.com\/public\/: No matching DirectoryIndex (index.html,index.cgi,index.pl,index.php,index.xhtml,index.htm) found, and server-generated directory index forbidden by Options directive\n[Tue Jun 29 15:29:47.009317 2021] [autoindex:error] [pid 25239] [client 167.71.170.4:60098] AH01276: Cannot serve directory \/var\/www\/example.com\/public\/: No matching DirectoryIndex (index.html,index.cgi,index.pl,index.php,index.xhtml,index.htm) found, and server-generated directory index forbidden by Options directive\n [Tue Jun 29 14:13:27.001780 2021] [-:error] [pid 25239] [client 3.141.12.245:33556] [client 3.141.12.245] ModSecurity: Access denied with code 403 (phase 2). Pattern match \"python-requests\/\" at REQUEST_HEADERS:User-Agent. [file \"\/etc\/modsecurity\/atomicorp-rules\/20_asl_useragents.conf\"] [line \"218\"] [id \"332039\"] [rev \"4\"] [msg \"Atomicorp.com WAF Rules: Suspicious Unusual User Agent (python-requests). Disable this rule if you use python-requests\/. \"] [severity \"CRITICAL\"] [hostname \"example.com\"] [uri \"\/\"] [unique_id \"YNsOZrGlwUcMzwtNS8vwywAAAOQ\"]\n[Tue Jun 29 14:13:26.507079 2021] [-:error] [pid 25239] [client 3.141.12.245:43320] [client 3.141.12.245] ModSecurity: Access denied with code 403 (phase 2). Pattern match \"python-requests\/\" at REQUEST_HEADERS:User-Agent. [file \"\/etc\/modsecurity\/atomicorp-rules\/20_asl_useragents.conf\"] [line \"218\"] [id \"332039\"] [rev \"4\"] [msg \"Atomicorp.com WAF Rules: Suspicious Unusual User Agent (python-requests). Disable this rule if you use python-requests\/. \"] [severity \"CRITICAL\"] [hostname \"www.example.com\"] [uri \"\/\"] [unique_id \"YNsOZrGlwUcMzwtNS8vwygAAAOY\"]\n[Tue Jun 29 12:50:44.666937 2021] [autoindex:error] [pid 25167] [client 52.13.105.193:35674] AH01276: Cannot serve directory \/var\/www\/example.com\/public\/: No matching DirectoryIndex (index.html,index.cgi,index.pl,index.php,index.xhtml,index.htm) found, and server-generated directory index forbidden by Options directive\n[Tue Jun 29 11:49:00.301716 2021] [autoindex:error] [pid 25304] [client 54.202.141.28:4167] AH01276: Cannot serve directory \/var\/www\/example.com\/public\/: No matching DirectoryIndex (index.html,index.cgi,index.pl,index.php,index.xhtml,index.htm) found, and server-generated directory index forbidden by Options directive\n[Tue Jun 29 11:47:53.370047 2021] [autoindex:error] [pid 25284] [client 34.214.184.5:63343] AH01276: Cannot serve directory \/var\/www\/example.com\/public\/: No matching DirectoryIndex (index.html,index.cgi,index.pl,index.php,index.xhtml,index.htm) found, and server-generated directory index forbidden by Options directive\n[Tue Jun 29 08:46:07.219298 2021] [proxy_fcgi:error] [pid 25239] [client 118.70.52.135:48470] AH01071: Got error 'PHP message: PHP Warning: get_comment(): Argument #1 ($comment) must be passed by reference, value given in \/hosting\/www\/example.com\/blog\/wp-includes\/class-wp-comment-query.php on line 484'\n[Tue Jun 29 07:54:01.638034 2021] [-:error] [pid 25239] [client 5.188.210.4:63137] [client 5.188.210.4] ModSecurity: Access denied with code 403 (phase 2). Pattern match \"(?:getfoldersandfiles|fileupload)\" at ARGS:Command. [file \"\/etc\/modsecurity\/atomicorp-rules\/99_asl_jitp.conf\"] [line \"1015\"] [id \"388000\"] [rev \"1\"] [msg \"Atomicorp.com WAF Rules - Virtual Just In Time Patch: Possible Attempt to Access vulnerable FCKeditor file upload connector (Disable if you have configured this connector to require authentication)\"] [data \"\/editor\/filemanager\/connectors\/php\/connector.php\"] [severity \"CRITICAL\"] [hostname \"www.example.com\"] [uri \"\/admin\/editor\/editor\/filemanager\/connectors\/php\/connector.php\"] [unique_id \"YNq1ebGlwUcMzwtNS8vu@QAAAOI\"]\n [Tue Jun 29 01:37:46.075771 2021] [-:error] [pid 25284] [client 52.14.240.234:59064] [client 52.14.240.234] ModSecurity: Access denied with code 403 (phase 2). Pattern match \"python-requests\/\" at REQUEST_HEADERS:User-Agent. [file \"\/etc\/modsecurity\/atomicorp-rules\/20_asl_useragents.conf\"] [line \"218\"] [id \"332039\"] [rev \"4\"] [msg \"Atomicorp.com WAF Rules: Suspicious Unusual User Agent (python-requests). Disable this rule if you use python-requests\/. \"] [severity \"CRITICAL\"] [hostname \"example.com\"] [uri \"\/\"] [unique_id \"YNpdSkLrDsBNjnn2uRmQmwAAAAo\"]\n"
}
}
Use: Create or associate a new hosting service
Tip: Some operations may use credit. You can check your available credit with a query to account/info/
.
Request:
POST /service/create/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
serviceName | Required | Name of the service | |
productkey | Required | Product key code ( Check table) | |
period | Optional | 1 | Duration of the service, in years |
Response fields description:
Field | Description |
---|---|
billing/total | Total cost of the operation |
billing/currency | Currency used |
services/name | Name of the service/hosting |
services/status | Service status ( Check table ) |
services/type | Type of service/hosting |
services/productkey | Key code of the type of service/hosting |
services/tsExpir | Expiration date of the hosting |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "service\/create",
"version": "1.0.20",
"messages": [
"Operation done correctly."
],
"responseData": {
"billing": {
"total": 12.04,
"currency": "EUR"
},
"services": [
{
"name": "example-test.net",
"type": "Basic Hosting Service",
"productkey": "basic",
"status": "active",
"tsExpir": "2025-06-19"
}
]
}
}
Use: Renew a hosting service
Tip: Some operations may use credit. You can check your available credit with a query to account/info/
.
Request:
POST /service/renew/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
serviceName | Required | Service name | |
period | Optional | 1 | Years to renew |
Response fields description:
Field | Description |
---|---|
billing/total | Total cost of the operation |
billing/currency | Currency used |
services/name | Name of the service/hosting |
services/status | Service status ( Check table ) |
services/type | Type of service/hosting |
services/productkey | Key of the type of service/hosting |
services/tsExpir | Expiration date of the hosting |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "service\/renew",
"version": "1.0.20",
"messages": [
"Operation done correctly."
],
"responseData": {
"billing": {
"total": 12.04,
"currency": "EUR"
},
"services": [
{
"name": "example-test.net",
"type": "Basic Hosting Service",
"productkey": "basic",
"status": "renewed",
"tsExpir": "2025-06-19"
}
]
}
}
Use: Upgrade a service/hosting plan to a higher one
Tip: Some operations may use credit. You can check your available credit with a query to account/info/
.
Request:
POST /service/upgrade/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
serviceName | Required | Name of the service | |
productkey | Required | Product key code ( Check table ) |
Response fields description:
Field | Description |
---|---|
billing/total | Total cost of the operation |
billing/currency | Currency used |
services/name | Name of the service/hosting |
services/status | Service status ( Check table ) |
services/type | Type of service/hosting |
services/productkey | Product key code of the service/hosting |
services/tsExpir | Expiration date of the hosting |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "service\/upgrade",
"version": "1.0.20",
"messages": [
"Operation done correctly."
],
"responseData": {
"billing": {
"total": 12.04,
"currency": "EUR"
},
"services": [
{
"name": "example-test.net",
"type": "Basic Hosting Service",
"productkey": "basic",
"status": "active",
"tsExpir": "2025-06-19"
}
]
}
}
Use: Modify global parameters from a hosting service
Request:
POST /service/update/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
serviceName | Required | Service name | |
updateType | Required | Type of information to update renewalMode: Changes the renewal type phpversion: Changes PHP version |
|
updateType = renewalMode | |||
renewalMode | Required | Renewal type ( Check table ) | |
updateType = phpversion | |||
phpversion | Required | PHP Version to apply |
Response fields description:
Field | Description |
---|---|
name | Name of the service/hosting |
status | Service status ( Check table ) |
type | Type of service/hosting |
productkey | Key of the service/hosting type ( Check table ) |
tsExpir | Expiration date of the hosting |
updateType = phpversion | |
php/enabled | (bool) Indicates whether PHP is active at the service |
php/version | Actual PHP version |
php/name | Text with the actual PHP version |
php/available | List of available PHP versions |
Example for updateType='renewalMode'
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "service\/update",
"version": "1.0.20",
"messages": [
"Operation done correctly."
],
"responseData": {
"name": "example-test01.com",
"type": "Basic Hosting Service",
"productkey": "basic",
"status": "active",
"tsExpir": "2015-12-10"
}
}
Example for updateType='phpversion'
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "service\/update",
"version": "1.0.20",
"messages": [
"Operation done correctly."
],
"responseData": {
"name": "example.com",
"type": "Advanced Hosting Service",
"productkey": "advanced",
"status": "renewed",
"tsExpir": "2022-12-10",
"php": {
"enabled": true,
"version": "7.2",
"name": "PHP 7.2",
"available": [
"default",
"8.0",
"7.4",
"7.3",
"7.2",
"7.1",
"7.0"
]
}
}
}
Use: Retrieves information about the parking service
Request:
POST /service/parkinggetinfo/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
serviceName | Required | Name of the service/hosting |
Response fields description:
Field | Description |
---|---|
parking/enabled | Whether the parking service is enabled or not |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "service\/parkinggetinfo",
"version": "1.0.20",
"responseData": {
"parking": {
"enabled": false
}
}
}
Use: Modify the parking service
Request:
POST /service/parkingupdate/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
serviceName | Required | Name of the service/hosting | |
enabled | Required | (bool) Enable or disable the parking service |
Response fields description:
Field | Description |
---|---|
parking/enabled | Whether the parking service is enabled or not |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "service\/parkingupdate",
"version": "1.0.20",
"messages": [
"Operation done correctly."
],
"responseData": {
"parking": {
"enabled": false
}
}
}
Use: Retrieve the URL to login on the WebConstructor platform
Request:
POST /service/webconstructorlogin/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
serviceName | Required | Name of the service/hosting | |
subdomain | Required | Name of the subdomain where the site will be published | |
loginlang | Optioonal | en | Default language for the builder; can later be changed |
Response fields description:
Field | Description |
---|---|
webcostructor/loginURL | Login URL for the WebConstructor platform |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "service\/webconstructorlogin",
"version": "1.0.20",
"messages": [
"Operation done correctly."
],
"responseData": {
"webconstructor": {
"loginURL": "http:\/\/editor.webconstructor.site\/en\/?login_hash=XXXXXXXXXXX"
}
}
}
Use: Perform a listing/search of FTP accounts in an specific service
Request:
POST /service/ftplist/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
pageLength | Optional | 1000 | Maximum number of results |
page | Optional | 1 | Results page number |
serviceName | Required | Name of the service/hosting | |
filter | Optional | Filter |
Response fields description:
Field | Description |
---|---|
queryInfo | Information about the query made |
queryInfo/page | Results page number |
queryInfo/pageLength | Maximum number of results per page |
queryInfo/results | Number of results obtained |
queryInfo/total | Total number of results |
ftp/entityID | Identifier |
ftp/name | FTP user name |
ftp/ftpPath | FTP path |
ftp/password | FTP account password |
ftp/quota | FTP account quota, in bytes |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "service\/ftplist",
"version": "1.0.20",
"responseData": {
"queryInfo": {
"page": 1,
"pageLength": 1000,
"results": 2,
"total": 2
},
"ftp": [
{
"entityID": "SRV0000214277-000396072",
"name": "ftp.example-2525.com",
"ftpPath": "\/",
"password": "caWh678JtG3Bf",
"quota": 48576000
}
/*
,{ .... }
*/
]
}
}
Use: Retrieve information about an FTP account
Request:
POST /service/ftpgetinfo/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
serviceName | Required | Name of the service/hosting | |
entityID | Required | Identifier |
Response fields description:
Field | Description |
---|---|
ftp/entityID | Identifier |
ftp/name | Username of the FTP account |
ftp/ftpPath | Path of the FTP account |
ftp/password | Password of the FTP account |
ftp/quota | Quota of the FTP account, in bytes |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "service\/ftpgetinfo",
"version": "1.0.20",
"responseData": {
"ftp": [
{
"entityID": "SRV0000214277-000396072",
"name": "ftp.example-2525.com",
"ftpPath": "\/",
"password": "caWh678JtG3Bf",
"quota": 48576000
}
]
}
}
Use: Create a new FTP account
Request:
POST /service/ftpcreate/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
serviceName | Required | Name of the service/hosting | |
name | Required | Username for the FTP account | |
ftpPath | Required | Path of the FTP account | |
password | Required | Password for the FTP account |
Response fields description:
Field | Description |
---|---|
ftp/entityID | Identifier |
ftp/name | Username for the FTP account |
ftp/ftpPath | Path of the FTP account |
ftp/password | Password for the FTP account |
ftp/quota | Quota for the FTP account, in bytes |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "service\/ftpcreate",
"version": "1.0.20",
"messages": [
"Operation done correctly."
],
"responseData": {
"ftp": [
{
"entityID": "SRV0000214277-000396072",
"name": "ftp.example-2525.com",
"ftpPath": "\/",
"password": "caWh678JtG3Bf",
"quota": 48576000
}
]
}
}
Use: Modify an FTP account
Request:
POST /service/ftpupdate/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
serviceName | Required | Name of the service/hosting | |
entityID | Required | Identifier | |
ftpPath | Required | Path of the FTP account | |
password | Required | Password of the FTP account |
Response fields description:
Field | Description |
---|---|
ftp/entityID | Identifier |
ftp/name | Username of the FTP account |
ftp/ftpPath | Path of the FTP account |
ftp/password | Password of the FTP account |
ftp/quota | Quota of the FTP account, in bytes |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "service\/ftpupdate",
"version": "1.0.20",
"messages": [
"Operation done correctly."
],
"responseData": {
"ftp": [
{
"entityID": "SRV0000214277-000396072",
"name": "ftp.example-2525.com",
"ftpPath": "\/",
"password": "caWh678JtG3Bf",
"quota": 48576000
}
]
}
}
Use: Delete an FTP account
Request:
POST /service/ftpdelete/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
serviceName | Required | Name of the service/hosting | |
entityID | Required | Identifier |
Response fields description:
Field | Description |
---|---|
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "service\/ftpdelete",
"version": "1.0.20",
"messages": [
"Operation done correctly."
],
"responseData": {
}
}
Use: Perform a listing/search of the data bases in an specific service
Request:
POST /service/bbddlist/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
pageLength | Optional | 1000 | Maximum number of results |
page | Optional | 1 | Results page number |
serviceName | Required | Name of the service/hosting | |
filter | Optional | Filter |
Response fields description:
Field | Description |
---|---|
queryInfo | Information about the query made |
queryInfo/page | Results page number |
queryInfo/pageLength | Maximum number of results per page |
queryInfo/results | Number of results obtained |
queryInfo/total | Total number of results |
ddbb/entityID | Identifier |
ddbb/name | Name of the database |
ddbb/user | Username to access the database |
ddbb/password | Database password |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "service\/ddbblist",
"version": "1.0.20",
"responseData": {
"queryInfo": {
"page": 1,
"pageLength": 1000,
"results": 1,
"total": 1
},
"ddbb": [
{
"entityID": "SRV0000214277-000396074",
"name": "ddb244864",
"user": "ddb244864",
"password": "NMXXXXYYkDV53"
}
/*
,{ .... }
*/
]
}
}
Use: Retrieve information about the database
Request:
POST /service/ddbbgetinfo/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
serviceName | Required | Name of the service/hosting | |
entityID | Required | Identifier |
Response fields description:
Field | Description |
---|---|
ddbb/entityID | Identifier |
ddbb/name | Name of the database |
ddbb/user | Username to access the database |
ddbb/password | Password for the database |
ddbb/externalAccess | Whether the database is accessible externally or not |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "service\/ddbbgetinfo",
"version": "1.0.20",
"responseData": {
"ddbb": [
{
"entityID": "SRV0000214277-000396074",
"name": "ddb244864",
"user": "ddb244864",
"password": "NMXXXXYYkDV53",
"externalAccess": false
}
]
}
}
Use: Create a new database
Request:
POST /service/ddbbcreate/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
serviceName | Required | Name of the service/hosting | |
password | Required | Password of the database | |
externalAccess | Optional | false |
Whether the database will be accessible externally or not |
Response fields description:
Field | Description |
---|---|
ddbb/entityID | Identifier |
ddbb/name | Name of the database |
ddbb/user | Username to access the database |
ddbb/password | Password for the database |
ddbb/externalAccess | Whether the database is accessible externally or not |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "service\/ddbbcreate",
"version": "1.0.20",
"messages": [
"Operation done correctly."
],
"responseData": {
"ddbb": [
{
"entityID": "SRV0000214277-000396074",
"name": "ddb244864",
"user": "ddb244864",
"password": "NMXXXXYYkDV53",
"externalAccess": false
}
]
}
}
Uso: Modificar una base de datos
Request:
POST /service/ddbbupdate/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
serviceName | Required | Name of the service/hosting | |
entityID | Required | Identifier | |
password | Required | Password for the database | |
externalAccess | Optional | false |
Whether the database is accessible externally or not |
Response fields description:
Field | Description |
---|---|
ddbb/entityID | Identifier |
ddbb/name | Name of the database |
ddbb/user | Username to access the database |
ddbb/password | Password for the database |
ddbb/externalAccess | Whether the database is accessible externally or not |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "service\/ddbbupdate",
"version": "1.0.20",
"messages": [
"Operation done correctly."
],
"responseData": {
"ddbb": [
{
"entityID": "SRV0000214277-000396074",
"name": "ddb244864",
"user": "ddb244864",
"password": "NMXXXXYYkDV53",
"externalAccess": false
}
]
}
}
Use: Modify a database
Request:
POST /service/ddbbdelete/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
serviceName | Required | Name of the service/hosting | |
entityID | Required | Identifier |
Response fields description:
Field | Description |
---|---|
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "service\/ddbbdelete",
"version": "1.0.20",
"messages": [
"Operation done correctly."
],
"responseData": {
}
}
Use: Perform a listing/search of subdomains in an specific service
Request:
POST /service/subdomainlist/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
pageLength | Optional | 1000 | Maximum number of results |
page | Optional | 1 | Results page number |
serviceName | Required | Name of the service/hosting | |
filter | Optional | Filter by subdomain |
Response fields description:
Field | Description |
---|---|
queryInfo | Information about the query made |
queryInfo/page | Results page number |
queryInfo/pageLength | Maximum number of results per page |
queryInfo/results | Number of results obtained |
queryInfo/total | Total number of results |
subdomain/entityID | Identifier |
subdomain/name | Name of the subdomain |
subdomain/ftpPath | FTP path |
subdomain/ssl | Certificate SSL information. (Only when there's a Certificate SSL installed) |
subdomain/ssl/sslPath | Secure FTP path |
subdomain/ssl/sslCert | CRT Certificate file |
subdomain/ssl/sslKey | KEY Certificate file |
subdomain/ssl/sslCertChain | CA-CRT Certificate file |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "service/subdomainlist",
"version": "1.0.20",
"responseData": {
"queryInfo": {
"page": 1,
"pageLength": 1000,
"results": 2,
"total": 2
},
"subdomain": [
{
"entityID": "SRV0000381923-0000677075",
"name": "example.com",
"ftpPath": "public/",
"ssl": {
"ftpPath": "public/",
"sslCert": "-----BEGIN CERTIFICATE-----
....
-----END CERTIFICATE-----",
"sslKey": "-----BEGIN PRIVATE KEY-----
....
-----END PRIVATE KEY-----",
"sslCertChain": "-----BEGIN CERTIFICATE-----
....
-----END CERTIFICATE-----"
}
}, {
"entityID": "SRV0000381923-0000421111",
"name": "www.example.com",
"ftpPath": "public/",
"ssl": {
"ftpPath": "public/",
"sslCert": "-----BEGIN CERTIFICATE-----
....
-----END CERTIFICATE-----",
"sslKey": "-----BEGIN PRIVATE KEY-----
....
-----END PRIVATE KEY-----",
"sslCertChain": "-----BEGIN CERTIFICATE-----
....
-----END CERTIFICATE-----"
}
}
/*
,{ .... }
*/
]
}
}
Use: Retrieve information about a subdomain
Request:
POST /service/subdomaingetinfo/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
serviceName | Required | Name of the service/hosting | |
entityID | Required | Identifier |
Response fields description:
Field | Description |
---|---|
subdomain/entityID | Identifier |
subdomain/name | Name of the subdomain |
subdomain/ftpPath | FTP path |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "service\/subdomaingetinfo",
"version": "1.0.20",
"responseData": {
"subdomain": [
{
"entityID": "SRV0000214277-000396072",
"name": "test.example-test01.com",
"ftpPath": "public-test\/"
}
]
}
}
Use: Create a new subdomain
Request:
POST /service/subdomaincreate/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
serviceName | Required | Name of the service/hosting | |
name | Required | Name of the subdomain | |
ftpPath | Required | FTP path | |
sslCert | Optional | CRT Certificate file | |
sslKey | Required if sslCert send |
KEY Certificate file | |
sslCertChain | Required if sslCert send |
CA-CRT Certificate file | |
sslPath | Required if sslCert send |
Secure FTP path |
Response fields description:
Field | Description |
---|---|
subdomain/entityID | Identifier |
subdomain/name | Name of the subdomain |
subdomain/ftpPath | FTP path |
subdomain/ssl | Certificate SSL information. (Only when there's a Certificate SSL installed) |
subdomain/ssl/sslPath | Secure FTP path |
subdomain/ssl/sslCert | CRT Certificate file |
subdomain/ssl/sslKey | KEY Certificate file |
subdomain/ssl/sslCertChain | CA-CRT Certificate file |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "service/subdomaincreate",
"version": "1.0.20",
"messages": [
"Operation done correctly."
],
"responseData": {
"subdomain": [
{
"entityID": "SRV0000382923-0000741936",
"name": "test.example.com",
"ftpPath": "public/",
"ssl": {
"ftpPath": "public/",
"sslCert": "-----BEGIN CERTIFICATE-----
....
-----END CERTIFICATE-----",
"sslKey": "-----BEGIN PRIVATE KEY-----
....
-----END PRIVATE KEY-----",
"sslCertChain": "-----BEGIN CERTIFICATE-----
....
-----END CERTIFICATE-----"
}
}
]
}
}
Use: Modify a subdomain
Request:
POST /service/subdomainupdate/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
serviceName | Required | Name of the service/hosting | |
entityID | Required | Identifier | |
ftpPath | Required | FTP path | |
sslCert | Optional | CRT Certificate file | |
sslKey | Required if sslCert send |
KEY Certificate file | |
sslCertChain | Required if sslCert send |
CA-CRT Certificate file | |
sslPath | Required if sslCert send |
Secure FTP path |
Response fields description:
Field | Description |
---|---|
subdomain/entityID | Identifier |
subdomain/name | Name of the subdomain |
subdomain/ftpPath | FTP path |
subdomain/ssl | Certificate SSL information. (Only when there's a Certificate SSL installed) |
subdomain/ssl/sslPath | Secure FTP path |
subdomain/ssl/sslCert | CRT Certificate file |
subdomain/ssl/sslKey | KEY Certificate file |
subdomain/ssl/sslCertChain | CA-CRT Certificate file |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "service/subdomainupdate",
"version": "1.0.20",
"messages": [
"Operation done correctly."
],
"responseData": {
"subdomain": [
{
"entityID": "SRV0000382923-0000423457",
"name": "www.example.com",
"ftpPath": "public/",
"ssl": {
"ftpPath": "public/",
"sslCert": "-----BEGIN CERTIFICATE-----
....
-----END CERTIFICATE-----",
"sslKey": "-----BEGIN PRIVATE KEY-----
....
-----END PRIVATE KEY-----",
"sslCertChain": "-----BEGIN CERTIFICATE-----
....
-----END CERTIFICATE-----"
}
}
]
}
}
Use: Delete a subdomain
Request:
POST /service/subdomaindelete/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
serviceName | Required | Name of the service/hosting | |
entityID | Required | Identifier |
Response fields description:
Field | Description |
---|---|
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "service\/subdomaindelete",
"version": "1.0.20",
"messages": [
"Operation done correctly."
],
"responseData": {
}
}
Use: Perform a listing/search of the redirections in an specific service
Request:
POST /service/redirectlist/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
pageLength | Optional | 1000 | Maximum number of results |
page | Optional | 1 | Results page number |
serviceName | Required | Name of the service/hosting | |
filter | Optional | Filter by subdomain |
Response fields description:
Field | Description |
---|---|
queryInfo | Information about the query made |
queryInfo/page | Results page number |
queryInfo/pageLength | Maximum number of results per page |
queryInfo/results | Number of results obtained |
queryInfo/total | Total number of results |
redirects/entityID | Identifier |
redirects/origin | Resource to perform the redirection |
redirects/destination | Redirection destination |
redirects/type | Type of redirection (View table) |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "service\/redirectlist",
"version": "1.0.20",
"responseData": {
"queryInfo": {
"page": 1,
"pageLength": 1000,
"results": 1,
"total": 1
},
"redirect": [
{
"origin": "http:\/\/www.example-test02.net\/test1\/",
"destination": "http:\/\/example.com",
"type": "301"
}
/*
,{ .... }
*/
]
}
}
Use: Retrieve information about an HTTP redirection
Request:
POST /service/redirectgetinfo/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
serviceName | Required | Name of the service/hosting | |
entityID | Required | Identifier |
Response fields description:
Field | Description |
---|---|
redirect/entityID | Identifier |
redirect/origin | Resource being redirected (from) |
redirect/destination | Redirection destination (to) |
redirect/type | Type of redirection ( Check table ) |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "service\/redirectgetinfo",
"version": "1.0.20",
"responseData": {
"redirect": [
{
"entityID": "SRV0000214277-000396072",
"origin": "http:\/\/www.example-test02.net\/test1\/",
"destination": "http:\/\/example.com",
"type": "301"
}
]
}
}
Use: Create a new HTTP redirection
Request:
POST /service/redirectcreate/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
serviceName | Required | Name of the service/hosting | |
origin | Required | Resource being redirected (from) | |
destination | Required | Redirection destination (to) | |
type | Required | Type of redirection ( Check table ) |
Response fields description:
Field | Description |
---|---|
redirect/entityID | Identifier |
redirect/origin | Resource being redirected (from) |
redirect/destination | Redirection destination (to) |
redirect/type | Type of redirection ( Check table ) |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "service\/redirectcreate",
"version": "1.0.20",
"messages": [
"Operation done correctly."
],
"responseData": {
"redirect": [
{
"entityID": "SRV0000214277-000396072",
"origin": "http:\/\/www.example-test02.net\/test1\/",
"destination": "http:\/\/example.com",
"type": "301"
}
]
}
}
Use: Modify an HTTP redirection
Request:
POST /service/redirectupdate/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
serviceName | Required | Name of the service/hosting | |
entityID | Required | Identifier | |
destination | Required | Redirection destination (to) | |
type | Required | Type of redirection ( Check table ) |
Response fields description:
Field | Description |
---|---|
redirect/entityID | Identifier |
redirect/origin | Resource being redirected (from) |
redirect/destination | Redirection destination (to) |
redirect/type | Type of redirection ( Check table ) |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "service\/redirectupdate",
"version": "1.0.20",
"messages": [
"Operation done correctly."
],
"responseData": {
"redirect": [
{
"entityID": "SRV0000214277-000396072",
"origin": "http:\/\/www.example-test02.net\/test1\/",
"destination": "http:\/\/example.com",
"type": "301"
}
]
}
}
Use: Delete a redirection
Request:
POST /service/redirectdelete/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
serviceName | Required | Name of the service/hosting | |
entityID | Required | Identifier |
Response fields description:
Field | Description |
---|---|
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "service\/redirectdelete",
"version": "1.0.20",
"messages": [
"Operation done correctly."
],
"responseData": {
}
}
Use: Perform a listing/search of the email accounts in an specific service
Request:
POST /service/maillist/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
pageLength | Optional | 1000 | Maximum number of results |
page | Optional | 1 | Results page number |
serviceName | Required | Name of the service/hosting | |
filter | Optional | Filter |
Response fields description:
Field | Description |
---|---|
queryInfo | Information about the query made |
queryInfo/page | Results page number |
queryInfo/pageLength | Maximum number of results per page |
queryInfo/results | Number of results obtained |
queryInfo/total | Total number of results |
mail/entityID | Identifier |
mail/name | Name of the email account |
mail/password | Password |
mail/usage | Mailbox usage (In Bytes) |
mail/quotaMax | Mailbox capacity (In Bytes) |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "service\/maillist",
"version": "1.0.20",
"responseData": {
"queryInfo": {
"page": 1,
"pageLength": 1000,
"results": 2,
"total": 2
},
"mail": [
{
"entityID": "SRV0000255277-0000330053",
"name": "test66@example.com",
"password": "############",
"usage": 1123234,
"quotaMax": 16106127360
},
{
"entityID": "SRV0000255277-0000330053",
"name": "test66@example.com",
"password": "############",
"usage": 1123234,
"quotaMax": 16106127360
}
/*
,{ .... }
*/
]
}
}
Use: Retrieve information about an email account
Request:
POST /service/mailgetinfo/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
serviceName | Required | Name of the service/hosting | |
entityID | Required | Identifier |
Response fields description:
Field | Description |
---|---|
mail/entityID | Identifier |
mail/name | Username for the email account |
mail/password | Password for the email account |
mail/usage | Mailbox usage (In Bytes) |
mail/quotaMax | Mailbox capacity (In Bytes) |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "service\/mailgetinfo",
"version": "1.0.20",
"responseData": {
"mail": [
{
"entityID": "SRV0000214277-000396072",
"name": "hola@example123.com",
"password": "############",
"usage": 1123234,
"quotaMax": 16106127360
}
]
}
}
Use: Create a new email account
Request:
POST /service/mailcreate/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
serviceName | Required | Name of the service/hosting | |
name | Required | Username for the email account | |
password | Required | Password for the account |
Response fields description:
Field | Description |
---|---|
mail/entityID | Identifier |
mail/name | Username for the email account |
mail/password | Password for the email account |
mail/usage | Mailbox usage (In Bytes) |
mail/quotaMax | Mailbox capacity (In Bytes) |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "service\/mailcreate",
"version": "1.0.20",
"messages": [
"Operation done correctly."
],
"responseData": {
"mail": [
{
"entityID": "SRV0000214277-000396072",
"name": "hola@example123.com",
"password": "############",
"usage": 0,
"quotaMax": 16106127360
}
]
}
}
Use: Modify an email account
Request:
POST /service/mailupdate/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
serviceName | Required | Name of the service/hosting | |
entityID | Required | Identifier | |
password | Required | Password for the email account |
Response fields description:
Field | Description |
---|---|
mail/entityID | Identifier |
mail/name | Username for the email account |
mail/password | Password for the email account |
mail/usage | Mailbox usage (In Bytes) |
mail/quotaMax | Mailbox capacity (In Bytes) |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "service\/mailupdate",
"version": "1.0.20",
"messages": [
"Operation done correctly."
],
"responseData": {
"mail": [
{
"entityID": "SRV0000214277-000396072",
"name": "hola@example123.com",
"password": "############",
"usage": 1123234,
"quotaMax": 16106127360
}
]
}
}
Use: Delete an email account
Request:
POST /service/maildelete/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
serviceName | Required | Name of the service/hosting | |
entityID | Required | Identifier |
Response fields description:
Field | Description |
---|---|
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "service\/maildelete",
"version": "1.0.20",
"messages": [
"Operation done correctly."
],
"responseData": {
}
}
Use: Perform a listing/search of the email alias in an specific service
Request:
POST /service/mailaliaslist/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
pageLength | Optional | 1000 | Maximum number of results |
page | Optional | 1 | Results page number |
serviceName | Required | Name of the service/hosting | |
filter | Optional | Filter |
Response fields description:
Field | Description |
---|---|
queryInfo | Information about the query made |
queryInfo/page | Results page number |
queryInfo/pageLength | Maximum number of results per page |
queryInfo/results | Number of results obtained |
queryInfo/total | Total number of results |
mailalias/entityID | Identifier |
mailalias/name | Name of the email alias |
mailalias/targets | Redirect accounts of the email alias |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "service\/mailaliaslist",
"version": "1.0.20",
"responseData": {
"queryInfo": {
"page": 1,
"pageLength": 1000,
"results": 2,
"total": 2
},
"mailalias": [
{
"entityID": "SRV0000214277-000396072",
"name": "test2@example123.com",
"target": [
"info@g123mail.com",
"asdf@foo.com"
]
},
{
"entityID": "SRV0000214277-000396073",
"name": "test4@example1234.com",
"target": [
"info@foo-foo.com",
"info2@foo-foo.com"
"var1232@barfoo.com"
]
}
/*
,{ .... }
*/
]
}
}
Use: Retrieve information about an email alias
Request:
POST /service/mailaliasgetinfo/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
serviceName | Required | Name of the service/hosting | |
entityID | Required | Identifier |
Response fields description:
Field | Description |
---|---|
mailalias/entityID | Identifier |
mailalias/name | Name of the email alias |
mailalias/target | Destination email accounts |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "service\/mailaliasgetinfo",
"version": "1.0.20",
"responseData": {
"mailalias": [
{
"entityID": "SRV0000214277-000396072",
"name": "test2@example123.com",
"target": [
"info@g123mail.com",
"asdf@foo.com"
]
}
]
}
}
Use: Crear un nuevo alias de correo
Request:
POST /service/mailaliascreate/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
serviceName | Required | Name of the service/hosting | |
name | Required | Name for the email alias | |
target | Required | List of destination email accounts ( separated with , ) |
Response fields description:
Field | Description |
---|---|
mailalias/entityID | Identifier |
mailalias/name | Name for the email alias |
mailalias/target | Destination email accounts |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "service\/mailaliascreate",
"version": "1.0.20",
"messages": [
"Operation done correctly."
],
"responseData": {
"mailalias": [
{
"entityID": "SRV0000214277-000396072",
"name": "test2@example123.com",
"target": [
"info@g123mail.com",
"asdf@foo.com"
]
}
]
}
}
Use: Modify an email alias
Request:
POST /service/mailaliasupdate/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
serviceName | Required | Name of the service/hosting | |
entityID | Required | Identifier | |
target | Required | List of destination email accounts ( separated by , ) |
Response fields description:
Field | Description |
---|---|
mailalias/entityID | Identifier |
mailalias/name | Name of the email alias |
mailalias/target | Destination email accounts |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "service\/mailaliasupdate",
"version": "1.0.20",
"messages": [
"Operation done correctly."
],
"responseData": {
"mailalias": [
{
"entityID": "SRV0000214277-000396072",
"name": "test2@example123.com",
"target": [
"info@g123mail.com",
"test@g123mail.com",
"asdf@foo.com"
]
}
]
}
}
Use: Delete an email alias
Request:
POST /service/mailaliasdelete/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
serviceName | Required | Name of the service/hosting | |
entityID | Required | Identifier |
Response fields description:
Field | Description |
---|---|
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "service\/mailaliasdelete",
"version": "1.0.20",
"messages": [
"Operation done correctly."
],
"responseData": {
}
}
Use: Perform a listing/search of the DNS zones in an specific service
Request:
POST /service/dnslist/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
pageLength | Optional | 1000 | Maximum number of results |
page | Optional | 1 | Results page number |
serviceName | Required | Name of the service/hosting | |
filter | Optional | Filter | |
filterType | Optional | Filter by type | |
filterValue | Optional | Filter by value |
Response fields description:
Field | Description |
---|---|
queryInfo | Information about the query made |
queryInfo/page | Results page number |
queryInfo/pageLength | Maximum number of results per page |
queryInfo/results | Number of results obtained |
queryInfo/total | Total number of results |
dns/entityID | Identifier |
dns/name | DNS zone name |
dns/type | Type of DNS zone ( Check table ) |
dns/ttl | Time to Live ("-" = Default ) |
dns/priority | Zone priority ("-" = Default ) |
dns/value | Zone value depending on type |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "service\/dnslist",
"version": "1.0.20",
"responseData": {
"queryInfo": {
"page": 1,
"pageLength": 1000,
"results": 3,
"total": 20
},
"dns": [
{
"entityID": "SRV0000214277-000396072",
"name": "example000003.com",
"type": "A",
"ttl": "-",
"priority": "-",
"value": "127.0.0.1"
},
{
"entityID": "SRV0000214277-000396073",
"name": "*.example000003.com",
"type": "CNAME",
"ttl": "-",
"priority": "-",
"value": "srv21.example25.com"
},
{
"entityID": "SRV0000214277-000396074",
"name": "www.example000003.com",
"type": "CNAME",
"ttl": "-",
"priority": "-",
"value": "srv21.example25.com"
}
/*
,{ .... }
*/
]
}
}
Use: Retrieve information about a DNS zone
Request:
POST /service/dnsgetinfo/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
serviceName | Required | Name of the service/hosting | |
entityID | Required | Identifier |
Response fields description:
Field | Description |
---|---|
dns/entityID | Identifier |
dns/name | Name of the DNS zone |
dns/type | Type of the DNS zone ( Check table ) |
dns/ttl | Time to Live ("-" = Default value ) |
dns/priority | Priority of the zone ("-" = Default value ) |
dns/value | Value of the zone depending on its type |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "service\/dnsgetinfo",
"version": "1.0.20",
"responseData": {
"dns": [
{
"entityID": "SRV0000214277-000396072",
"name": "_aaa._tls.domainmanagement.sexy",
"type": "SRV",
"ttl": "-",
"priority": "10",
"value": "10 8080 srv.example.es"
}
]
}
}
Use: Create a new DNS zone
Request:
POST /service/dnscreate/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
serviceName | Required | Name of the service/hosting | |
name | Required | Name for the DNS zone | |
type | Required | Type of the DNS zone ( Check table) | |
value | Required | Value of the DNS zone depending on its type ( Check table ) | |
ttl | Optional | Time To Live | |
priority | Optional | 10 for MX and SRV types | Priority of the zone |
Response fields description:
Field | Description |
---|---|
dns/entityID | Identifier |
dns/name | Name of the DNS zone |
dns/type | Type of the DNS zone ( Check table ) |
dns/ttl | Time to Live ("-" = Default value ) |
dns/priority | Priority of the zone ("-" = Default value ) |
dns/value | Value of the zone depending on its type |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "service\/dnscreate",
"version": "1.0.20",
"messages": [
"Operation done correctly."
],
"responseData": {
"dns": [
{
"entityID": "SRV0000214277-000396072",
"name": "_aaa._tls.domainmanagement.sexy",
"type": "SRV",
"ttl": "-",
"priority": "10",
"value": "10 8080 srv.example.es"
}
]
}
}
Use: Modify a DNS zone
Request:
POST /service/dnsupdate/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
serviceName | Required | Name of the service/hosting | |
entityID | Required | Identifier | |
value | Required | Value of the zone depending on its type ( Check table ) | |
ttl | Optional | Time To Live | |
priority | Optional | 10 for MX and SRV types | Priority of the zone |
Response fields description:
Field | Description |
---|---|
dns/entityID | Identifier |
dns/name | Name of the DNS zone |
dns/type | Type of the DNS zone ( Check table ) |
dns/ttl | Time to Live ("-" = Default value ) |
dns/priority | Priority of the zone ("-" = Default value ) |
dns/value | Value of the zone depending on its type |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "service\/dnsupdate",
"version": "1.0.20",
"messages": [
"Operation done correctly."
],
"responseData": {
"dns": [
{
"entityID": "SRV0000214277-000396072",
"name": "_aaa._tls.domainmanagement.sexy",
"type": "SRV",
"ttl": "-",
"priority": "10",
"value": "10 8080 srv.example.es"
}
]
}
}
Use: Delete a DNS zone
Request:
POST /service/dnsdelete/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
serviceName | Required | Name of the service/hosting | |
entityID | Required | Identifier |
Response fields description:
Field | Description |
---|---|
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "service\/dnsdelete",
"version": "1.0.20",
"messages": [
"Operation done correctly."
],
"responseData": {
}
}
Use: Restore the default values on all DNS zones
Request:
POST /service/dnsrestore/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
serviceName | Required | Name of the service/hosting |
Response fields description:
Field | Description |
---|---|
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "service\/dnsrestore",
"version": "1.0.20",
"messages": [
"Operation done correctly."
],
"responseData": {
}
}
Use: Modify with a single command the entire DNS zone; the existing zone will be deleted
Request:
POST /service/dnssetzone/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
serviceName | Required | Name of the service/hosting | |
dnsZoneData | Required | DNS Zone in JSON format and encoded in base64 ( Check example ) |
Response fields description:
Field | Description |
---|---|
DNS zone in JSON format example:
[{"name":"example001.com","type":"A","ttl":"-","priority":"-","value":"8.1.1.18"},{"name":"*.example001.com","type":"CNAME","ttl":"-","priority":"-","value":"srv1.example1111.com"} /*...*/ ]
/* This JSON must be encoded in Base64 afterwards and sent in the dnsZoneData field */
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "service\/dnsrestore",
"version": "1.0.20",
"messages": [
"Operation done correctly."
],
"responseData": {
}
}
Use: Delete all DNS zones
Request:
POST /service/dnsdeleteall/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
serviceName | Required | Name of the service/hosting |
Response fields description:
Field | Description |
---|---|
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "service\/dnsdeleteall",
"version": "1.0.20",
"messages": [
"Operation done correctly."
],
"responseData": {
}
}
Product Key | Product/Service type |
---|---|
redir | Redirect And Parking |
mini | Mini Hosting |
Mail Hosting | |
mailplus | Mail Plus Hosting |
mailpro | Mail Pro Hosting |
basic | Basic Hosting |
professional | Professional Hosting |
advanced | Advanced Hosting |
corporate | Corporate Hosting |
Status | Description |
---|---|
init | Service set up in progress |
active | Service active |
inactive | Service inactive |
renewed | Renewal in process |
renewable | Service active and renewable |
Keyword | Description |
---|---|
autorenew | Automatic renewal |
manual | Manual renewal |
Type | Description |
---|---|
301 | Permanent (HTTP 301) |
302 | Temporary (HTTP 302) |
frame | Frame |
Type | Description | Value format |
---|---|---|
A | Address | IPv4 |
AAAA | Address IPv6 | IPv6 |
CNAME | Canonical Name | Hostname |
MX | Mail Exchange | Mail Server Hostname |
SRV | Service | Format weight port destiny-host |
TXT | Text | Text |
NS | NameServe | DNS Server HostName |
CAA | Certification Authority | Format flag tag "value" |
The ssl module allows access to different options available for SSL Certificates
Available actions:
Action | Authentication | Description |
---|---|---|
/ssl/csrdecode/ | Required | Decode a CSR |
/ssl/csrcreate/ | Required | Creates a CSR |
/ssl/productlist/ | Required | Product List |
/ssl/productgetinfo/ | Required | Get information from a Product |
/ssl/list/ | Required | Purchased Certificate List |
/ssl/getinfo/ | Required | Get information from a purchased Certificate |
/ssl/create/ | Required | Send a SSL create order with a CSR |
/ssl/renew/ | Required | Renews a SSL Certificate |
/ssl/reissue/ | Required | Reissue a SSL Certificate |
/ssl/multidomainaddsan | Required | Add a SAN Domain (Alternative Name) to the Certificate |
/ssl/getvalidationemails/ | Required | List all the validation email for a Certificate and his alternative methods. |
/ssl/changevalidationmethod/ | Required | Changes validation method for a CommonName that's in status process or reissue |
/ssl/resendvalidationmail/ | Required | Resends a CommonName validation email from a Certificate. |
Use: Decode parameters from a CSR.
Request:
POST /ssl/csrdecode/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
csrData | Required | CSR code data (including ---BEGIN--- and ---END-- |
Response fields description:
Field | Description |
---|---|
csrData | CSR Data provided |
commonName | Common name |
organizationName | Organization name |
organizationalUnitName | Organization unit name |
countryName | Country code |
stateOrProvinceName | State or province |
localityName | Locality |
emailAddress | Email address |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "ssl\/csrdecode",
"version": "1.0.20",
"responseData": {
"csrData": "-----BEGIN CERTIFICATE REQUEST-----\nMIIC7zCCAdcCAQAwgakxGzAZBgNVBAMMEmV4YW1wbGUuZG9tYWluLmNvbTEbMBkG\nA1UECgwSVGVjaCBTb2x1dGlvbnMgSW5jMRowGAYDVQQLDBFHb3RoYW0gRGVwYXJ0\nbWVudDELMAkGA1UEBhMCVVMxEDAOBgNVBAgMB0FyaXpvbmExETAPBgNVBAcMCEJh\ncGNodWxlMR8wHQYJKoZIhvcNAQkBFhBpbmZvQGV4YW1wbGUuY29tMIIBIjANBgkq\nhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA6HWtKvCB\/v\/bE5mD9ZpQuuI1Hbx9FsvJ\nO4mFUj+1kzH4bJTIWEKt3qiwpy+HirqonHvgriXyZyq52uhJANrXh13c2qJrd5zQ\ndL2Cvi301+C7QH5grA2RfMxNAfLRDEOYI+uw5xxMM8YNZexJeQlAmq6bFPZUUqEO\nw4JzT4kw1HK6umxV8ycOyOh50gYckzdzlrOHDrdCJ3+H31CFCRjEe3KVTcvpG6Nf\nI5czXLIUYWmHw7i9e0uQIbBMiDkMRVQ9RvS5rjPK+kHPLHblapAJPs2xm5Ow+FSg\n805uDqmjZ1sz7u1aw9cPkNGDmHXTyStJu440byRnZtto7dIFF8pKcQIDAQABoAAw\nDQYJKoZIhvcNAQEFBQADggEBAHVPoIXS0vtwt8QoQ7iAoa9T+Ypn7hEErbw1amLT\nrYy5GtzIN6fesTZcCv\/1OuOXTQFXQYGMtVVjUCsF50qLdaHRV8jTl7f0b9raP+Fv\nb7d0VLtQx3o3LeSR4IS\/C7VpxXqm6lSOSs2R6W5eZ0ot+4K+8wxJZmaY4trCe2dY\nOVrEcQbLIWc1lTl71wrbIIzyfiGz9xAK+\/Sqf8uv8wtylcTvL1pgBUVJ7XcFzSsl\nBBGXsjseGF9+\/uIZH0mEgO8GN0UC+deNc71KZTwhpuFwo\/hXF7sJtGVt5szX8HBD\nJ724\/s79fnNYwqowoKBXm1bIMZS2D0IEX\/M7nX2\/u1EQE0k=\n-----END CERTIFICATE REQUEST-----",
"commonName": "example.domain.com",
"organizationName": "Tech Solutions Inc",
"organizationalUnitName": "Gotham Department",
"countryName": "US",
"stateOrProvinceName": "Arizona",
"localityName": "Bapchule",
"emailAddress": "info@example.com"
}
}
Use: Creates a CSR.
Request:
POST /ssl/csrcreate/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
commonName | Required | Common name | |
organizationName | Required | Organization name | |
organizationalUnitName | Required | Organization unit name | |
countryName | Required | Country code | |
stateOrProvinceName | Required | State or province | |
localityName | Required | Locality | |
emailAddress | Required | Email address |
Response fields description:
Field | Description |
---|---|
csrData | CSR Data provided |
csrKey | KEY Data generated with CSR Request |
commonName | Common name |
organizationName | Organization name |
organizationalUnitName | Organization unit name |
countryName | Country code |
stateOrProvinceName | State or province |
localityName | Locality |
emailAddress | Email address |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "ssl\/csrcreate",
"version": "1.0.20",
"responseData": {
"csrData": "-----BEGIN CERTIFICATE REQUEST-----\nMIIC7zCCAdcCAQAwgakxGzAZBgNVBAMMEmV4YW1wbGUuZG9tYWluLmNvbTEbMBkG\nA1UECgwSVGVjaCBTb2x1dGlvbnMgSW5jMRowGAYDVQQLDBFHb3RoYW0gRGVwYXJ0\nbWVudDELMAkGA1UEBhMCVVMxEDAOBgNVBAgMB0FyaXpvbmExETAPBgNVBAcMCEJh\ncGNodWxlMR8wHQYJKoZIhvcNAQkBFhBpbmZvQGV4YW1wbGUuY29tMIIBIjANBgkq\nhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA8PWaH\/\/AL1HMpjcPEaBdXqAvQND0UAUC\nV66QYwE3Eqc\/OogYA\/Uc\/kR2ecNbBxD0nSghGiTbt0LIXTaDXtmGCs28pYOF\/zr9\n9NAfHypqIuCay8hmMTXabbXFnhm5dMly9h5jeOCSh2hXKX1u72u9fUugAL\/cpodi\nipJENgvreliT5bib4O2fBgsuWiNgkhRAmc1JAboKE46vREouX66cWsUSWhiVJMXS\nI+B0uTNk3\/I4DeglJkqldR\/JMeXJf88JPZup5rxdvXDp4Y5TgL0ObAkTyJ8JFhsE\ngYBe0Zur7rFdGHkNnCDnbkWF2Gr1nnusuIpi4c3cV+THsT\/nxcDwwwIDAQABoAAw\nDQYJKoZIhvcNAQEFBQADggEBAET2miFah2elumEJbLNDc1AhukXyZ9eVZ96FusSV\nxQL2F2CS0EWHZha3qf1yeIw5\/m\/KD8OqiCtQjOJF5UGxHPhXAUbPFVVcJDHVPZ\/h\niC3VpYrkk4OsqnlyYbjCWm+5k7Lp8zP+B3L4cPgH7ESL8HSwEDwH0NSanOPmX2bo\ndYYYFFzZCWTTNWUWjW0D+jDWSnGdi7wqjI2D7sOGiwgGKSG6G1m7Ij44sw7T8cL9\nycvrAZ+Tp29IajVUwBcg8E02J96KO6HH3slI6ux7\/KD0K0lHDzTO9aWgP6kGbERg\n7iY1+OYQ6ZTBX1aJG7IYyB7hm2OctaTKtF242j2+ZjH3nVI=\n-----END CERTIFICATE REQUEST-----",
"csrKey": "-----BEGIN PRIVATE KEY-----\nMIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDw9Zof\/8AvUcym\nNw8RoF1eoC9A0PRQBQJXrpBjATcSpz86iBgD9Rz+RHZ5w1sHEPSdKCEaJNu3Qshd\nNoNe2YYKzbylg4X\/Ov300B8fKmoi4JrLyGYxNdpttcWeGbl0yXL2HmN44JKHaFcp\nfW7va719S6AAv9ymh2KKkkQ2C+t6WJPluJvg7Z8GCy5aI2CSFECZzUkBugoTjq9E\nSi5frpxaxRJaGJUkxdIj4HS5M2Tf8jgN6CUmSqV1H8kx5cl\/zwk9m6nmvF29cOnh\njlOAvQ5sCRPInwkWGwSBgF7Rm6vusV0YeQ2cIOduRYXYavWee6y4imLhzdxX5Mex\nP+fFwPDDAgMBAAECggEBAKeVaRgQO42tinOfn29W5RlGtxaRPRnaIgLxeaIh2jey\n8hq3RFycQQnme6+72rdTZ41Vt5ADSnxuigOqQjvZdYxWAnnqu2sDkFSP2tVGHoMb\nSw2n1ssq9TuQTFzk70L2SGo8QFp1dfOO8e\/9OQZzHFrkGefriH6ZckOF7sLYD3IK\nh3O0kdLJOCECFjW0HTtCfToIDUksu1gPlLQF0K6YMefvlEM37Qr\/wyMzyRsutcIs\nxjPP5AVs8+eIwfNq\/i0mgQXgrfi9opLSNFGRV502n13EG2wymE5+h8UqgOLlEnAs\nW5xSusF7hyuxj3x8vAT31aG3IpJ12Avkm4\/1lzR8faECgYEA+v4cmGRikI7M8JH4\nrTYYlcvrIaLZHWDmqRmXac080prqIGlto\/yaJT6ONaJbE9buEf8T8jDbsBdMHS9e\nd6D2KqPoCemCpnU96KRGmjDNtlnJVNpM7TyqhdxJaqiJ7K1rSS8bfcNrnZv3Ec0U\nwq6HWvHnzIALIT5Sn3T1GjXQFTUCgYEA9cQ\/cfSVmWILlbzJNEXPipAHAHmf0LNn\nXNfDHoBJezUkUWHlMeMyCzD+J4z44w8oXJog918bpaeIt45xBktJY7WSiIyVSotH\nQGR\/GI2\/sL4Mpsc9tPLx4thsos2fKbyeak\/dWoiU44QH5Ghd\/ehzmN9A51chxTjo\nRbrtMR6xBRcCgYASXxk+ulJQnHM5xKV8IDKKfGOYka\/sq5QWmo3vq5shGz+54Z2p\n3Cp4QWztVhXujNPeM1qFZrgd2oayuC3k+b4q\/tZUK2hpwLkoVyXn0VytVUMcV+I7\nly4wICCrkuyNi2AH+k+709sDrU\/XWLiFS3sS2BQMbu7hnwszKr9qDLhPZQKBgQCw\n0nGTW5YGtTQAl8NriI658sYW4WrKjUlg0xvfZg14R9PJedWc\/wmSY714V0T6mH1B\nouL1F8icdt02s5U+Igy7YHf9JqiC6ZJqEeQfllzEnPgdRlxvRBwkSfJfb\/GD5eFU\nPAHWkU4OI4BKJYz6kbQZ2Qapa1cwvrDe+o6NOLfEIQKBgQCjFFRORtW16XS7tGab\nN\/bdTY51iR0OCssyuzrBO8PbhSPkspRU2gSQQi1aPsDlQo0GdNOAvpfoGbfy4mTV\n+84pJRb455T3gV\/crLR3bBMSkuaH+k0MoM0k9hHlUN\/\/FRiXx9v69iLdgXM7qrpx\nNjW7iwzuXUoiDPvfS80Kp6ZBZg==\n-----END PRIVATE KEY-----",
"commonName": "example.domain.com",
"organizationName": "Tech Solutions Inc",
"organizationalUnitName": "Gotham Department",
"countryName": "US",
"stateOrProvinceName": "Arizona",
"localityName": "Bapchule",
"emailAddress": "info@example.com"
}
}
Use: Shows a list of available SSL Certificates
Request:
POST /ssl/productlist/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
pageLength | Optional | 1000 | Maximum number of results |
page | Optional | 1 | Results page number |
wildcard | Optional | (Bool) Will filter by types that allow Wildcard | |
multidomain | Optional | (Bool) Will filter by types that allow Multi-domain | |
trial | Optional | (Bool) Will filter by Trial Certificates | |
validationType | Optional | It will filter by the type of validation (See table) |
Response fields description:
Field | Description |
---|---|
queryInfo | Information about the query made |
queryInfo/page | Results page number |
queryInfo/pageLength | Maximum number of results per page |
queryInfo/results | Number of results obtained |
queryInfo/total | Total number of results |
products | List of SSL Certificates that comply with the indicated filters |
products/productID | Product identifier |
products/productName | Product name |
products/brandName | Product brand |
products/validationType | Certificate validation type (See table) |
products/isMultiDomain | If the Certificate is Multi-domain |
products/isWildcard | If the Certificate is Wildcard |
products/isTrial | If the Certificate is a Trial |
products/numDomains | Number of domains allowed by the SSL Certificate |
products/keyLength | Length in bits of the Certificate's RSA Key |
products/encryption | Certificate's encryption type |
products/create | SSL Certificate creation information |
products/create/create | SSL Certificate creation cost |
products/create/years | SSL Certificate years |
products/create/isPromo | Whether the Certificate creation is in Promo Just when true |
products/renew | SSL Certificate renewal information |
products/renew/create | SSL Certificate renewal cost |
products/renew/years | SSL Certificate years |
products/renew/isPromo | Whether the Certificate renewal is in Promo Just when true |
products/trialPeriod | Number of days of validity of the SSL Certificate (Only for SSL Certificates Trial) |
products/sanMaxDomains | Maximum alternative domains allowed by the SSL Certificate (Only for Multi-domain SSL Certificates) |
products/sanPrice | Cost of an alternative domain in the SSL Certificate (Only for Multi-domain SSL Certificates) |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "ssl/productlist",
"version": "1.0.20",
"responseData": {
"queryInfo": {
"page": 1,
"pageLength": 1000,
"results": 46,
"total": 46
},
"products": [
{
"productID": 1,
"productName": "Sectigo Domain Premium",
"brandName": "Sectigo",
"validationType": "dv",
"isMultiDomain": false,
"isWildcard": false,
"isTrial": false,
"numDomains": 1,
"keyLength": 2048,
"encryption": 256,
"create": {
"create": 4.95,
"years": 1,
"isPromo": true
},
"renew": {
"create": 39.95,
"years": 1
}
}
/*
,{ .... }
*/
]
}
}
Example for Trial Certificates
{
"productID": 58,
"productName": "DonDominio Trial SSL",
"brandName": "DonDominio",
"validationType": "dv",
"isMultiDomain": false,
"isWildcard": false,
"isTrial": true,
"numDomains": 1,
"keyLength": 2048,
"encryption": 256,
"trialPeriod": "90 days"
}
Example for Multi-domain Certificates
{
"productID": 17,
"productName": "Sectigo Multi-Domain EV SSL",
"brandName": "Sectigo",
"validationType": "ev",
"isMultiDomain": true,
"isWildcard": false,
"isTrial": false,
"numDomains": 3,
"keyLength": 2048,
"encryption": 256,
"create": {
"create": 383.95,
"years": 1
},
"renew": {
"create": 383.95,
"years": 1
},
"sanMaxDomains": 210,
"sanPrice": 106
}
Use: Get information about a concrete product
Request:
POST /ssl/productgetinfo/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
productID | Required | Product identifier |
Response fields description:
Field | Description |
---|---|
productID | Product identifier |
productName | Product name |
brandName | Product brand |
validationType | Certificate validation type (See table) |
isMultiDomain | If the Certificate is multi-domain |
isWildcard | If the Certificate is wildcard |
isTrial | If the Certificate is a test |
numDomains | Number of domains allowed by the SSL Certificate |
keyLength | Length in bits of the Certificate's RSA Key |
encryption | Certificate's encryption type |
create | SSL Certificate creation information |
create/create | SSL Certificate creation cost |
create/years | SSL Certificate years |
create/isPromo | Whether the Certificate creation is in Promo Just when true |
renew | SSL Certificate renewal information |
renew/create | SSL Certificate renewal cost |
renew/years | SSL Certificate years |
renew/isPromo | Whether the Certificate renewal is in Promo Just when true |
trialPeriod | Number of days of validity of the SSL Certificate (Only for SSL Certificates Trial) |
sanMaxDomains | Maximum alternative domains allowed by the SSL Certificate (Only for Multi-domain SSL Certificates) |
sanPrice | Cost of an alternative domain in the SSL Certificate (Only for Multi-domain SSL Certificates) |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "ssl\/productgetinfo",
"version": "1.0.20",
"responseData": {
"productID": 55,
"productName": "DonDominio Domain SSL",
"brandName": "DonDominio",
"validationType": "dv",
"isMultiDomain": false,
"isWildcard": false,
"isTrial": false,
"numDomains": 1,
"keyLength": 2048,
"encryption": 256,
"create": {
"create": 4.95,
"years": 1,
"isPromo": true
},
"renew": {
"create": 4.95,
"years": 1
}
}
}
Use: Listing purchased Certificates using filters.
Request:
POST /ssl/list/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
pageLength | Optional | 1000 | Maximum number of results |
page | Optional | 1 | Results page number |
productID | Optional | Filters using a Product identifier (See /ssl/productlist/ | |
status | Optional | Filters using an status (See table 8.5.2) | |
renewable | Optional | (Bool) Filters if the certificate is renewable or not | |
commonName | Optional | Filters by the Certificate CommonName |
Response fields description:
Field | Description |
---|---|
queryInfo | Information about the query made |
queryInfo/page | Results page number |
queryInfo/pageLength | Maximum number of results per page |
queryInfo/results | Number of results obtained |
queryInfo/total | Total number of results |
ssl | List of SSL Certificates that comply with the indicated filters |
ssl/certificateID | Certificate identifier |
ssl/commonName | Common name |
ssl/status | Certificate status |
ssl/renewable | If Certificate can be renewed |
ssl/productID | Product identifier |
ssl/sanMaxDomains | Maximum number of domains. Only on multi-domain Certificates |
ssl/tsCreate | Date of Certificate creation |
ssl/tsExpir | Date of Certificate expiration |
ssl/alternativeNames | Certificate alternative domains |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "ssl/list",
"version": "1.0.20",
"responseData": {
"queryInfo": {
"page": 1,
"pageLength": 2,
"results": 2,
"total": 20
},
"ssl": [
{
"certificateID": 132442,
"commonName": "www.example.org",
"status": "valid",
"renewable": false,
"productID": 6,
"sanMaxDomains": 200,
"tsCreate": "2021-05-19",
"tsExpir": "2022-05-19",
"alternativeNames": [
"example.org",
"www.example.org"
]
},
{
"certificateID": 130839,
"commonName": "*.example.com",
"status": "valid",
"renewable": false,
"productID": 56,
"sanMaxDomains": 200,
"tsCreate": "2021-05-06",
"tsExpir": "2022-06-07",
"alternativeNames": [
"*.example.com",
"example.com"
]
}
]
}
}
Use: Get information about a concrete Certificate
Request:
POST /ssl/getinfo/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
certificateID | Required | Certificate identifier | |
infoType | Optional | status | Certificate information (Check next table) |
pfxpass | Optional | Allows to send the pass whene infoType=pfx |
InfoType
options
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
status |
String | No | General Certificate information |
ssldata |
String | No | Certificate data, CRT, KEY and CA-CRT files |
validationStatus |
String | No | Certificate validation information. Can be used only when the Certificate Status is process or reissue |
pfx |
String | No | Certificate data in pfx format |
der |
String | No | Certificate data in der format |
p7b |
String | No | Certificate data in p7b format |
zip |
String | No | Certificate data in zip format |
pem |
String | No | Certificate data in pem format |
Response fields description:
Field | Description |
---|---|
certificateID | Certificate identifier |
commonName | Common name |
status | Certificate status |
renewable | If Certificate can be renewed |
productID | Product identifier |
numDomains | Maximum number of domains. This includes alternative names. Only on multi-domain Certificates |
tsCreate | Date of Certificate creation |
tsExpir | Date of Certificate expiration |
alternativeNames | Certificate alternative domains |
sslCert | Certificate CRT file |
sslKey | Certificate KEY file |
sslCertChain | Certificate CA-CRT file |
fingerprint | Certificate fingerptint. Only on infoType=ssldata |
content | Certificate data in some format. (Check infoType options) |
content/type | Certificate file Mimetype |
content/name | Certificate file name |
content/base64encoded | (bool) Wherever or not the file data is base64 encoded |
content/data | Certificate file content |
validationData | Validation related information |
validationData/dcv | Domain control validation |
validationData/organizationValidationStatus | Status of the Organization validation. Just in OV and EV Validation Types |
validationData/brandValidationStatus | Status of the Organization Brand validation. Just in OV and EV Validation Types |
validationData/message | Short description of the validation status |
validationData/externalValidation | Wherever or not the Certificate needs an external validation |
Response example:
Example infoType = status
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "ssl\/getinfo",
"version": "1.0.20",
"responseData": {
"certificateID": 130839,
"commonName": "*.example.com",
"status": "valid",
"renewable": false,
"productID": 56,
"numDomains": 200,
"tsCreate": "2021-05-06",
"tsExpir": "2022-06-07",
"alternativeNames": [
"*.example.com",
"example.com"
]
}
}
Example infoType = ssldata
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "ssl\/getinfo",
"version": "1.0.20",
"responseData": {
"certificateID": 130839,
"commonName": "*.example.com",
"status": "valid",
"renewable": false,
"productID": 56,
"numDomains": 200,
"tsCreate": "2021-05-06",
"tsExpir": "2022-06-07",
"alternativeNames": [
"*.example.com",
"example.com"
],
"sslCert": "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----",
"sslKey": "-----BEGIN PRIVATE KEY----- ... -----END PRIVATE KEY-----",
"sslCertChain": [
"-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
],
"fingerprint": {
"SHA1": "A7:65:F0:57:24:45:40:B1:F0:80:D2:89:A4:FF:81:53:7A:9A:6C:35",
"SHA256": "01:98:0E:C8:4F:DA:14:0B:2C:03:FA:E7:E5:4E:79:BD:D6:15:22:70:AA:F0:BC:21:C2:BC:16:76:81:8C:8F:5A",
"MD5": "C7:6B:A7:2E:45:ED:55:26:38:D9:7D:0B:AF:47:09:BD"
}
}
}
Example infoType = validationStatus
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "ssl\/getinfo",
"version": "1.0.20",
"responseData": {
"certificateID": 135820,
"commonName": "www.example.com",
"status": "process",
"renewable": false,
"productID": 55,
"tsCreate": "",
"tsExpir": "",
"alternativeNames": [],
"validationData": {
"dcv": {
"www.example.com": {
"validated": false,
"domainName": "www.example.com",
"method": "dns",
"checkvalue": "_6e14527a114d52f9901f0d46.www.example.com CNAME 96a5500ed20516ba7a1efa94bf90a.a1ec45f78dbd349c33a05c6e8e8d0a50.ssl135820.comodoca.com"
}
},
"organizationValidationStatus": "",
"brandValidationStatus": "",
"message": "The petition is pending validation.",
"externalValidation": true
}
}
}
Example infoType = pfx
, infoType = der
, infoType = p7b
, infoType = zip
, infoType = pem
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "ssl\/getinfo",
"version": "1.0.20",
"responseData": {
"certificateID": 130839,
"commonName": "*.example.com",
"status": "valid",
"renewable": false,
"productID": 56,
"numDomains": 200,
"tsCreate": "2021-05-06",
"tsExpir": "2022-06-07",
"alternativeNames": [
"*.example.com",
"example.com"
],
"sslCert": "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----",
"sslKey": "-----BEGIN PRIVATE KEY----- ... -----END PRIVATE KEY-----",
"sslCertChain": [
"-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
],
// infoType=pfx
"content": {
"type": "application\/x-pkcs12",
"name": "certificate.pfx",
"base64encoded": true,
"data": "MIIMvQIBAz23HCBAhOeNzRgCTm7Q=="
},
// infoType=der
"content": {
"type": "application\/x-x509-ca-cert",
"name": "certificate.der",
"base64encoded": true,
"data": "MIIGgzCCBWugAwIBAgIRAKalTxP\/"
},
// infoType=p7b
"content": {
"type": "text\/plain",
"name": "certificate.p7b",
"base64encoded": false,
"data": "-----BEGIN PKCS7-----\nMIIWigXpNpaYbqEAMQA=\n-----END PKCS7-----\n"
},
// infoType=zip
"content": {
"type": "application\/zip",
"name": "certificate.zip",
"base64encoded": true,
"data": "UEsDBBQAAACYGgAAAAA="
},
// infoType=pem
"content": {
"type": "text\/plain",
"name": "certificate.pem",
"base64encoded": false,
"data": "-----BEGIN CERTIFICATE-----\nMIIGgzCCBWu==\n-----END CERTIFICATE-----"
}
}
}
Use: Send a SSL Certificate creation order with a CSR.
Request:
POST /ssl/create/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
csrData | Required | CSR Data (including -----BEGIN----- and -----END----- ). |
|
productID | Required | Product identifier. | |
period | Optional | Product minYears |
(Integer) Years of expedition (Check Product information for minYears and maxYears ). |
keyData | Optional | Key Data (including -----BEGIN----- and -----END----- ). |
|
adminContact[Data] | Required | Administrative contact data (Check Providing contact data section). |
|
techContact[Data] | Optional | Technical contact data. If not present, administrative contact data will be used instead. | |
orgContact[Data] | Required if validationType = 'OV' or validationType = 'EV' |
Organization contact data. Certificates info Validation types. |
|
validationMethod | Optional | dns | Certificate validation method for the domain at CommonName |
alt_name_[Number] | Optional | Just for multi-domain certificates: Alternative Name of the certificate. Each Alternative Name must be indicated with an ordered number and his alt_validation_ field. The number of Alternative Names can't be higher than the sanMaxDomains of the Product. (Check Alternative Names validation section). |
|
alt_validation_[Number] | Optional | dns | Just for multi-domain certificates: Validation method of the Alternative Name. Each Alternative Name must have his alt_validation_ field. Validation types. |
The contact data for adminContact[Data]
, techContact[Data]
and/or orgContact[Data]
may be provided in two different ways:
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
adminContactID | Required | Contact ID in MrDomain. Example: XXX-12312 |
Providing all required information: (example for admin)
In this case, an adminContactID
may not be specified, or all these fields will be ignored.
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
adminContactType | Required | Contact type: individual or organization |
|
adminContactFirstName | Required | First name | |
adminContactLastName | Required | Last name | |
adminContactOrgName | Required if adminContactType = organization |
Organization or company name | |
adminContactOrgType | Required if adminContactType = organization and adminContactCountry = ES |
Spanish organization type (See table) | |
adminContactIdentNumber | Required | Tax identification number, VAT Number, ID Card number... | |
adminContactEmail | Required | ||
adminContactPhone | Required | Phone number in +DD.DDDDDDDD format | |
adminContactFax | Optional | Fax number in +DD.DDDDDDDDD format | |
adminContactAddress | Required | Address | |
adminContactPostalCode | Required | Postal code | |
adminContactCity | Required | City | |
adminContactState | Required | State/Province | |
adminContactCountry | Required | (String 2 characters) Country code (See table) |
Other contacts may be provided switching the prefix admin
accordingly to tech
or org
.
In a multi-domain
Certificate, the Alternative Names must be provided within the create request with his related validation method. As this type of Certificates can have more than one Alternative Name, they need to be enumerated:
Example with 2 Alternative Names
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
alt_name_1 | Required | First Alternative Name | |
alt_validation_1 | Required | dns | Validation method of the first Alternative Name |
alt_name_2 | Required | Second Alternative Name | |
alt_validation_2 | Required | dns | Validation method of the second Alternative Name |
Response fields description:
Field | Description |
---|---|
billing | Billing information about the create request. |
billing/total | Total amount of the request. |
billing/currency | Currency that represents the total. |
ssl | List of SSL Certificates that comply with the indicated filters. |
ssl/certificateID | Certificate identifier. |
ssl/commonName | Common name. |
ssl/status | Certificate status. |
ssl/renewable | If Certificate can be renewed. |
ssl/productID | Product identifier. |
ssl/tsCreate | Date of Certificate creation. |
ssl/tsExpir | Date of Certificate expiration. |
ssl/alternativeNames | Certificate alternative domains. |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "ssl/create",
"version": "1.0.20",
"responseData": {
"billing": {
"total": 48.34,
"currency": "EUR"
},
"ssl": {
"certificateID": 135520,
"commonName": "www.example.com",
"status": "process",
"renewable": false,
"productID": 1,
"tsCreate": "",
"tsExpir": "",
"alternativeNames": []
}
}
}
Use: Renew an SSL Certificate
Request:
POST /ssl/renew/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
csrData | Required | CSR Data (including -----BEGIN----- and -----END----- ). |
|
certificateID | Required | Certificate identifier | |
period | Optional | Product minYears |
(Integer) Years of expedition (Check Product information for minYears and maxYears ). |
keyData | Optional | Key Data (including -----BEGIN----- and -----END----- ). |
|
adminContact[Data] | Required | Administrative contact data (Check Providing contact data section). |
|
techContact[Data] | Optional | Technical contact data. If not present, administrative contact data will be used instead. | |
orgContact[Data] | Required if validationType = 'OV' or validationType = 'EV' |
Organization contact data. Certificates info Validation types. |
|
validationMethod | Optional | dns | Certificate validation method for the domain at CommonName |
alt_name_[Number] | Optional | Just for multi-domain certificates: Alternative Name of the certificate. Each Alternative Name must be indicated with an ordered number and his alt_validation_ field. The number of Alternative Names can't be higher than the sanMaxDomains of the Product. (Check Alternative Names validation section). |
|
alt_validation_[Number] | Optional | dns | Just for multi-domain certificates: Validation method of the Alternative Name. Each Alternative Name must have his alt_validation_ field. Validation types. |
The contact data for adminContact[Data]
, techContact[Data]
and/or orgContact[Data]
may be provided in two different ways:
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
adminContactID | Required | Contact ID in MrDomain. Example: XXX-12312 |
Providing all required information: (example for admin)
In this case, an adminContactID
may not be specified, or all these fields will be ignored.
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
adminContactType | Required | Contact type: individual or organization |
|
adminContactFirstName | Required | First name | |
adminContactLastName | Required | Last name | |
adminContactOrgName | Required if adminContactType = organization |
Organization or company name | |
adminContactOrgType | Required if adminContactType = organization and adminContactCountry = ES |
Spanish organization type (See table) | |
adminContactIdentNumber | Required | Tax identification number, VAT Number, ID Card number... | |
adminContactEmail | Required | ||
adminContactPhone | Required | Phone number in +DD.DDDDDDDD format | |
adminContactFax | Optional | Fax number in +DD.DDDDDDDDD format | |
adminContactAddress | Required | Address | |
adminContactPostalCode | Required | Postal code | |
adminContactCity | Required | City | |
adminContactState | Required | State/Province | |
adminContactCountry | Required | (String 2 characters) Country code (See table) |
Other contacts may be provided switching the prefix admin
accordingly to tech
or org
.
In a multi-domain
Certificate, the Alternative Names must be provided within the renew request with his related validation method. As this type of Certificates can have more than one Alternative Name, they need to be enumerated:
Example with 2 Alternative Names
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
alt_name_1 | Required | First Alternative Name | |
alt_validation_1 | Required | dns | Validation method of the first Alternative Name |
alt_name_2 | Required | Second Alternative Name | |
alt_validation_2 | Required | dns | Validation method of the second Alternative Name |
Response fields description:
Field | Description |
---|---|
billing | Billing information about the renew request. |
billing/total | Total amount of the request. |
billing/currency | Currency that represents the total. |
ssl | List of SSL Certificates that comply with the indicated filters. |
ssl/certificateID | Certificate identifier. |
ssl/commonName | Common name. |
ssl/status | Certificate status. |
ssl/renewable | If Certificate can be renewed. |
ssl/productID | Product identifier. |
ssl/tsCreate | Date of Certificate creation. |
ssl/tsExpir | Date of Certificate expiration. |
ssl/alternativeNames | Certificate alternative domains. |
ssl/sanMaxDomains | Maximum alternative domains allowed by the SSL Certificate (Only for Multi-domain SSL Certificates) |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "ssl\/renew",
"version": "1.0.20",
"responseData": {
"billing": {
"total": 95.35,
"currency": "EUR"
},
"ssl": {
"certificateID": 135838,
"commonName": "example.com",
"status": "process",
"renewable": false,
"productID": 4,
"tsCreate": "",
"tsExpir": "",
"alternativeNames": [],
"sanMaxDomains": 6
}
}
}
Use Reissue a SSL Certificate.
Request:
POST /ssl/reissue/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
csrData | Required | CSR Data (including -----BEGIN----- and -----END----- ). |
|
certificateID | Required | Certificate identifier | |
keyData | Optional | Key Data (including -----BEGIN----- and -----END----- ). |
|
validationMethod | Optional | dns | Certificate validation method for the domain at CommonName |
alt_name_[Number] | Optional | Just for multi-domain certificates: Alternative Name of the certificate. Each Alternative Name must be indicated with an ordered number and his alt_validation_ field. The number of Alternative Names can't be higher than the sanMaxDomains of the Product. (Check Alternative Names validation section). |
|
alt_validation_[Number] | Optional | dns | Just for multi-domain certificates: Validation method of the Alternative Name. Each Alternative Name must have his alt_validation_ field. Validation types. |
In a multi-domain
Certificate, the Alternative Names must be provided within the reissue request with his related validation method. As this type of Certificates can have more than one Alternative Name, they need to be enumerated:
Example with 2 Alternative Names
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
alt_name_1 | Required | First Alternative Name | |
alt_validation_1 | Required | dns | Validation method of the first Alternative Name |
alt_name_2 | Required | Second Alternative Name | |
alt_validation_2 | Required | dns | Validation method of the second Alternative Name |
Response fields description:
Field | Description |
---|---|
certificateID | Certificate identifier. |
commonName | Common name. |
status | Certificate status. |
renewable | If Certificate can be renewed. |
productID | Product identifier. |
tsCreate | Date of Certificate creation. |
tsExpir | Date of Certificate expiration. |
alternativeNames | Certificate alternative domains. |
sanMaxDomains | Maximum alternative domains allowed by the SSL Certificate (Only for Multi-domain SSL Certificates) |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "ssl\/reissue",
"version": "1.0.20",
"messages": [
"Operation done correctly."
],
"responseData": {
"certificateID": 135815,
"commonName": "www.ejemplo.com",
"status": "reissue",
"renewable": false,
"productID": 57,
"tsCreate": "2021-06-18",
"tsExpir": "2022-07-19",
"alternativeNames": [
"www.ejemplo.com",
"www.ejemplo.eu",
"mail.ejemplo.com"
],
"sanMaxDomains": 3
}
}
Use: Add a SAN Domain (Alternative Name) to the Certificate.
Request:
POST /ssl/multidomainaddsan/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
certificateID | Required | Certificate identifier | |
extraSAN | Required | Alternative Name that will be added to the ssl Certificate |
Response fields description:
Field | Description |
---|---|
billing | Billing information about the renew request. |
billing/total | Total amount of the request. |
billing/currency | Currency that represents the total. |
ssl | List of SSL Certificates that comply with the indicated filters. |
ssl/certificateID | Certificate identifier. |
ssl/commonName | Common name. |
ssl/status | Certificate status. |
ssl/renewable | If Certificate can be renewed. |
ssl/productID | Product identifier. |
ssl/tsCreate | Date of Certificate creation. |
ssl/tsExpir | Date of Certificate expiration. |
ssl/alternativeNames | Certificate alternative domains. |
ssl/sanMaxDomains | Maximum alternative domains allowed by the SSL Certificate (Only for Multi-domain SSL Certificates) |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "ssl\/multidomainaddsan",
"version": "1.0.20",
"responseData": {
"billing": {
"total": 96.32,
"currency": "EUR"
},
"ssl": {
"certificateID": 135785,
"commonName": "www.test.es",
"status": "valid",
"renewable": false,
"productID": 57,
"tsCreate": "2021-06-18",
"tsExpir": "2022-07-19",
"alternativeNames": [
"www.test.es",
"www.test2.es",
"www.test3.es",
"www.test4.com",
"www.scip-test01.com",
"www.scip-test01.es",
"www.scip-test02.com",
"www.scip-test03.com",
"www.scip-test04.es",
"www.scip-test05.es",
"www.scip-test06.com",
"www.scip-test07.com",
"www.scip-test08.com",
"www.scip-test09.com",
"www.scip-test10.com",
"www.scip-test10.es",
"www.scip-test11.com",
"www.scip-test12.com"
],
"sanMaxDomains": 18
}
}
}
Use: List all the validation email for a Certificate and his alternative methods.
Request:
POST ssl/getvalidationemails/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
commonName | Required | CommonName of the Certificate. | |
includeAlternativeMethods | Optional | true | (bool) The response includes alternative validation methods to emails. |
Response fields description:
Field | Description |
---|---|
commonName | CommonName of the Certificate. |
valMethods | List of validation methods for the Certificate validation. |
Response with includeAlternativeMethods = false
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "ssl\/getvalidationemails",
"version": "1.0.20",
"responseData": {
"commonName": "example.com",
"valMethods": [
"admin@example.com",
"administrator@example.com",
"hostmaster@example.com",
"webmaster@example.com",
"postmaster@example.com"
]
}
}
Response with includeAlternativeMethods = true
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "ssl\/getvalidationemails",
"version": "1.0.20",
"responseData": {
"commonName": "example.com",
"valMethods": [
"dns",
"http",
"https",
"admin@example.com",
"administrator@example.com",
"hostmaster@example.com",
"webmaster@example.com",
"postmaster@example.com"
]
}
}
Use: Changes validation method for a CommonName that's in status process
or reissue
.
Request:
POST ssl/changevalidationmethod/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
certificateID | Required | Certificate identifier | |
commonName | Required | Common name | |
validationMethod | Required | New Validation method |
Response fields description:
Field | Description |
---|---|
certificateID | Certificate identifier |
commonName | CommonName |
status | Certificate status |
renewable | If Certificate can be renewed |
productID | Product identifier |
tsCreate | Date of Certificate creation |
tsExpir | Date of Certificate expiration |
alternativeNames | Certificate alternative domains |
validationData | Validation related information |
validationData/dcv | Domain control validation |
validationData/organizationValidationStatus | Status of the Organization validation. Just in OV and EV Validation Types |
validationData/brandValidationStatus | Status of the Organization Brand validation. Just in OV and EV Validation Types |
validationData/message | Short description of the validation status |
validationData/externalValidation | Wherever or not the Certificate needs an external validation |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "ssl\/changevalidationmethod",
"version": "1.0.20",
"messages": [
"Operation done correctly."
],
"responseData": {
"certificateID": 135820,
"commonName": "www.example.com",
"status": "process",
"renewable": false,
"productID": 55,
"tsCreate": "",
"tsExpir": "",
"alternativeNames": [],
"validationData": {
"dcv": {
"www.example.com": {
"validated": false,
"domainName": "www.example.com",
"method": "https",
"checkvalue": {
"link": "https:\/\/www.example.com\/.well-known\/pki-validation\/6E14527A118BF6D03F4D52F9901F0D46.txt",
"file": "6E14527A118BF6D03F4D52F9901F0D46.txt",
"contents": "96a5500ed2051a7a1efa94bf90aa1ec45f78dbd349c33a05c6e8e8d0a50\ncomodoca.com\nssl135820"
}
}
},
"organizationValidationStatus": "",
"brandValidationStatus": "",
"message": "The petition is pending validation.",
"externalValidation": true
}
}
}
Use: Resends a CommonName validation email from a Certificate.
Request:
POST ssl/resendvalidationmail/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
certificateID | Required | Certificate identifier | |
commonName | Required | Common name |
Response fields description:
Field | Description |
---|---|
certificateID | Certificate identifier |
commonName | CommonName |
status | Certificate status |
renewable | If Certificate can be renewed |
productID | Product identifier |
tsCreate | Date of Certificate creation |
tsExpir | Date of Certificate expiration |
alternativeNames | Certificate alternative domains |
validationData | Validation related information |
validationData/dcv | Domain control validation |
validationData/organizationValidationStatus | Status of the Organization validation. Just in OV and EV Validation Types |
validationData/brandValidationStatus | Status of the Organization Brand validation. Just in OV and EV Validation Types |
validationData/message | Short description of the validation status |
validationData/externalValidation | Wherever or not the Certificate needs an external validation |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "ssl\/resendvalidationmail",
"version": "1.0.20",
"messages": [
"Operation done correctly."
],
"responseData": {
"certificateID": 135763,
"commonName": "www.example.com",
"status": "process",
"renewable": false,
"productID": 2,
"tsCreate": "",
"tsExpir": "",
"alternativeNames": [],
"validationData": {
"dcv": {
"www.example.com": {
"validated": false,
"domainName": "www.example.com",
"method": "mail",
"checkvalue": "admin@example.com"
}
},
"organizationValidationStatus": "",
"brandValidationStatus": "",
"message": "The petition is pending validation.",
"externalValidation": true
}
}
}
SSL Validation Type | Information |
---|---|
dv | Domain validation |
ov | Organization validation |
ev | Extended validation |
Certificate Status | Information |
---|---|
process | In process |
valid | Valid |
expired | Expired |
renew | Renovation in process |
reissue | In the process of reissue |
cancel | Canceled |
CommonName's Validation Type | Information |
---|---|
Validation via email | |
dns | Validation via dns record at the domain dns zone |
http | Validation via http protocol. An specific url must show a specific file with specific content |
https | Validation via https protocol. An specific url must show a specific file with specific content |
The user module allows the management of account's external users.
Available actions:
Action | Authentication | Description |
---|---|---|
/user/create/ | Required | Creates an external user |
/user/list/ | Required | Lists all external users on the account |
/user/getinfo | Required | Gets information about a concret user |
/user/updatestatus/ | Required | Updates user's status |
/user/updatepassword/ | Required | Updates user's password |
/user/adddomain/ | Required | Adds a domain to a user |
/user/updatedomain/ | Required | Updates domains's permissions |
/user/deletedomain/ | Required | Deletes a domain from a user |
/user/delete/ | Required | Deletes an external user |
Use: Create an external user.
Request:
POST /user/create/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
username | Required | Username of the external user | |
password | Required | Password of the external user |
Response fields description:
Field | Description |
---|---|
username | User username |
status | User status |
lastlogin | User lastLogin day |
numDomains | Domains associated to the user |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "user\/create",
"version": "1.0.20",
"messages": [
"Operation done correctly."
],
"responseData": {
"username": "test3",
"status": "enabled",
"lastLogin": "",
"numDomains": 0
}
}
Use: Lists all external users on the account.
Request:
POST /user/list/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
pageLength | Optional | 1000 | Maximum number of results |
page | Optional | 1 | Results page number |
status | Optional | External user status (See table) | |
username | Optional | Search external users by his username | |
domainName | Optional | Search external users by his domains |
Response fields description:
Field | Description |
---|---|
queryInfo | Information about the query made |
queryInfo/page | Results page number |
queryInfo/pageLength | Maximum number of results per page |
queryInfo/results | Number of results obtained |
queryInfo/total | Total number of results |
users | User information |
users/username | User username |
users/status | User status |
users/lastlogin | User lastLogin day |
users/numDomains | Domains associated to the user |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "user\/list",
"version": "1.0.20",
"responseData": {
"queryInfo": {
"page": 1,
"pageLength": 1000,
"results": 1,
"total": 1
},
"users": [
{
"username": "admin1",
"status": "enabled",
"lastLogin": "2020-05-14",
"numDomains": 4
}
]
}
}
Use: Gets information about a concret user.
Request:
POST /user/getinfo/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
username | Required | User's username |
Response fields description:
Field | Description |
---|---|
username | User username |
status | User status |
lastlogin | User lastLogin day |
numDomains | Domains associated to the user |
domains | List of domains associated to the user and his related permission |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "user\/getinfo",
"version": "1.0.20",
"responseData": {
"username": "admin1",
"status": "enabled",
"lastLogin": "2020-05-14",
"numDomains": 4,
"domains": {
"example.tv": {
"domain_ownercontacts": "write",
"domain_contacts": "write",
"domain_dns": "write",
"domain_gluerecords": "write",
"domain_dnssec": "write",
"domain_transferblock": "disabled",
"domain_authcode": "read",
"domain_others": "write",
"service_ftp": "write",
"service_subdomains": "write",
"service_redirects": "write",
"service_parking": "write",
"service_dnszone": "write",
"service_ddbb": "write",
"servicemail_accounts": "write",
"servicemail_alias": "write"
},
....
}
}
}
Use: Updates user's status.
Request:
POST /user/updatestatus/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
username | Required | User's username | |
status | Required | User status to apply (See table) |
Response fields description:
Field | Description |
---|---|
username | User username |
status | User status |
lastlogin | User lastLogin day |
numDomains | Domains associated to the user |
domains | List of domains associated to the user and his related permission |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "user\/updatestatus",
"version": "1.0.20",
"messages": [
"Operation done correctly."
],
"responseData": {
"username": "admin1",
"status": "enabled",
"lastLogin": "2020-05-14",
"numDomains": 4,
"domains": {
"example.tv": {
"domain_ownercontacts": "write",
"domain_contacts": "write",
"domain_dns": "write",
"domain_gluerecords": "write",
"domain_dnssec": "write",
"domain_transferblock": "disabled",
"domain_authcode": "read",
"domain_others": "write",
"service_ftp": "write",
"service_subdomains": "write",
"service_redirects": "write",
"service_parking": "write",
"service_dnszone": "write",
"service_ddbb": "write",
"servicemail_accounts": "write",
"servicemail_alias": "write"
},
....
}
}
}
Use: Updates user password.
Request:
POST /user/updatestatus/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
username | Required | User's username | |
password | Required | Password to apply |
Response fields description:
Field | Description |
---|---|
username | User username |
status | User status |
lastlogin | User lastLogin day |
numDomains | Domains associated to the user |
domains | List of domains associated to the user and his related permission |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "user\/updatepassword",
"version": "1.0.20",
"messages": [
"Operation done correctly."
],
"responseData": {
"username": "admin1",
"status": "enabled",
"lastLogin": "2020-05-14",
"numDomains": 4,
"domains": {
"example.tv": {
"domain_ownercontacts": "write",
"domain_contacts": "write",
"domain_dns": "write",
"domain_gluerecords": "write",
"domain_dnssec": "write",
"domain_transferblock": "disabled",
"domain_authcode": "read",
"domain_others": "write",
"service_ftp": "write",
"service_subdomains": "write",
"service_redirects": "write",
"service_parking": "write",
"service_dnszone": "write",
"service_ddbb": "write",
"servicemail_accounts": "write",
"servicemail_alias": "write"
},
....
}
}
}
Use: Adds a domain to a user.
Request:
POST /user/adddomain/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
username | Required | User's username | |
domainName | Required | Domain to add | |
[Permission]=[value] | Optional | By default the permission are created with the system default values | A permission to apply (See table) |
Example of permission parametres
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
domain_ownercontacts=read | Optional | The user would read information about domain owner's contact, but not modify it |
Response fields description:
Field | Description |
---|---|
username | string | User username |
status | string | User status |
lastlogin | string | User lastLogin day |
numDomains | string | Domains associated to the user |
domains | string | List of domains associated to the user and his related permission |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "user\/adddomain",
"version": "1.0.20",
"messages": [
"Operation done correctly."
],
"responseData": {
"username": "admin1",
"status": "enabled",
"lastLogin": "2020-05-14",
"numDomains": 3,
"domains": {
"example.tv": {
"domain_ownercontacts": "read",
"domain_contacts": "write",
"domain_dns": "write",
"domain_gluerecords": "write",
"domain_dnssec": "write",
"domain_transferblock": "disabled",
"domain_authcode": "read",
"domain_others": "write",
"service_ftp": "write",
"service_subdomains": "write",
"service_redirects": "write",
"service_parking": "write",
"service_dnszone": "write",
"service_ddbb": "write",
"servicemail_accounts": "write",
"servicemail_alias": "write"
},
....
}
}
}
Use: Updates domains's permissions.
Request:
POST /user/updatedomain/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
username | Required | User's username | |
domainName | Required | Domain to update | |
[Permission]=[value] | Optional | By default the permission are created with the system default values | A permission to apply (See table) |
Example of permission parametres
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
domain_ownercontacts=read | Optional | The user would read information about domain owner's contact, but not modify it |
Response fields description:
Field | Description |
---|---|
username | string | User username |
status | string | User status |
lastlogin | string | User lastLogin day |
numDomains | string | Domains associated to the user |
domains | string | List of domains associated to the user and his related permission |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "user\/updatedomain",
"version": "1.0.20",
"messages": [
"Operation done correctly."
],
"responseData": {
"username": "admin1",
"status": "enabled",
"lastLogin": "2020-05-14",
"numDomains": 3,
"domains": {
"example.tv": {
"domain_ownercontacts": "read",
"domain_contacts": "write",
"domain_dns": "write",
"domain_gluerecords": "write",
"domain_dnssec": "write",
"domain_transferblock": "disabled",
"domain_authcode": "read",
"domain_others": "write",
"service_ftp": "write",
"service_subdomains": "write",
"service_redirects": "write",
"service_parking": "write",
"service_dnszone": "write",
"service_ddbb": "write",
"servicemail_accounts": "write",
"servicemail_alias": "write"
},
....
}
}
}
Use: Deletes a domain from a user.
Request:
POST /user/deletedomain/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
username | Required | User's username | |
domainName | Required | Domain to be deleted |
Response fields description:
Field | Description |
---|---|
username | User username |
status | User status |
lastlogin | User lastLogin day |
numDomains | Domains associated to the user |
domains | List of domains associated to the user and his related permission |
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "user\/deletedomain",
"version": "1.0.20",
"messages": [
"Operation done correctly."
],
"responseData": {
"username": "admin1",
"status": "enabled",
"lastLogin": "2020-05-14",
"numDomains": 3,
"domains": {
"example.tv": {
"domain_ownercontacts": "write",
"domain_contacts": "write",
"domain_dns": "write",
"domain_gluerecords": "write",
"domain_dnssec": "write",
"domain_transferblock": "disabled",
"domain_authcode": "read",
"domain_others": "write",
"service_ftp": "write",
"service_subdomains": "write",
"service_redirects": "write",
"service_parking": "write",
"service_dnszone": "write",
"service_ddbb": "write",
"servicemail_accounts": "write",
"servicemail_alias": "write"
},
....
}
}
}
Use: Deletes an external user.
Request:
POST /user/delete/
Request parameters:
Name | Required | Default | Description |
---|---|---|---|
apiuser | Required | Username | |
apipasswd | Required | User password | |
username | Required | User's username |
Response fields description:
Field | Description |
---|---|
Response example:
{
"success": true,
"errorCode": 0,
"errorCodeMsg": "",
"action": "user\/delete",
"version": "1.0.20",
"messages": [
"Operation done correctly."
],
"responseData": []
}
Permission | Information |
---|---|
domain_ownercontacts | Domain owner's contact |
domain_contacts | Rest of domain contacts |
domain_dns | Domain's DNS |
domain_gluerecords | Domain's Glue Records |
domain_dnssec | Domain's DNSSEC |
domain_transferblock | Domain's transfer lock |
domain_authcode | Domain's AuthCode/EPP. It doesn't allow write |
domain_others | Other's domain options |
service_ftp | FTP service |
service_subdomains | Domain subdomains |
service_redirects | Redirects |
service_parking | Parking service management |
service_dnszone | DNS zone management |
service_ddbb | Database management |
servicemail_accounts | Email accounts management |
servicemail_alias | Mail aliases management |
Value | Information |
---|---|
disabled | Permission deactivated |
read | Only read permission |
write | Read and Write permission |
User Status | Information |
---|---|
enabled | User is enabled |
disabled | User is disabled |
The following list contains the description of the error codes you might find along with responses for requests that failed. Bear in mind that some codes are operation-specific.
Code | Definition |
---|---|
0 | Success |
1 | Undefined error |
100 | Syntax error |
101 | Syntax error: parameter fault |
102 | Invalid object/action |
103 | Not allowed object/action |
104 | Not implemented object/action |
105 | Syntax error: invalid parameter |
200 | Login required |
201 | Login invalid |
210 | Session invalid |
300 | Action not allowed |
1000 | Account blocked |
1001 | Account deleted |
1002 | Account inactive |
1003 | Account not exists |
1004 | Account invalid pass |
1005 | Account invalid pass |
1006 | Account blocked |
1007 | Account filtered |
1009 | Account invalid pass |
1010 | Account blocked |
1011 | Account blocked |
1012 | Account blocked |
1013 | Account blocked |
1014 | Account filtered |
1030 | Account banned |
1100 | Insufficient balance |
2001 | Invalid domain name |
2002 | TLD not supported |
2003 | TLD in maintenance |
2004 | Domain check error |
2005 | Domain transfer not allowed |
2006 | Domain Whois not allowed |
2007 | Domain Whois error |
2008 | Domain not found |
2009 | Domain create error |
2010 | Domain create error: taken |
2011 | Domain create error: Domain premium |
2012 | Domain transfer error |
2100 | Domain renew error |
2101 | Domain renew not allowed |
2102 | Domain renew blocked |
2200 | Domain update error |
2201 | Domain update not allowed |
2202 | Domain update blocked |
2210 | Invalid operation due to the owner contact data verification status |
3001 | Contact not exists |
3002 | Contact data error |
3003 | Invalid operation due to the contact data verification |
3500 | User not exists |
3501 | User create error |
3502 | User update error |
4001 | Service not found |
4002 | Service entity not found |
4003 | Maximum amount of entities error (FTP/Mails/etc.) |
4004 | Failure to create the entity |
4005 | Failure to update the entity |
4006 | Failure to delete the entity |
4007 | Failure to create the service |
4008 | Failure to upgrade the service |
4009 | Failure to renew the service |
4010 | Failure to motify the parking system |
5000 | SSL Error |
5001 | SSL Not Found |
10001 | WebConstructor Error |
You can check the country code table (in ISO 3166-1 alfa-2 format) in Country Codes.
You can check the organization type table for contacts registered in ES (Spain) in Spanish Organization Types.
Remember that you can download our complete SDK for PHP from our Github repository.
<?php
define('DD_API_USER', 'xxxxxx');
define('DD_API_PASSWD', 'yyyyyyy');
define('DD_API_URL', 'https://simple-api.dondominio.net');
define('DD_API_PORT', 443);
function DDAPI_Query($query, $data = [])
{
$formData = array_merge([
'apiuser' => DD_API_USER,
'apipasswd' => DD_API_PASSWD,
], is_array($data) ? $data : []);
$url = DD_API_URL.'/'.trim($query, '/').'/';
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_PORT, DD_API_PORT);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $formData);
$response = curl_exec($ch);
curl_close($ch);
if (strlen($response) && ($responseObject = @json_decode($response))) {
return $responseObject;
}
return false;
}
$response = DDAPI_Query('/tool/idnconverter/', ['query' => 'España']);
// print_r( $response );
if ($response) {
echo 'SUCCESS: '.($response->success ? 'YES' : 'NO')."\n";
if ($response->success) {
echo 'PunyCode: '.$response->responseData->punycode."\n";
}
}
#!/usr/bin/python
# -*- coding: utf-8 -*-
import requests, json
api_url = "https://simple-api.dondominio.net"
api_user = "XXXXXXX"
api_pass = "YYYYYYY"
api_port = "443"
def ddapi_query(query, data={}):
data.update({"apiuser": api_user, "apipasswd": api_pass})
try:
url = api_url + ":" + api_port + "/" + query.strip("/") + "/"
return requests.post(url, data, verify=True).json()
except requests.exceptions.RequestException as e:
print str(e)
return None
if __name__ == "__main__":
response = ddapi_query("/tool/idnconverter/", {"query": "España"})
if isinstance(response, dict):
print "SUCCESS: " + "YES" if response["success"] else "NO"
if response["success"]:
print "PunyCode: " + response["responseData"]["punycode"]
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.HashMap;
import org.apache.http.HttpEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.mime.MultipartEntityBuilder;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
public class DDClientExample {
private static final String API_URL = "https://simple-api.dondominio.net";
private static final String API_USER = "xxxxxx";
private static final String API_PASS = "yyyyyy";
private static final String API_PORT = "443";
public static JSONObject ddapiQuery(
String query,
HashMap<String,
String> data) throws Exception {
JSONObject result = null;
CloseableHttpClient httpclient = HttpClients.createDefault();
try {
MultipartEntityBuilder entity = MultipartEntityBuilder.create();
entity.addTextBody("apiuser", API_USER).
addTextBody("apipasswd", API_PASS);
for (String key : data.keySet()) {
entity.addBinaryBody(key, data.get(key).getBytes("UTF-8"));
}
HttpEntity post = entity.build();
HttpPost httppost = new HttpPost(API_URL + ":" + API_PORT + query);
httppost.setEntity(post);
CloseableHttpResponse response = httpclient.execute(httppost);
try {
BufferedReader rd = new BufferedReader(
new InputStreamReader(response.getEntity().getContent())
);
StringBuffer buffer = new StringBuffer();
String line = "";
while ((line = rd.readLine()) != null) {
buffer.append(line);
}
result = (JSONObject) new JSONParser().parse(buffer.toString());
} finally {
response.close();
}
} finally {
httpclient.close();
}
return result;
}
public static void main(String[] args) {
try {
HashMap<String, String> data = new HashMap<String, String>();
data.put("query", "España");
JSONObject result = ddapiQuery("/tool/idnconverter/", data);
if (!(boolean) result.get("success")) {
throw new Exception("SUCCESS: NO");
}
JSONObject responseData = (JSONObject) new JSONParser().parse(
result.get("responseData").toString()
);
System.out.println("SUCCESS: YES");
System.out.println("PunyCode: " + responseData.get("punycode"));
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
}
#!/usr/bin/perl
use strict;
use warnings;
use LWP;
use JSON;
my $api_url = "https://simple-api.dondominio.net";
my $api_port = "443";
my $api_user = "XXXXXXX";
my $api_pass = "YYYYYYY";
sub ddapi_query {
my $query = shift;
my $data = shift;
$data->{ "apiuser" } = $api_user;
$data->{ "apipasswd" } = $api_pass;
my $browser = LWP::UserAgent->new;
my $request = $browser->post(
$api_url.':'.$api_port.$query,
$data
);
if (!$request->is_success) {
return 0;
}
print $request->content;
return JSON->new->utf8->decode($request->content);
}
# Query Example:
my $queryData = { query => 'España' };
my $response = ddapi_query("/tool/idnconverter/", $queryData );
if (!$response || !$response->{'success'}) {
die "SUCCESS: NO\n";
}
print "SUCCESS: SI\n";
print 'PunyCode: ' . $response->{'responseData'}->{'punycode'} . "\n";
exit 0
#!/bin/bash
URI="https://simple-api.dondominio.net"
Credentials="&apiuser=XXXXXX&apipasswd=YYYYYY";
function DDAPI_Query
{
query="$1";
postdata="${Credentials}${2}";
/usr/bin/wget -q -O - --post-data="$postdata" "${URI}${query}"
}
response=$(DDAPI_Query "/tool/idnconverter/" "query=españa.com");
echo $response;
exit 0;
Read the complete changelog in ChangeLog.