---
title: "XML API basics"
url: "https://help.internetx.com/en/api/core-xml-api-basics/"
lang: "en"
section: "API reference — API reference (XML/JSON)"
breadcrumb: "XML"
updated: "2023-09-13"
---

# XML API basics

## Introduction

The backend of the AutoDNS XML interface is addressed via XML communication. Every XML request is checked for validity and the existence of required authorizations, processed and then answered with an XML response.

The system response contains information about the successful (S= success) or unsuccessful (E= error) execution of the operation and any requested data (e.g. for the info and Llst tasks).  
Depending on the task the job is processed synchronously (realtime) using data from the database or by means of communication with the registry (asynchronous). In the case of the latter, a system response of type "N" (= notification) is sent first and, after complete processing, a system notification with the final status "S" or "E", which is fetched or sent using the polling, push or email methods.

## Interface addresses

Live System: [https://gateway.autodns.com](https://gateway.autodns.com)  
Demo System: [https://demo.autodns.com/gateway/](https://demo.autodns.com/gateway/)

## Activation

Every user can use the interface without additional activation.

## Limits

Only 3 requests per second and IP can be executed.

## Transport and coding

The XML request is sent as a body of an HTTP request to the URLs mentioned above.  
The content-type is application/xml.  
The encoding is UTF-8.

When converting UTF-8 with Microsoft.NET, note that the UTF-8 XML string must not contain a byte order mark (BOM). By default, a byte order mark is set at the beginning of the string.

## Default tasks

The AutoDNS XML API knows five order types for standard objects:

CREATE = Creating an object  
UPDATE = Changing an existing object  
DELETE = Deleting an existing object  
INFO  = Single query of an object  
LIST = List query for a group of identical objects

## Default request

### Structure

A request is made up of an authentication and one or more task blocks.

`request`  
      `auth/authentication/auth_session` (Authentication)  
      `` `o`wner `` (subuser)  
       `` `t`ask `` (task)  
            `code` (task code)

### Description of the keywords

| Key | Occurs | Format | Description |
| --- | --- | --- | --- |
| request | 1 |  | Request |
| request / auth | 1 |  | Auth-Block |
| request / auth / user | 1 | string | User name |
| request / auth / password | 1 | string | User password |
| request / auth / context | 1 | string | ID of the personalized system of the subuser. |
| request / owner | 0 - 1 |  | Subuser |
| request / owner / user | 1 | string | Username of the subuser |
| request / owner /context | 1 | string | ID of the personalized system of the subuser. |
| request / language | 0 - 1 | enum | Overwrites the language of error messages.<br>• en<br>• de |
| request / task | 1 |  | The task. Several task blocks can be used. |
| request / task / code | 1 | string | The task code |

#### XML Example

```
<request>
    <auth>
        <user>USER</user>
        <password>PASSWORD</password>
        <context>CONTEXT</context>
    </auth>
    <owner>
        <user>USER</user>
        <context>CONTEXT</context>
    </owner>
    <task>
        <code>CODE</code>
    </task>
</request>
```

## Default response

### Structure

For each task, one result object is returned, each of which returns a status.

`response` (root tag)  
      `result` (one result per task)  
            `data`  
            `status`  
            `msg`

#### Description of the keywords

| Keyword | Occurs | Format | Description |
| --- | --- | --- | --- |
| response | 1 |  | Response of the system |
| response / result | 1 - n |  | The result block. For [multitasks](/en/api/core-multitasks/) several result blocks will be sent. |
| response / result / data | 0 - n |  | Includes the returned data. |
| response / result / status | 1 |  | Status details |
| response / result / status / type | 1 | string | The status type of the response<br>• success (S)<br>• error (E)<br>• notification (N) |
| response / result / status / code | 1 | string | The response code (N, E, S) |
| response / result / status / text | 1 | string | Details concerning the status |
| response / result / msg | 0 - n |  | The system message |
| response / result / msg / code | 1 | string | The code of the task, the message belongs to.<br>E.g S0101: S = Succes, 0101= Domain Create |
| response / result / msg / text | 1 | string | The text of the message |
| response / result / msg / object | 0 - n | string | The object the message refers to. |
| response / result / msg / object / type | 0 - n | string | The object type, e.g. "domain" or "contact.<br>The object type, e.g. "certificate" or "contact. |
| response / result / msg / object /value | 0 - n | string | The object value, e.g. z. B. “example.com” (type = domain)<br>The objectvalue, e.g. z. B. “12345” (type = certificate ID) |
| response / result / msg / help | 0 - n | string | Notes |

#### XML example

```
<response>
    <result>
        <data>
            <object></object>
            <object></object>
        </data>
        <status>
            <type>success</type>
            <code>SXXXX</code>
            <text>TEXT</text>
        </status>
        <msg>
            <code>EFXXXX</code>
            <type>error</type>
            <text>TEXT</text>
            <object>
                <type></type>
                <value></value>
            </object>
        </msg>
    </result>
</response>
```
