MrDomain's API

    MrDomain's API

    API User Manual
    Version 1.0.12 - 29/05/2018
    MrDomain

    1 General concepts

    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.

    1.1 Getting started

    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.

    1.2 API Intended use

    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.

    1.3 Limits

    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.

    2 Simple-POST Interface

    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).

    2.1 Information needed for the connection

    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&param2=value2

    Response example:

    {
        "success": true,
        "errorCode": 0,
        "errorCodeMsg": "",
        "action": "tool\/hello",
        "version": "1.0.12",
        "responseData": {
            "ip": "127.0.0.1",
            "lang": "en",
            "version": "1.0.12"
        }
    }

    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.12",
        "messages": [
            "invalid object\/action"
        ],
        "responseData": []
    }

    2.2 Credentials

    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

    2.3 Common parameters and output formats

    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.12","responseData":{"ip":"37.152.93.46","lang":"en","version":"1.0.12"}}

    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.12</version><responseData><ip>37.152.93.46</ip><lang>en</lang><version>1.0.12</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.12</version>
      <responseData>
        <ip>37.152.93.46</ip>
        <lang>en</lang>
        <version>[#VERSION]</version>
      </responseData>
    </data>

    2.4 Available modules

    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

    3 Module: Tool

    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/csrdecode/ Required Decode a CSR
    /tool/dig/ Required DIG (Domain Information Groper) - DNS server checking tool
    /tool/zonecheck/ Required Check TLD requisites for a domain

    3.1 Hello ( tool/hello/ )

    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.12",
        "responseData": {
            "ip": "127.0.0.1",
            "lang": "en",
            "version": "1.0.12"
        }
    }

    3.2 IDN Converter ( tool/idnconverter/ )

    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.12",
        "responseData": {
            "query": "espa\u00f1a.com", /* españa.com */
            "unicode": "espa\u00f1a.com",
            "punycode": "xn--espaa-rta.com"
        }
    }

    3.3 Domain Suggests ( tool/domainsuggests/ )

    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,tv,es TLDs to check for suggestions. Comma separated.
    Available TLDs: com,net,tv,cc,es,org,info,biz,eu

    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.12",
        "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
                }
                    /*,...*/
        }
    }

    3.4 Get Table ( tool/gettable/ )

    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.12",
        "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.12",
        "responseData": {
            "items": [
                {
                    "code": "39",
                    "name": "Agrupaci\u00f3n de Inter\u00e9s Econ\u00f3mico"
                },
                {
                    "code": "47",
                    "name": "Asociaci\u00f3n"
                },
                {
                    "code": "59",
                    "name": "Asocicaci\u00f3n Deportiva"
                }
                /*
                ,{ ....  }
                */
                ]
        }
    }

    3.5 CSR Decode ( tool/csrdecode/ )

    Use: Decode parameters from a CSR.

    Request:

    POST /tool/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 code provided

    Response example:

    {
        "success": true,
        "errorCode": 0,
        "errorCodeMsg": "",
        "action": "tool\/csrdecode",
        "version": "1.0.12",
        "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"
        }
    
    }

    3.6 DIG ( tool/dig/ )

    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, SPF
    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.12",
        "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"
    
        }
    }

    3.7 ZoneCheck( tool/zonecheck/ )

    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.12",
        "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"
            }
        }
    }

    4 Module: Account

    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/zones/ Required Retrieves information from the zones/TLDs

    4.1 Info ( account/info/ )

    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.12",
        "responseData": {
            "clientName": "clientX",
            "apiuser": "YOURAPIUSER",
            "balance": 124.0,
            "threshold": 30.0,
            "currency": "EUR",
            "ip": "127.0.0.1"
        }
    }

    4.2 Zones ( account/zones/ )

    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
    queryInfo/page Results page number
    queryInfo/pageLength Maximum results per page
    queryInfo/results Results retrieved
    queryInfo/total Total results available
    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/renew If present, zone/TLD allows domain renewals
    zones/renew/price Cost of domain renewal
    zones/renew/years Allowed years/periods for renewals
    zones/transfer If present, zone/TLD allows domain transfers
    zones/transfer/price Cost of domain transfer
    zones/transfer/years Allowed years/periods for transfers

    Response example:

    {
        "success": true,
        "errorCode": 0,
        "errorCodeMsg": "",
        "action": "account\/zones",
        "version": "1.0.12",
        "responseData": {
            "queryInfo": {
                "page": 1,
                "pageLength": 100,
                "results": 1,
                "total": 1
            },
            "zones": [
                {
                    "tld": "com",
                    "tldtop": "com",
                    "authcodereq": true,
                    "create": {
                        "price": 9.95,
                        "years": "1,2,3,4,5,6,7,8,9,10"
                    },
                    "renew": {
                        "price": 9.95,
                        "years": "1,2,3,4,5,6,7,8,9,10"
                    },
                    "transfer": {
                        "price": 9.95,
                        "years": "1"
                    }
                }
            ]
        }
    }

    5 Module: Domain

    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/renew Required Renew a domain
    domain/whois Required Check the public whois for a domain
    domain/dnsseccreate Required Add a DNSSEC entry
    domain/dnssecdelete Required Remove a DNSSEC entry
    domain/resendverificationmail/ Required Resend the verification email for owner contact data
    domain/resendfoamail Required Resend the FOA authorization email to the owner contact
    domain/resetfoa Required Reset the domain authorization process

    5.1 Check ( domain/check/ )

    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.12",
        "responseData": {
            "domains": [
                {
                    "name": "exampledomain-001.com",
                    "punycode": "exampledomain-001.com",
                    "tld": "com",
                    "available": true,
                    "premium": false,
                    "price": 9.95,
                    "currency": "EUR"
                }
            ]
        }
    }

    5.2 Check For Transfer ( domain/checkfortransfer/ )

    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.12",
        "responseData": {
            "domains": [
                {
                    "name": "example01.com",
                    "punycode": "example01.com",
                    "tld": "com",
                    "transferavail": true,
                    "transfermsg": [],
                    "price": 9.95,
                    "currency": "EUR"
                }
            ]
        }
    }

    5.3 Create ( domain/create/ )

    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 assigned
    If 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.

    5.3.1 Providing contact data

    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| |Email| |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.

    5.3.2 Response

    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

    Response example:

    {
        "success": true,
        "errorCode": 0,
        "errorCodeMsg": "",
        "action": "domain\/create",
        "version": "1.0.12",
        "responseData": {
            "billing": {
                "total": 12.04,
                "currency": "EUR"
            },
            "domains": [
                {
                    "name": "myexample.com",
                    "status": "register-init",
                    "tld": "com",
                    "tsExpir": "",
                    "domainID": 45762358,
                    "period": 1
                }
            ]
        }
    }

    5.3.3 TLD-specific parameters

    .aero domains

    Request parameters:

    Name Required Default Description

    |aeroId |Required| |ENS Identifier. More information available on ENS Aero ID| |aeroPass |Required| |ENS Password|

    .barcelona, .cat, .pl, .scot, .eus, .gal, .quebec. .radio domains

    Request parameters:

    Name Required Default Description

    |domainIntendedUse |Required| |Indended use for the domain|

    .ee domains

    Request parameters:

    Name Required Default Description

    |ownerDateOfBirth |Required
    if ownerContactType = individual| |Date of birth of the owner contact|

    .fi domains

    Request parameters:

    Name Required Default Description

    |ownerDateOfBirth |Required
    if ownerContactType = individual| |Date of birth of the owner contact|

    .fr, .re, .yt, .pm, .wf, .tf domains

    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|

    .hk domains

    Request parameters:

    Name Required Default Description

    |ownerDateOfBirth |Required
    if ownerContactType = individual| |Date of birth of the owner contact|

    .law, .abogado domains

    Request parameters:

    Name Required Default Description

    |lawaccid |Required| |Accreditation number of the person soliciting the domain| |lawaccbody |Required| |Official name of the accreditation body| |lawaccyear |Required| |Year of accreditation| |lawaccjurcc |Required| |Country of accreditation| |lawaccjurst |Required| |State/Province of accreditation|

    .jobs domains

    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 tipe| |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|

    .lawyer, .attorney, .dentist, .airforce, .army, .navy domains

    Request parameters:

    Name Required Default Description

    |coreContactInfo |Required| |Contact information of competent bodies for complain and abuse notification|

    .ltda domains

    Request parameters:

    Name Required Default Description

    |ltdaAuthority |Optional| |Authority who certifies the owner's profession| |ltdaLicenseNumber |Optional| |Owner's licenser number|

    .moscow domains

    Request parameters:

    Name Required Default Description

    |ownerDateOfBirth |Required
    if ownerContactType = individual| |Date of birth of the owner contact|

    .my domains

    Request parameters:

    Name Required Default Description

    |ownerDateOfBirth |Required
    if ownerContactType = individual| |Date of birth of the owner contact|

    .ru domains

    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|

    .vndomains

    Request parameters:

    Name Required Default Description

    |ownerDateOfBirth |Required
    if ownerContactType = individual| |Date of birth of the owner contact|

    .xxx domains

    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)|

    5.4 Transfer ( domain/transfer/ )

    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 assigned
    If keepns, current nameservers will be preserved
    Otherwise, 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
    foacontact Optional owner Contact used to send the FOA email (Available values: owner or admin )
    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

    Response example:

    {
        "success": true,
        "errorCode": 0,
        "errorCodeMsg": "",
        "action": "domain\/create",
        "version": "1.0.12",
        "responseData": {
            "billing": {
                "total": 12.04,
                "currency": "EUR"
            },
            "domains": [
                {
                    "name": "myexample.com",
                    "status": "register-init",
                    "tld": "com",
                    "tsExpir": "",
                    "domainID": 45762358,
                    "period": 1
                }
            ]
        }
    }

    5.4.1 TLD-specific parameters

    .jobs domains

    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 tipe| |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|

    Dominios .ru

    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|

    5.5 Transfer Restart ( domain/transferrestart )

    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
    foacontact Optional owner Contact used to send the FOA email (Available values: owner or admin )

    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.12",
        "messages": [
            "Operation done correctly."
        ],
        "responseData": {
            "name": "example-domain.tv",
            "status": "active",
            "tld": "tv",
            "tsExpir": "2015-05-14",
            "domainID": 60523498
        }
    }

    5.6 Update ( domain/update/ )

    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 service
    Otherwise, 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.12",
        "messages": [
            "Operation done correctly."
        ],
        "responseData": {
            "name": "example-domain.tv",
            "status": "active",
            "tld": "tv",
            "tsExpir": "2015-05-14",
            "domainID": 60523498
        }
    }

    5.7 Update NameServers ( domain/updatenameservers/ )

    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 service
    Otherwise, 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.12",
        "responseData": {
            "name": "example-domain.tv",
            "status": "active",
            "tld": "tv",
            "tsExpir": "2015-05-14",
            "domainID": 60523498
        }
    }

    5.8 Update Contacts ( domain/updatecontacts/ )

    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.12",
        "responseData": {
            "name": "example-domain.tv",
            "status": "active",
            "tld": "tv",
            "tsExpir": "2015-05-14",
            "domainID": 60523498
        }
    }

    5.9 GlueRecord Create ( domain/gluerecordcreate/ )

    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.12",
        "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",
                }
            ]
    
        }
    }

    5.10 GlueRecord Update ( domain/gluerecordupdate/ )

    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.12",
        "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",
                }
            ]
    
        }
    }

    5.11 GlueRecord Delete ( domain/gluerecorddelete/ )

    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.12",
        "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",
                }
            ]
    
        }
    }

    5.12 List ( domain/list/ )

    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 Opcional 1000 Maximum number of results
    page Opcional 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 response
    satus: 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

    Response fields description:

    Field Description
    queryInfo Information about the query
    queryInfo/page Results page number
    queryInfo/pageLength Maximum results per page
    queryInfo/results Results retrieved
    queryInfo/total Total results available
    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.12",
        "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
                }
                /*
                ,{ ....  }
                */
            ]
        }
    }

    5.13 Get Info ( domain/getinfo/ )

    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.12",
        "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.12",
        "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.12",
        "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.12",
        "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.12",
        "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.12",
        "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.12",
        "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=="
                        }
                  ]
              }
    
        }
    }

    5.14 Get AuthCode ( /domain/getauthcode/ )

    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.12",
        "responseData": {
            "name": "example-domain.tv",
            "status": "active",
            "tld": "tv",
            "tsExpir": "2015-05-14",
            "domainID": 60523498,
            "authcode": "9523as&'asd1wAd"
        }
    }

    5.15 Get NameServers ( /domain/getnameservers/ )

    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.12",
        "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"
                }
            ]
        }
    }

    5.16 Get GlueRecords ( /domain/getgluerecords/ )

    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.12",
        "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",
                }
            ]
    
        }
    }

    5.17 Get DNSSEC ( /domain/getdnssec / )

    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.12",
        "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=="
                        }
                  ]
              }
    
        }
    }

    5.18 Renew ( domain/renew/ )

    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

    Response example:

    {
        "success": true,
        "errorCode": 0,
        "errorCodeMsg": "",
        "action": "domain\/renew",
        "version": "1.0.12",
        "responseData": {
            "billing": {
                "total": 53.25,
                "currency": "EUR"
            },
            "domains": [
                {
                    "name": "example-domain.tel",
                    "status": "renewed",
                    "tld": "tel",
                    "domainID": 153508,
                    "tsExpir": "2015-05-17",
                    "renewPeriod": "4"
                }
            ]
        }
    }
    

    5.19 Whois ( domain/whois/ )

    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.12",
        "responseData": {
            "domain": "example1.com",
            "whoisData": "Domain Name: EXAMPLE1.COM\nRegistry Domain ID... whois data..."
        }
    }

    5.20 DNSSEC Create ( domain/dnsseccreate/ )

    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.12",
        "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=="
                        }
                  ]
        }
    }

    5.21 DNSSEC Delete ( domain/dnssecdelete/ )

    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
    name Required Name of the DNS server associated with the domain
    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
    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/entires/digest Digest for the DNSSEC entry

    Response example:

    {
        "success": true,
        "errorCode": 0,
        "errorCodeMsg": "",
        "action": "domain\/dnssecdelete",
        "version": "1.0.12",
        "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=="
                        }
                  ]
        }
    }

    5.22 Resend Verification Mail ( domain/resendverificationmail )

    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.12",
        "messages": [
            "Operation done correctly."
        ],
        "responseData": {
            "name": "example-domain.tv",
            "status": "active",
            "tld": "tv",
            "tsExpir": "2015-05-14",
            "domainID": 60523498
        }
    }

    5.23 Resend FOA Mail ( domain/resendfoamail )

    Use: Resend the FOA authorization email to the owner contact

    Request:

    POST /domain/resendfoamail/

    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\/resendfoamail",
        "version": "1.0.12",
        "messages": [
            "Operation done correctly."
        ],
        "responseData": {
            "name": "example-domain.tv",
            "status": "active",
            "tld": "tv",
            "tsExpir": "2015-05-14",
            "domainID": 60523498
        }
    }

    5.24 Reset FOA ( domain/resetfoa )

    Use: Restart the domain authorization process (only for domains with transfer in process)

    Request:

    POST /domain/resetfoa/

    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\/resetfoa",
        "version": "1.0.12",
        "messages": [
            "Operation done correctly."
        ],
        "responseData": {
            "name": "example-domain.tv",
            "status": "transfer-init",
            "tld": "tv",
            "tsExpir": "2015-05-14",
            "domainID": 60523498
        }
    }

    5.25 Domain Related tables

    5.25.1 Domain Status

    Status Definition
    register-init Registration not started
    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)

    5.25.2 Transfer Status

    Status Definción
    init Transfer not initiated
    queued Pending aprovation by registry
    set-auth Authcode transmitted
    pending-auth Authcode pending
    pending-foa FOA pending
    pending-tag Tag pending (.UK)
    pending-registry Pending more data by the registry
    cancelled Cancelled
    completed Completed

    5.25.3 Renovation types

    Keyword Definition
    autorenew Automatic renewal
    manual Manual renewal
    letexpire Leave it to expire

    5.25.4 Contact Response

    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
    email Email
    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"
          }
    }

    5.25.5 Nameserver Reponse

    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"
                }
          ]
    }

    5.25.6 Domain Owner Contact Verification Status

    Status Definition
    verified Verified
    notapplicable Not allowed or not needed
    inprocess Verification in process
    failed Verification failed or expired

    5.25.7 Contact Verification Status

    Status Definition
    verified Verified
    notapplicable Not allowed or not needed
    inprocess Verification in process
    failed Verification failed or expired

    6 Module: Contact

    The contact module allows access to different options available for domain contacts (list, search, retrieve details, etc).

    Available actions:

    Action Authentication Description
    /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

    6.1 List ( contact/list/ )

    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 Opcional 1000 Maximum number of results
    page Opcional 1 Results page number
    name Optional String to search by name/organization
    email 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
    queryInfo/page Results page number
    queryInfo/pageLength Maximum results per page
    queryInfo/results Results retrieved
    queryInfo/total Total results available
    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 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.12",
        "responseData": {
            "queryInfo": {
                "page": 1,
                "pageLength": 1000,
                "results": 14,
                "total": 14
            },
            "contacts": [
                {
                    "contactID": "CTS-378084",
                    "contactType": "organization",
                    "contactName": "Clark Tech S.L",
                    "identNumber": "XSS2342342-3",
                    "email": "tech-email@example.com",
                    "country": "ES",
    +                    "verificationstatus": "verified",
    +                    "daaccepted": true
                },
                {
                    "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
                }
                /*
                ,{ ....  }
                */
                ]
        }
    }

    6.2 Get Info ( contact/getinfo/ )

    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.12",
        "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
        }
    }

    6.3 Resend Verification Mail ( contact/resendverificationmail )

    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)
    email Email
    country Country code (View table)
    verificationstatus Contact data verification status (View related table)
    {
        "success": true,
        "errorCode": 0,
        "errorCodeMsg": "",
        "action": "contact\/resendverificationmail",
        "version": "1.0.12",
        "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"
        }
    }

    7 Module: Service

    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

    7.1 List ( service/list/ )

    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 Opcional 1000 Maximum number of results
    page Opcional 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.12",
        "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"
                }
                /*
                ,{ ....  }
                */
            ]
        }
    }

    7.2  Get Info ( service/getinfo/ )

    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

    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/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 = 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

    Example for infotype = status

    Response example:

    {
        "success": true,
        "errorCode": 0,
        "errorCodeMsg": "",
        "action": "service\/getinfo",
        "version": "1.0.12",
        "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.12",
        "responseData": {
            "name": "example-test01.com",
            "type": "Basic Hosting Service",
            "status": "active",
            "tsExpir": "2015-12-10",
            "resources": {
                "ftpusage": {
                    "value": 11534336,
                    "max": 1038336000,
                    "unit": "bytes"
                },
                "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": ""
                }
            }
        }
    }
    

    Example for infoType = serverinfo

    Response example:

    {
        "success": true,
        "errorCode": 0,
        "errorCodeMsg": "",
        "action": "service\/getinfo",
        "version": "1.0.12",
        "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"
            }
        }
    }

    7.3 Create ( service/create/ )

    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.12",
        "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"
                }
              ]
        }
    }

    7.4 Renew ( service/renew/ )

    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.12",
        "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"
                }
              ]
        }
    }

    7.5 Upgrade ( service/upgrade/ )

    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.12",
        "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"
                }
              ]
        }
    }

    7.6 Update ( service/update/ )

    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: Change the renewal type
    updateType = renewalMode
    renewalMode Required Renewal type ( Check table )

    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

    Response example:

    {
        "success": true,
        "errorCode": 0,
        "errorCodeMsg": "",
        "action": "service\/update",
        "version": "1.0.12",
        "messages": [
            "Operation done correctly."
        ],
        "responseData": {
            "name": "example-test01.com",
            "type": "Basic Hosting Service",
            "productkey": "basic",
            "status": "active",
            "tsExpir": "2015-12-10"
        }
    }

    7.7 Parking Get Info ( service/parkinggetinfo/ )

    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.12",
        "responseData": {
            "parking": {
                "enabled": false
            }
        }
    }

    7.8 Parking Update ( service/parkingupdate/ )

    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.12",
        "messages": [
            "Operation done correctly."
        ],
        "responseData": {
            "parking": {
                "enabled": false
            }
        }
    }

    7.9 WebConstructor Login ( service/webconstructorlogin/ )

    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.12",
        "messages": [
            "Operation done correctly."
        ],
        "responseData": {
            "webconstructor": {
                "loginURL": "http:\/\/editor.webconstructor.site\/en\/?login_hash=XXXXXXXXXXX"
            }
        }
    }

    7.10 FTP List ( service/ftplist/ )

    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 Opcional 1000 Maximum number of results
    page Opcional 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.12",
        "responseData": {
            "queryInfo": {
                "page": 1,
                "pageLength": 1000,
                "results": 2,
                "total": 2
            },
            "ftp": [
                {
                    "entityID": "SRV0000214277-000396072",
                    "name": "ftp.example-2525.com",
                    "ftpPath": "\/",
                    "password": "caWh678JtG3Bf",
                    "quota": 48576000
                }
                /*
                ,{ ....  }
                */
            ]
        }
    }

    7.11 FTP Get Info ( service/ftpgetinfo/ )

    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.12",
        "responseData": {
            "ftp": [
                {
                    "entityID": "SRV0000214277-000396072",
                    "name": "ftp.example-2525.com",
                    "ftpPath": "\/",
                    "password": "caWh678JtG3Bf",
                    "quota": 48576000
                }
            ]
        }
    }

    7.12 FTP Create ( service/ftpcreate/ )

    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
    quota Required Quota for the FTP account, in bytes ( Min: 1048576 bytes / 1 MByte )

    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.12",
        "messages": [
            "Operation done correctly."
        ],
        "responseData": {
            "ftp": [
                {
                    "entityID": "SRV0000214277-000396072",
                    "name": "ftp.example-2525.com",
                    "ftpPath": "\/",
                    "password": "caWh678JtG3Bf",
                    "quota": 48576000
                }
            ]
        }
    }

    7.13 FTP Update ( service/ftpupdate/ )

    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
    quota Required Quota of the FTP account, in bytes ( Min: 1048576 bytes / 1 MByte )

    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.12",
        "messages": [
            "Operation done correctly."
        ],
        "responseData": {
            "ftp": [
                {
                    "entityID": "SRV0000214277-000396072",
                    "name": "ftp.example-2525.com",
                    "ftpPath": "\/",
                    "password": "caWh678JtG3Bf",
                    "quota": 48576000
                }
            ]
        }
    }

    7.14 FTP Delete ( service/ftpdelete/ )

    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.12",
        "messages": [
            "Operation done correctly."
        ],
        "responseData": {
        }
    }

    7.15 DataBase List ( service/ddbblist/ )

    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 Opcional 1000 Maximum number of results
    page Opcional 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.12",
        "responseData": {
            "queryInfo": {
                "page": 1,
                "pageLength": 1000,
                "results": 1,
                "total": 1
            },
            "ddbb": [
                {
                    "entityID": "SRV0000214277-000396074",
                    "name": "ddb244864",
                    "user": "ddb244864",
                    "password": "NMXXXXYYkDV53"
                }
                /*
                ,{ ....  }
                */
            ]
        }
    }

    7.16 DataBase Get Info ( service/ddbbgetinfo/ )

    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.12",
        "responseData": {
            "ddbb": [
                {
                    "entityID": "SRV0000214277-000396074",
                    "name": "ddb244864",
                    "user": "ddb244864",
                    "password": "NMXXXXYYkDV53",
                    "externalAccess": false
                }
            ]
        }
    }

    7.17 DataBase Create ( service/ddbbcreate/ )

    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.12",
        "messages": [
            "Operation done correctly."
        ],
        "responseData": {
            "ddbb": [
                {
                    "entityID": "SRV0000214277-000396074",
                    "name": "ddb244864",
                    "user": "ddb244864",
                    "password": "NMXXXXYYkDV53",
                    "externalAccess": false
                }
            ]
        }
    }

    7.18 DataBase Update ( service/ddbbupdate/ )

    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.12",
        "messages": [
            "Operation done correctly."
        ],
        "responseData": {
            "ddbb": [
                {
                    "entityID": "SRV0000214277-000396074",
                    "name": "ddb244864",
                    "user": "ddb244864",
                    "password": "NMXXXXYYkDV53",
                    "externalAccess": false
                }
            ]
        }
    }

    7.19 DataBase Delete ( service/ddbbdelete/ )

    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.12",
        "messages": [
            "Operation done correctly."
        ],
        "responseData": {
        }
    }

    7.20 Subdomain List ( service/subdomainlist/ )

    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 Opcional 1000 Maximum number of results
    page Opcional 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

    Response example:

    {
        "success": true,
        "errorCode": 0,
        "errorCodeMsg": "",
        "action": "service\/subdomainlist",
        "version": "1.0.12",
        "responseData": {
            "queryInfo": {
                "page": 1,
                "pageLength": 1000,
                "results": 2,
                "total": 2
            },
            "subdomain": [
                {
                    "name": "test.example-test01.com",
                    "ftpPath": "public-test\/"
                },
                {
                    "name": "www.example-test01.com",
                    "ftpPath": "public\/"
                }
                /*
                ,{ ....  }
                */
            ]
        }
    }

    7.21 Subdomain Get Info ( service/subdomaingetinfo/ )

    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.12",
        "responseData": {
            "subdomain": [
                {
                    "entityID": "SRV0000214277-000396072",
                    "name": "test.example-test01.com",
                    "ftpPath": "public-test\/"
                }
            ]
        }
    }

    7.22 Subdomain Create ( service/subdomaincreate/ )

    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

    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\/subdomaincreate",
        "version": "1.0.12",
        "messages": [
            "Operation done correctly."
        ],
        "responseData": {
            "subdomain": [
                {
                    "entityID": "SRV0000214277-000396072",
                    "name": "test.example-test01.com",
                    "ftpPath": "public-test\/"
                }
            ]
        }
    }

    7.23 Subdomain Update ( service/subdomainupdate/ )

    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

    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\/subdomainupdate",
        "version": "1.0.12",
        "messages": [
            "Operation done correctly."
        ],
        "responseData": {
            "subdomain": [
                {
                    "entityID": "SRV0000214277-000396072",
                    "name": "test.example-test01.com",
                    "ftpPath": "public-test\/"
                }
            ]
        }
    }

    7.24 Subdomain Delete ( service/subdomaindelete/ )

    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.12",
        "messages": [
            "Operation done correctly."
        ],
        "responseData": {
        }
    }

    7.25 Redirect List ( service/redirectlist/ )

    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 Opcional 1000 Maximum number of results
    page Opcional 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.12",
        "responseData": {
            "queryInfo": {
                "page": 1,
                "pageLength": 1000,
                "results": 1,
                "total": 1
            },
            "redirect": [
                {
                    "origin": "http:\/\/www.example-test02.net\/test1\/",
                    "destination": "http:\/\/example.com",
                    "type": "301"
                }
                /*
                ,{ ....  }
                */
            ]
        }
    }

    7.26 Redirect Get Info ( service/redirectgetinfo/ )

    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.12",
        "responseData": {
            "redirect": [
                {
                    "entityID": "SRV0000214277-000396072",
                    "origin": "http:\/\/www.example-test02.net\/test1\/",
                    "destination": "http:\/\/example.com",
                    "type": "301"
                }
            ]
        }
    }

    7.27 Redirect Create ( service/redirectcreate/ )

    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.12",
        "messages": [
            "Operation done correctly."
        ],
        "responseData": {
            "redirect": [
                {
                    "entityID": "SRV0000214277-000396072",
                    "origin": "http:\/\/www.example-test02.net\/test1\/",
                    "destination": "http:\/\/example.com",
                    "type": "301"
                }
            ]
        }
    }

    7.28 Redirect Update ( service/redirectupdate/ )

    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.12",
        "messages": [
            "Operation done correctly."
        ],
        "responseData": {
            "redirect": [
                {
                    "entityID": "SRV0000214277-000396072",
                    "origin": "http:\/\/www.example-test02.net\/test1\/",
                    "destination": "http:\/\/example.com",
                    "type": "301"
                }
            ]
        }
    }

    7.29 Redirect Delete ( service/redirectdelete/ )

    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.12",
        "messages": [
            "Operation done correctly."
        ],
        "responseData": {
        }
    }

    7.30 Mail List ( service/maillist/ )

    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 Opcional 1000 Maximum number of results
    page Opcional 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
    mails/name Name of the email account
    mails/password Password

    Response example:

    {
        "success": true,
        "errorCode": 0,
        "errorCodeMsg": "",
        "action": "service\/maillist",
        "version": "1.0.12",
        "responseData": {
            "queryInfo": {
                "page": 1,
                "pageLength": 1000,
                "results": 2,
                "total": 2
            },
            "mail": [
                {
                    "name": "hola@example123.com",
                    "password": "############"
                },
                {
                    "name": "test2@example123.com",
                    "password": "############"
                }
    
                /*
                ,{ ....  }
                */
            ]
        }
    }

    7.31 Mail Get Info ( service/mailgetinfo/ )

    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

    Response example:

    {
        "success": true,
        "errorCode": 0,
        "errorCodeMsg": "",
        "action": "service\/mailgetinfo",
        "version": "1.0.12",
        "responseData": {
            "mail": [
                {
                    "entityID": "SRV0000214277-000396072",
                    "name": "hola@example123.com",
                    "password": "############"
                }
            ]
        }
    }

    7.32 Mail Create ( service/mailcreate/ )

    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

    Response example:

    {
        "success": true,
        "errorCode": 0,
        "errorCodeMsg": "",
        "action": "service\/mailcreate",
        "version": "1.0.12",
        "messages": [
            "Operation done correctly."
        ],
        "responseData": {
            "mail": [
                {
                    "entityID": "SRV0000214277-000396072",
                    "name": "hola@example123.com",
                    "password": "############"
                }
            ]
        }
    }

    7.33 Mail Update ( service/mailupdate/ )

    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

    Response example:

    {
        "success": true,
        "errorCode": 0,
        "errorCodeMsg": "",
        "action": "service\/mailupdate",
        "version": "1.0.12",
        "messages": [
            "Operation done correctly."
        ],
        "responseData": {
            "mail": [
                {
                    "entityID": "SRV0000214277-000396072",
                    "name": "hola@example123.com",
                    "password": "############"
                }
            ]
        }
    }

    7.34 Mail Delete ( service/maildelete/ )

    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.12",
        "messages": [
            "Operation done correctly."
        ],
        "responseData": {
        }
    }

    7.35 Mail Alias List ( service/mailaliaslist/ )

    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 Opcional 1000 Maximum number of results
    page Opcional 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.12",
        "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"
                    ]
                }
                /*
                ,{ ....  }
                */
            ]
        }
    }

    7.36 Mail Alias Get Info ( service/mailaliasgetinfo/ )

    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.12",
        "responseData": {
            "mailalias": [
                {
                    "entityID": "SRV0000214277-000396072",
                    "name": "test2@example123.com",
                    "target": [
                        "info@g123mail.com",
                        "asdf@foo.com"
                    ]
                }
            ]
        }
    }

    7.37 Mail Alias Create ( service/mailaliascreate/ )

    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.12",
        "messages": [
            "Operation done correctly."
        ],
        "responseData": {
            "mailalias": [
                {
                    "entityID": "SRV0000214277-000396072",
                    "name": "test2@example123.com",
                    "target": [
                        "info@g123mail.com",
                        "asdf@foo.com"
                    ]
                }
            ]
        }
    }

    7.38 Mail Alias Update ( service/mailaliasupdate/ )

    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.12",
        "messages": [
            "Operation done correctly."
        ],
        "responseData": {
            "mailalias": [
                {
                    "entityID": "SRV0000214277-000396072",
                    "name": "test2@example123.com",
                    "target": [
                        "info@g123mail.com",
                        "test@g123mail.com",
                        "asdf@foo.com"
                    ]
                }
            ]
        }
    }

    7.39 Mail Alias Delete ( service/mailaliasdelete/ )

    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.12",
        "messages": [
            "Operation done correctly."
        ],
        "responseData": {
        }
    }

    7.40 DNS Zone List ( service/dnslist/ )

    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 Opcional 1000 Maximum number of results
    page Opcional 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.12",
        "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"
                }
                /*
                ,{ ....  }
                */
            ]
        }
    }

    7.41 DNS Zone Get Info ( service/dnsgetinfo/ )

    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.12",
        "responseData": {
            "dns": [
                {
                    "entityID": "SRV0000214277-000396072",
                    "name": "_aaa._tls.domainmanagement.sexy",
                    "type": "SRV",
                    "ttl": "-",
                    "priority": "10",
                    "value": "10 8080 srv.example.es"
                }
            ]
        }
    }

    7.42 DNS Zone Create ( service/dnscreate/ )

    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 Identificador
    dns/name Nombre de la zona DNS
    dns/type Tipo de zona DNS ( Ver Tabla )
    dns/ttl Time to Live ("-" = Por defecto)
    dns/priority Prioridad de la zona ("-" = por defecto)
    dns/value Valor de la zona según el tipo

    Response example:

    {
        "success": true,
        "errorCode": 0,
        "errorCodeMsg": "",
        "action": "service\/dnscreate",
        "version": "1.0.12",
        "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"
                }
            ]
        }
    }

    7.43 DNS Zone Update ( service/dnsupdate/ )

    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.12",
        "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"
                }
            ]
        }
    }

    7.44 DNS Zone Delete ( service/dnsdelete/ )

    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.12",
        "messages": [
            "Operation done correctly."
        ],
        "responseData": {
        }
    }

    7.45 DNS Zone Restore ( service/dnsrestore/ )

    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.12",
        "messages": [
            "Operation done correctly."
        ],
        "responseData": {
        }
    }

    7.46 DNS Zone Set ( service/dnssetzone/ )

    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.12",
        "messages": [
            "Operation done correctly."
        ],
        "responseData": {
        }
    }

    7.47 DNS Zone Delete All ( service/dnsdeleteall/ )

    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.12",
        "messages": [
            "Operation done correctly."
        ],
        "responseData": {
        }
    }

    7.48 Services Related tables

    7.48.1 Service Types

    Product Key Product/Service type
    redir Redirect And Parking
    mini Mini Hosting
    mail Mail Hosting
    mailplus Mail Plus Hosting
    mailpro Mail Pro Hosting
    basic Basic Hosting
    professional Professional Hosting
    advanced Advanced Hosting
    corporate Corporate Hosting

    7.48.2 Service Status

    Status Description
    init Service set up in progress
    active Service active
    inactive Service inactive
    renewed Renewal in process
    renewable Service active and renewable

    7.48.3 Renewal types

    Keyword Description
    autorenew Automatic renewal
    manual Manual renewal

    7.48.4 Redirection Types

    Type Description
    301 Permanent (HTTP 301)
    302 Temporary (HTTP 302)
    frame Frame

    7.48.5 DNS Types

    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"
    SPF SPF entry Format v=spf...

    8 Addendum I

    8.1 Tables

    8.1.1 Error codes

    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
    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
    10001 WebConstructor Error

    8.1.2 Country codes

    You can check the country code table (in ISO 3166-1 alfa-2 format) in Country Codes.

    8.1.3 Organization type (spanish contacts)

    You can check the organization type table for contacts registered in ES (Spain) in Spanish Organization Types.

    8.2 Examples

    8.2.1 PHP

    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 = array() )
    {
        $formData = array_merge( array(
                    'apiuser'       => DD_API_USER,
                    'apipasswd'     => DD_API_PASSWD,
                    ), is_array( $data ) ? $data : array()  );
        $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/', array( 'query' => 'España' ) );
    //print_r( $response );
    
    if( $response ) {
        echo "SUCCESS: ".( $response->success ? "YES" : "NO")."\n";
        if( $response->success ) {
            echo "PunyCode: ".$response->responseData->punycode."\n";
        }
    }
    ?>
    

    8.2.2 Python

    #!/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"]
    

    8.2.3 Java

    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());
            }
        }
    }
    

    8.2.4 Perl

    #!/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
    

    8.2.5 Bash/Wget

    #!/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;
    

    8.3 ChangeLog

    Read the complete changelog in ChangeLog.