Retrieving DNS Records
Both zone template records and site or site alias zone records can be retrieved using the get_rec operation. You can retrieve multiple records in a single get_rec operation using filtering rules. For more information about filters, refer to the Available Filters section.
Request Packet Structure
A request XML packet retrieving a DNS record from Plesk database includes the get_rec operation node:
<packet>
    <dns>
        <get_rec>
            ...
        </get_rec>
    </dns>
</packet>
The graphical representation of the get_rec node is as follows:

Note: The interactive schema navigator for all request packets is available here: http://plesk.github.io/api-schemas/1.6.9.1/agent_input.svg.
- The filter node is required. It specifies the filtering rule.
For more information, refer to the Available Filters
section. Data type:
dnsSelectionFilterType (
dns_input.xsd) . - The template node is optional. If present, only DNS zone template records are available for retrieving. In this case filter children cannot be specified as a filtering rule. Data type: none.
 
Note: If you leave the filter node blank (<filter/>), all resource
records (zone template records or zone records depending on presence
of the template node in the request packet) will be retrieved.
You can retrieve multiple DNS records in a single packet. Add as many get_rec operations as the number of different filtering rules.
<dns>
   <get_rec>
   ...
   </get_rec>
...
   <get_rec>
   ...
   </get_rec>
</dns>
Note: When creating request packets, put nodes and elements in the order they follow in the packet structure.
Response Packet Structure
The get_rec node of the output XML packet is structured as follows:

Note: The interactive schema navigator for all response packets is available here: http://plesk.github.io/api-schemas/1.6.9.1/agent_output.svg.
- 
The result node is optional. It is required if the operation get_rec succeeds, and the data set retrieved from the server is not empty. Data type: resultType (
common.xsd). - 
The status node is required. It specifies the execution status of the get_rec operation. Data type: string. Allowed values: ok | error.
 - 
The errcode node is optional. It is used to return the error code when the get_rec operation fails. Data type: unsignedInt.
 - 
The errtext node is optional. It is used to return the error message if the get_rec operation fails. Data type: string.
 - 
The id node is required if the get_rec operation has succeeded. Returns the unique identifier of the DNS record. Data type: integer.
 - 
The data node is optional. It is required if the get_rec operation has succeeded. Data type: dnsRecord (
dns_input.xsd). The node is structured as follows:- The site-id node is optional. If specified, the DNS record is retrieved from zone parameters for the site with the corresponding ID. Data type: integer.
 - The site-alias-id node is optional. If specified, the DNS record is retrieved from zone parameters for the site alias with the corresponding ID. Data type: integer.
 - The type node is optional. It is required if the operation succeeded. It specifies the type of the DNS record. For more information about DNS types, please visit the Adding a DNS Record section. Data type: string. Allowed values: A | NS | CNAME | MX | PTR | TXT | SOA | AXFR | SRV | AAAA | DS.
 - The host node is optional. It is required if the operation succeeded. It specifies the IP address or name of a host, that will be used by DNS. Data type: string.
 - The value node is optional. It is required if the operation succeeded. It specifies the value that will be linked with the host value. Data type: string.
 - The opt node is optional. It holds optional information about the DNS record. Data type: string.
 
 
Retrieving a single DNS record
This request packet retrieves the DNS record with ID 8.
<packet>
    <dns>
        <get_rec>
            <filter>
                <id>8</id>
            </filter>
        </get_rec>
    </dns>
</packet>
Response:
<packet>
    <dns>
        <get_rec>
            <result>
                <status>ok</status>
                <id>8</id>
                <data>
                    <site-id>8</site-id>
                    <type>NS</type>
                    <host>Mysite.com</host>
                    <value>ns.Mysite.com</value>
                    <opt/>
                </data>
            </result>
        </get_rec>
    </dns>
</packet>
If the DNS record with ID 8 was not found on the server, the response looks as follows:
<packet>
    <dns>
        <get_rec>
     </get_rec>
    </dns>
</packet>
Retrieving multiple DNS records
This request packet retrieves zone preferences of the site with ID 8.
<packet>
    <dns>
        <get_rec>
            <filter>
                <site-id>8</site-id>
            </filter>
        </get_rec>
    </dns>
</packet>
Response:
<packet>
    <dns>
        <get_rec>
            <result>
                <status>ok</status>
                <id>18</id>
                <data>
                    <site-id>8</site-id>
                    <type>NS</type>
                    <host>Mysite.com</host>
                    <value>ns.Mysite.com</value>
                    <opt/>
                </data>
            </result>
        </get_rec>
        <get_rec>
            <result>
                <status>ok</status>
                <id>19</id>
                <data>
                    <site-id>8</site-id>
                    <type>PTR</type>
                    <host/>
                    <value>Mysite.com</value>
                    <opt/>
                </data>
            </result>
        </get_rec>
    </dns>
</packet>
If the site with ID 8 was not found on the server, the response from the server looks as follows:
<packet>
    <dns>
        <get_rec>
      </get_rec>
    </dns>
</packet>
