API: OpenSRS

OpenSRS API Guide: Domains and SSL

Welcome to the OpenSRS API guide. Here you will find comprehensive documentation regarding our domain and SSL services. We hope this guide will help you start working with OpenSRS as quickly as possible. If you have any questions or concerns, please do not hesitate to contact help@opensrs.com

Get Started

get_dns_zone

View the DNS records for a specified domain.

Request parameters for get_dns_zone

Standard parameters

  • action = get_dns_zone
  • object = domain attributes

Attributes

Parameters within the attributes associative array are described below.

Parameter name
Obligation
Definition/Value

domain

Required

The domain whose DNS you want to view.

Response parameters for get_dns_zone

Standard parameters

  • action = reply
  • object = domain
  • is_success = a Boolean is returned, indicating success or failure of the
    request
  • response_code = response code indicating outcome of the request
  • response_text = message describing the outcome of the request

Attributes

If the request is successful, the attributes associative array may include the
following:

Parameter name
Obligation
Definition/Value

nameservers_ok

Returned if is_success = true

Indicates whether the domain is set up to use the OpenSRS nameservers.

  • 0—Nameservers are not set to the DNS service nameservers

  • 1—Nameservers are set to the DNS service nameservers

records

Returned if is_success = true

A list of the record types defined for the domain; each record includes the settings for that record.

Record types may be:

  • A
  • AAAA
  • CNAME
  • MX
  • SRV
  • TXT

For more information, see the Records table below.

Records

Parameters within the records associative array are described below.

Parameter name
Obligation
Definition/Value

A

Optional

Maps the domain name to the IP address.

The A record consists of the following:

  • ip_address—InternetProtocolAddress.A numeric address that computers recognize, for example, 123.45.54.123.

  • subdomain—The third level of the domain name, such as www or ftp.

AAAA

Optional

Maps the domain name to the IPv6 address.

The AAAA record consists of the following:

  • subdomain—The third level of the domain name, such as www or ftp.

  • ipv6_address—The next generation Internet Protocol designed as the successor to version 4. It is normally written as eight groups of four hexadecimal digits (i.e. 2003:0db8: 85a3:0000:0000:8a2e: 0370:7334

CNAME

Optional

Canonical Name. CNAME records can be used when you want a subdomain to point to another hostname. Allows you to create an alias for your domain.

The CNAME record consists of the following:

  • hostname—The FQDN of the domain that you want to access.

  • subdomain—The third level of the domain name, such as www or ftp.

MX

Optional

Mail Exchange. MX records determine how mail is delivered to your domain. Ensures that email that is sent to you is routed to the correct destination.

The MX record consists of the following:

  • priority—The priority of the target host,lower
    value means more preferred.

  • subdomain—The third level of the domain
    name, such as www or ftp.

  • hostname—The FQDN of the domain that you want to access.

SRV

Optional

Service Record.
The SRV record consists of the following:

  • priority—The priority of the target host,lower
    value means more preferred.

  • weight—Arelative weight for records with the
    same priority.

  • subdomain—The third level of the domain
    name, such as www or ftp.

  • hostname—The FQDN of the domain that you
    want to access.

  • port—The TCP or UDP port on which the service is to be found.

TXT

Optional

Text Record. Allows you to attach comments to a hostname, for example, SPF data to validate that email is being sent from the IP address of the domain's mail server.

The TXT record consists of the following:

  • subdomain—The third level of the domain
    name, such as www or ftp.

  • text—The comments that you want to include.

Examples for get_dns_zone

Request

<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<!DOCTYPE OPS_envelope SYSTEM 'ops.dtd'>
<OPS_envelope>
    <header>
        <version>0.9</version>
    </header>
    <body>
        <data_block>
            <dt_assoc>
                <item key="protocol">XCP</item>
                <item key="action">get_dns_zone</item>
                <item key="object">domain</item>
                <item key="attributes">
                    <dt_assoc>
                        <item key="domain">example.com</item>
                    </dt_assoc>
                </item>
            </dt_assoc>
        </data_block>
    </body>
</OPS_envelope>

Response

<?xml version='1.0' encoding="UTF-8" standalone="no"?>
<!DOCTYPE OPS_envelope SYSTEM "ops.dtd">
<OPS_envelope>
    <header>
        <version>0.9</version>
    </header>
    <body>
        <data_block>
            <dt_assoc>
                <item key="protocol">XCP</item>
                <item key="action">REPLY</item>
                <item key="object">DOMAIN</item>
                <item key="is_success">1</item>
                <item key="response_code">200</item>
                <item key="response_text">Command Successful</item>
                <item key="attributes">
                    <dt_assoc>
                        <item key="records">
                            <dt_assoc>
                                <item key="A">
                                    <dt_array>
                                        <item key="0">
                                            <dt_assoc>
                                                <item key="subdomain"></item>
                                                <item key="ip_address">17.16.156.5</item>
                                            </dt_assoc>
                                        </item>
                                    </dt_array>
                                </item>
                                <item key="MX">
                                    <dt_array>
                                        <item key="0">
                                            <dt_assoc>
                                                <item key="priority">10</item>
                                                <item key="subdomain">www</item>
                                                <item key="hostname">example.org</item>
                                            </dt_assoc>
                                        </item>
                                        <item key="1">
                                            <dt_assoc>
                                                <item key="priority">1</item>
                                                <item key="subdomain"></item>
                                                <item key="hostname">mx.cust.aug17dnstest1.com.hostedemail.com</item>
                                            </dt_assoc>
                                        </item>
                                    </dt_array>
                                </item>
                                <item key="SRV">
                                    <dt_array>
                                        <item key="0">
                                            <dt_assoc>
                                                <item key="priority">1</item>
                                                <item key="weight">3</item>
                                                <item key="subdomain">w3</item>
                                                <item key="hostname">yummynames.com</item>
                                                <item key="port">81</item>
                                            </dt_assoc>
                                        </item>
                                    </dt_array>
                                </item>
                            </dt_assoc>
                        </item>
                        <item key="nameservers_ok">0</item>
                    </dt_assoc>
                </item>
            </dt_assoc>
        </data_block>
    </body>
</OPS_envelope>

get_dns_zone

View the DNS records for a specified domain.