Domain

/domain

GET

Returns a list of domains.

JSON request

client_reference

string

Comma separated list of client references that uniquely identifies a domain.

name

string

Full or partial domain name to search for.

id

string

UUID type field used for sync of BO and RP domains.

reseller

string

Reseller reference to filter on.

domain_contact

string

Domain Contact handle. Generated identifier of contact. Unique per RTR account.

domain_contact_role

string

Role of Domain Contact assigned to Domain.

name_servers

list

List of Name Servers assigned to Domain.

state

string

Domain state to search for.

order_by

string

Field by which domain resulting queryset will be filtered.

JSON response

array: Domain

Possible errors

Sample

curl \
--request GET \
--user "{{api_username}}:{{api_key}}" \
"{{api_base_url}}/domain" | python -m json.tool

POST

Register a new domain. A contact must be specified for each role (‘registrant’, ‘admin’, ‘billing’ and ‘tech’). The provided nameservers must be unique on hostname.

JSON request

name

string

The IDNA encoded domain name including the TLD.

contacts

array

role

string

One of ‘registrant’, ‘admin’, ‘billing’ or ‘tech’.

contact

string

A contact handle which belongs to the reseller.

name_servers

array

hostname

string

The hostname for the nameserver.

is_managed

boolean

Determines whether this domain is managed by the system. Set false for domains which are already registered and which you don’t want to transfer.

is_auto_renew_enabled

boolean

Set to true to enable automatic renewals (and billing of them) by the system.

language_code

string

TLD specific language code to be used.

client_reference

string

Client reference to be used for filtering and in Events.

is_privacy_protect_enabled

boolean

If privacy protect should be enabled for this domain.

JSON response

object: Domain

Possible errors

Sample

curl \
--request POST \
--user "{{api_username}}:{{api_key}}" \
--data '
    {
        "name": "example.com",
        "contacts": [
            {
                "role": "registrant",
                "contact": "RP934K83F9k30K2904L"
            },
            {
                "role": "admin",
                "contact": "RP934K83F9k30K2904L"
            },
            {
                "role": "billing",
                "contact": "RP934K83F9k30K2904L"
            },
            {
                "role": "tech",
                "contact": "RP934K83F9k30K2904L"
            }
        ],
        "name_servers": [
            {
                "hostname": "ns1.example.com"
            },
            {
                "hostname": "ns2.example.com"
            }
        ]
    }
' \
"{{api_base_url}}/domain" | python -m json.tool

/domain/{id}

GET

Get detailed information about a domain.

Query parameters

extended

boolean

Set to true if you need extended information (might be slower!).

JSON response

object: Domain

Possible errors

Sample

curl \
--request GET \
--user "{{api_username}}:{{api_key}}" \
"{{api_base_url}}/domain/{id}" | python -m json.tool

PUT

Update domain settings like auto renew, name servers, contacts and the transfer lock.

JSON request

contacts

array

role

string

One of ‘registrant’, ‘admin’, ‘billing’, ‘tech’

contact

string

A contact ID which belongs to the reseller.

name_servers

array

hostname

string

The hostname for the nameserver.

is_transfer_lock_enabled

boolean

Enable or disable the transfer lock.

is_auto_renew_enabled

boolean

Enable or disable automatic renewals for this domain.

is_privacy_protect_enabled

boolean

OPTIONAL: Enable or disable privacy protect. Only possible when supported by TLD Note: This is an a-synchronous process. The result is not immediately visible this can take a while (a couple of minutes)

designated_agent

string

OPTIONAL: Possible values: ‘NONE’, ‘OLD’, ‘NEW’, ‘BOTH’ Indicates for whom you are acting as a designated agent. If a registry does not allow you to be designated agent or interaction with the registrant is still required this parameter is silently ignored.

JSON response

object: Domain

Possible errors

Sample

curl \
--request PUT \
--user "{{api_username}}:{{api_key}}" \
--data '
    {
        "contacts": [
            {
                "role": "registrant",
                "contact": "RP934K83F9k30K2904L"
            },
            {
                "role": "admin",
                "contact": "RP934K83F9k30K2904L"
            },
            {
                "role": "billing",
                "contact": "RP934K83F9k30K2904L"
            },
            {
                "role": "tech",
                "contact": "RP934K83F9k30K2904L"
            }
        ],
        "name_servers": [
            {
                "hostname": "ns1.example.com"
            },
            {
                "hostname": "ns2.example.com"
            }
        ]
    }
' \
"{{api_base_url}}/domain/{id}" | python -m json.tool

DELETE

Possible errors

Sample

curl \
--request DELETE \
--user "{{api_username}}:{{api_key}}" \
"{{api_base_url}}/domain/{id}" | python -m json.tool

/domain/{id}/renew

POST

Manually renew a domain. current_expiration_date must be provided to prevent accidental renews.

JSON request

current_expiration_date

string

ISO-8601 date format.

JSON response

object: Domain

Possible errors

Sample

curl \
--request POST \
--user "{{api_username}}:{{api_key}}" \
--data '
    {
        "current_expiration_date": "2016-04-22"
    }
' \
"{{api_base_url}}/domain/{id}/renew" | python -m json.tool

/domain/{id}/restore

POST

Restore a domain that entered redemption period after deletion.

JSON response

object: Domain

Possible errors

Sample

curl \
--request POST \
--user "{{api_username}}:{{api_key}}" \
"{{api_base_url}}/domain/{id}/restore" | python -m json.tool

/domain/{id}/park

POST

Park a domain. If park_addresses is ommited, the default park server is used.

JSON request

park_addresses

string

address

string

The IP or hostname address

Possible errors

Sample

curl \
--request POST \
--user "{{api_username}}:{{api_key}}" \
"{{api_base_url}}/domain/{id}/park" | python -m json.tool

/domain/{id}/regenerate-authorization-code

POST

Regenerate the domain authorization code.

Note that the request sometimes gets handled asynchronously and the endpoint will still result in a 200 HTTP code. The serialized domain will still contain the authorization code, which is not updated yet. There currently is no way to know if the authorization code got updated, except for checking if it got changed yourself. If the authorization code did not change right away, try again later by performing an extended API call to /domain/{id}.

JSON response

object: Domain

Possible errors

Sample

curl \
--request POST \
-H "Content-Type: application/json" \
--user "{{api_username}}:{{api_key}}" \
"{{api_base_url}}/domain/{id}/regenerate-authorization-code" | python -m json.tool