IONOS Cloud - DNS API (1.16.0)

Download OpenAPI specification:Download

Cloud DNS service helps IONOS Cloud customers to automate DNS Zone and Record management.

Zones

Endpoints related to zones

Retrieve zones

Returns a list of the DNS zones for the customer. Default limit is the first 100 items. Use pagination query parameters for listing more items (up to 1000).

Authorizations:
tokenAuth
query Parameters
filter.state
string (ProvisioningState)
Enum: "PROVISIONING" "DESTROYING" "AVAILABLE" "FAILED"

Filter used to fetch all zones in a particular state.

filter.zoneName
string
Example: filter.zoneName=example.com

Filter used to fetch only the zones that contain the specified zone name.

offset
integer <int32> >= 0
Default: 0

The first element (of the total list of elements) to include in the response. Use together with limit for pagination.

limit
integer <int32> [ 1 .. 1000 ]
Default: 100

The maximum number of elements to return. Use together with offset for pagination.

Responses

Response samples

Content type
application/json
{
  • "id": "e74d0d15-f567-4b7b-9069-26ee1f93bae3",
  • "type": "collection",
  • "href": "<RESOURCE-URI>",
  • "offset": 0,
  • "limit": 1000,
  • "_links": {},
  • "items": [
    ]
}

Create a zone

Creates a new zone with default NS and SOA records.

Authorizations:
tokenAuth
Request Body schema: application/json

zone

required
object (Zone)

Indicates the fields for a zone to be created

Responses

Request samples

Content type
application/json
{
  • "properties": {
    }
}

Response samples

Content type
application/json
{
  • "id": "e74d0d15-f567-4b7b-9069-26ee1f93bae3",
  • "type": "zone",
  • "href": "<RESOURCE-URI>",
  • "metadata": {
    },
  • "properties": {
    }
}

Retrieve a zone

Returns a DNS zone by given ID.

Authorizations:
tokenAuth
path Parameters
zoneId
required
string <uuid>

The ID (UUID) of the DNS zone.

Responses

Response samples

Content type
application/json
{
  • "id": "e74d0d15-f567-4b7b-9069-26ee1f93bae3",
  • "type": "zone",
  • "href": "<RESOURCE-URI>",
  • "metadata": {
    },
  • "properties": {
    }
}

Update a zone

Updates or creates a zone for the provided zone ID.

Authorizations:
tokenAuth
path Parameters
zoneId
required
string <uuid>

The ID (UUID) of the DNS zone.

Request Body schema: application/json

update zone

required
object (Zone)

Indicates the fields for a zone to be created

Responses

Request samples

Content type
application/json
{
  • "properties": {
    }
}

Response samples

Content type
application/json
{
  • "id": "e74d0d15-f567-4b7b-9069-26ee1f93bae3",
  • "type": "zone",
  • "href": "<RESOURCE-URI>",
  • "metadata": {
    },
  • "properties": {
    }
}

Delete a zone

Deletes the specified zone and all of the records it contains.

Authorizations:
tokenAuth
path Parameters
zoneId
required
string <uuid>

The ID (UUID) of the DNS zone.

Responses

Response samples

Content type
application/json
{ }

SecondaryZones

Endpoints related to secondary zones

Retrieve secondary zones

Returns a list of the secondary DNS zones for the customer. Default limit is the first 100 items. Use pagination query parameters for listing more items (up to 1000).

Authorizations:
tokenAuth
query Parameters
filter.state
string (ProvisioningState)
Enum: "PROVISIONING" "DESTROYING" "AVAILABLE" "FAILED"

Filter used to fetch all zones in a particular state.

filter.zoneName
string
Example: filter.zoneName=example.com

Filter used to fetch only the zones that contain the specified zone name.

offset
integer <int32> >= 0
Default: 0

The first element (of the total list of elements) to include in the response. Use together with limit for pagination.

limit
integer <int32> [ 1 .. 1000 ]
Default: 100

The maximum number of elements to return. Use together with offset for pagination.

Responses

Response samples

Content type
application/json
{
  • "id": "e74d0d15-f567-4b7b-9069-26ee1f93bae3",
  • "type": "collection",
  • "href": "<RESOURCE-URI>",
  • "offset": 0,
  • "limit": 1000,
  • "_links": {},
  • "items": [
    ]
}

Create a secondary zone

Creates a new secondary zone with default NS and SOA records. Note that Cloud DNS relies on the following Anycast addresses for sending DNS notify messages. Make sure to whitelist on your end:

  • IPv4: 212.227.123.25
  • IPv6: 2001:8d8:fe:53::5cd:25
Authorizations:
tokenAuth
Request Body schema: application/json

zone

required
object (SecondaryZone)

Indicates the fields for a zone to be created

Responses

Request samples

Content type
application/json
{
  • "properties": {
    }
}

Response samples

Content type
application/json
{
  • "id": "e74d0d15-f567-4b7b-9069-26ee1f93bae3",
  • "type": "zone",
  • "href": "<RESOURCE-URI>",
  • "metadata": {
    },
  • "properties": {
    }
}

Retrieve a secondary zone

Returns a DNS secondary zone by given ID.

Authorizations:
tokenAuth
path Parameters
secondaryZoneId
required
string <uuid>

The ID (UUID) of the DNS zone.

Responses

Response samples

Content type
application/json
{
  • "id": "e74d0d15-f567-4b7b-9069-26ee1f93bae3",
  • "type": "zone",
  • "href": "<RESOURCE-URI>",
  • "metadata": {
    },
  • "properties": {
    }
}

Update a secondary zone

Updates or creates a secondary zone for the provided secondary Zone ID.

Authorizations:
tokenAuth
path Parameters
secondaryZoneId
required
string <uuid>

The ID (UUID) of the DNS zone.

Request Body schema: application/json

update zone

required
object (SecondaryZone)

Indicates the fields for a zone to be created

Responses

Request samples

Content type
application/json
{
  • "properties": {
    }
}

Response samples

Content type
application/json
{
  • "id": "e74d0d15-f567-4b7b-9069-26ee1f93bae3",
  • "type": "zone",
  • "href": "<RESOURCE-URI>",
  • "metadata": {
    },
  • "properties": {
    }
}

Delete a secondary zone

Deletes the specified secondary zone.

Authorizations:
tokenAuth
path Parameters
secondaryZoneId
required
string <uuid>

The ID (UUID) of the DNS zone.

Responses

Response samples

Content type
application/json
{ }

Get status of zone transfer

Get status of zone transfer. Note that Cloud DNS relies on the following Anycast addresses for sending DNS notify messages. Make sure to whitelist on your end:

  • IPv4: 212.227.123.25
  • IPv6: 2001:8d8:fe:53::5cd:25
Authorizations:
tokenAuth
path Parameters
secondaryZoneId
required
string <uuid>

The ID (UUID) of the DNS zone.

Responses

Response samples

Content type
application/json
{
  • "type": "collection",
  • "items": [
    ]
}

Start zone transfer

Initiate zone transfer. Note that Cloud DNS relies on the following Anycast addresses for sending DNS notify messages. Make sure to whitelist on your end:

  • IPv4: 212.227.123.25
  • IPv6: 2001:8d8:fe:53::5cd:25
Authorizations:
tokenAuth
path Parameters
secondaryZoneId
required
string <uuid>

The ID (UUID) of the DNS zone.

Responses

Response samples

Content type
application/json
{ }

Records

Endpoints related to records

Retrieve records for a secondary zone

Returns the list of records for a secondary zone. Those are the records created for its primary IPs

Authorizations:
tokenAuth
path Parameters
secondaryZoneId
required
string <uuid>

The ID (UUID) of the DNS secondary zone.

query Parameters
offset
integer <int32> >= 0
Default: 0

The first element (of the total list of elements) to include in the response. Use together with limit for pagination.

limit
integer <int32> [ 1 .. 1000 ]
Default: 100

The maximum number of elements to return. Use together with offset for pagination.

Responses

Response samples

Content type
application/json
{
  • "id": "42b21ce3-6fc7-44af-b0c9-2aaadbf2b333",
  • "type": "collection",
  • "href": "<RESOURCE-URI>",
  • "metadata": {
    },
  • "items": [
    ],
  • "offset": 0,
  • "limit": 1000,
  • "_links": {}
}

Retrieve all records from primary zones

Returns the list of all records for all customer DNS zones with the possibility to filter them.

Authorizations:
tokenAuth
query Parameters
filter.zoneId
string <uuid>
Example: filter.zoneId=1d6ca576-7162-4700-8df7-208bbe28fc44

Filter used to fetch only the records that contain specified zoneId.

filter.name
string
Example: filter.name=app

Filter used to fetch only the records that contain specified record name.

filter.state
string (ProvisioningState)
Enum: "PROVISIONING" "DESTROYING" "AVAILABLE" "FAILED"

Filter used to fetch only the records that are in certain state.

offset
integer <int32> >= 0
Default: 0

The first element (of the total list of elements) to include in the response. Use together with limit for pagination.

limit
integer <int32> [ 1 .. 1000 ]
Default: 100

The maximum number of elements to return. Use together with offset for pagination.

Responses

Response samples

Content type
application/json
{
  • "id": "42b21ce3-6fc7-44af-b0c9-2aaadbf2b333",
  • "type": "collection",
  • "href": "<RESOURCE-URI>",
  • "items": [
    ],
  • "offset": 0,
  • "limit": 1000,
  • "_links": {}
}

Create a record

Creates a new record for the DNS zone.

Authorizations:
tokenAuth
path Parameters
zoneId
required
string <uuid>

The ID (UUID) of the DNS zone.

Request Body schema: application/json

record

required
object (Record)

Responses

Request samples

Content type
application/json
{
  • "properties": {
    }
}

Response samples

Content type
application/json
{
  • "id": "90d81ac0-3a30-44d4-95a5-12959effa6ee",
  • "type": "record",
  • "href": "<RESOURCE-URI>",
  • "metadata": {
    },
  • "properties": {
    }
}

Retrieve records

Returns the list of records for the specific DNS zone.

Authorizations:
tokenAuth
path Parameters
zoneId
required
string <uuid>

The ID (UUID) of the DNS zone.

Responses

Response samples

Content type
application/json
{
  • "id": "42b21ce3-6fc7-44af-b0c9-2aaadbf2b333",
  • "type": "collection",
  • "href": "<RESOURCE-URI>",
  • "items": [
    ],
  • "offset": 0,
  • "limit": 1000,
  • "_links": {}
}

Retrieve a record

Returns the record with the specified record ID.

Authorizations:
tokenAuth
path Parameters
zoneId
required
string <uuid>

The ID (UUID) of the DNS zone.

recordId
required
string <uuid>

The ID (UUID) of the record.

Responses

Response samples

Content type
application/json
{
  • "id": "90d81ac0-3a30-44d4-95a5-12959effa6ee",
  • "type": "record",
  • "href": "<RESOURCE-URI>",
  • "metadata": {
    },
  • "properties": {
    }
}

Update a record

Updates or creates a DNS record for the provided record ID.

Authorizations:
tokenAuth
path Parameters
zoneId
required
string <uuid>

The ID (UUID) of the DNS zone.

recordId
required
string <uuid>

The ID (UUID) of the DNS record.

Request Body schema: application/json
required
object (Record)

Responses

Request samples

Content type
application/json
{
  • "properties": {
    }
}

Response samples

Content type
application/json
{
  • "id": "90d81ac0-3a30-44d4-95a5-12959effa6ee",
  • "type": "record",
  • "href": "<RESOURCE-URI>",
  • "metadata": {
    },
  • "properties": {
    }
}

Delete a record

Deletes a specified record from the DNS zone.

Authorizations:
tokenAuth
path Parameters
zoneId
required
string <uuid>

The ID (UUID) of the DNS zone.

recordId
required
string <uuid>

The ID (UUID) of the record.

Responses

Response samples

Content type
application/json
{ }

ZoneFiles

related to zone files

Retrieve a zone file

Returns an exported zone file in BIND format (RFC 1035).

Authorizations:
tokenAuth
path Parameters
zoneId
required
string <uuid>

The ID (UUID) of the DNS zone.

Responses

Response samples

Content type
text/plain
;Zone: example.com
;Exported: Wed Nov 13 10:30:14 UTC 2019

$ORIGIN example.com.
$TTL 3600

@  86400  IN  SOA  ns-de.1and1-dns.de. hostmaster.kundenserver.de. (
          2017012400  ; serial
          28800  ; refresh
          7200  ; retry
          604800  ; expire
          600 )  ; minimum
autodiscover  7200  IN  CNAME  adsredir.1and1.info.
@  7200  IN  NS  ns-de.1and1-dns.org.
@  7200  IN  NS  ns-de.1and1-dns.com.
@  7200  IN  NS  ns-de.1and1-dns.biz.
@  7200  IN  NS  ns-de.1and1-dns.de.
_domainconnect  3600  IN  CNAME  _domainconnect.1and1.com.

Updates a zone with a file

Updates a zone with zone file in BIND format (RFC 1035). All records in the zone are replaced with the ones provided.

Authorizations:
tokenAuth
path Parameters
zoneId
required
string <uuid>

The ID (UUID) of the DNS zone.

Request Body schema: text/plain

Zone file in BIND format (RFC 1035). In order to support import files from other sources, the bind zone file can contain SOA and NS records, but these records will be ignored.

string

Responses

Response samples

Content type
application/json
{
  • "id": "42b21ce3-6fc7-44af-b0c9-2aaadbf2b333",
  • "type": "collection",
  • "href": "<RESOURCE-URI>",
  • "items": [
    ],
  • "offset": 0,
  • "limit": 1000,
  • "_links": {}
}

Quota

related to quotas

Retrieve resources quota

Get quota details for zones, secondary zones, and records.

Authorizations:
tokenAuth

Responses

Response samples

Content type
application/json
{
  • "quotaUsage": {
    },
  • "quotaLimits": {
    }
}

DNSSEC

related to DNSSEC

Retrieve a DNSSEC key

Get DNSSEC keys for your DNS zone.

Authorizations:
tokenAuth
path Parameters
zoneId
required
string <uuid>

The ID (UUID) of the DNS zone.

Responses

Response samples

Content type
application/json
{
  • "id": "98277a78-a6a2-4672-ac9a-a68ca0a8d67a",
  • "type": "dnsseckeys",
  • "href": "<RESOURCE-URI>",
  • "metadata": {
    },
  • "properties": {
    }
}

Create a DNSSEC key

Enable DNSSEC keys and create associated DNSKEY records for your DNS zone.

Authorizations:
tokenAuth
path Parameters
zoneId
required
string <uuid>

The ID (UUID) of the DNS zone.

Request Body schema: application/json

Enable DNSSEC request.

required
object (dnssecKeyParameters)

Parameters used to sign zone.

Responses

Request samples

Content type
application/json
{
  • "properties": {
    }
}

Response samples

Content type
application/json
{
  • "properties": {
    },
  • "id": "98277a78-a6a2-4672-ac9a-a68ca0a8d67a",
  • "type": "dnsseckeys",
  • "href": "<RESOURCE-URI>"
}

Delete a DNSSEC key

Disable DNSSEC keys and remove associated DNSKEY records for your DNS zone.

Authorizations:
tokenAuth
path Parameters
zoneId
required
string <uuid>

The ID (UUID) of the DNS zone.

Responses

Response samples

Content type
application/json
{ }

ReverseRecords

related to reverse DNS records

Retrieves existing reverse DNS records

Returns a list of the reverse records of the customer. Default limit is the first 100 items. Use pagination query parameters to list more items.

Authorizations:
tokenAuth
query Parameters
filter.recordIp
Array of strings[ items unique ]

Filter is used to fetch only the reverse records for the specified IPs. It's an array of IP records. IP can be any valid IPv4 or IPv6 address. Parameter has to be sent in query as many times as values (filter.recordIp=1.2.3.4&filter.recordIp=2.3.4.5)

offset
integer <int32> >= 0
Default: 0

The first element (of the total list of elements) to include in the response. Use together with limit for pagination.

limit
integer <int32> [ 1 .. 1000 ]
Default: 100

The maximum number of elements to return. Use together with offset for pagination.

Responses

Response samples

Content type
application/json
{
  • "id": "e74d0d15-f567-4b7b-9069-26ee1f93bae3",
  • "type": "collection",
  • "href": "<RESOURCE-URI>",
  • "items": [
    ],
  • "offset": 0,
  • "limit": 1000,
  • "_links": {}
}

Create a reverse DNS record

Creates a new reverse DNS record. Reverse DNS is applicable to IPv4 addresses within IP Blocks and IPv6 addresses of the VDC.

Authorizations:
tokenAuth
Request Body schema: application/json

reverserecord

required
object (ReverseRecord)

The reverse DNS record.

Responses

Request samples

Content type
application/json
{
  • "properties": {
    }
}

Response samples

Content type
application/json
{
  • "id": "e74d0d15-f567-4b7b-9069-26ee1f93bae3",
  • "type": "reverserecord",
  • "href": "<RESOURCE-URI>",
  • "metadata": {
    },
  • "properties": {
    }
}

Retrieve a reverse DNS record

Returns the record with the specified record ID.

Authorizations:
tokenAuth
path Parameters
reverserecordId
required
string <uuid>

The ID (UUID) of the reverse DNS record.

Responses

Response samples

Content type
application/json
{
  • "id": "e74d0d15-f567-4b7b-9069-26ee1f93bae3",
  • "type": "reverserecord",
  • "href": "<RESOURCE-URI>",
  • "metadata": {
    },
  • "properties": {
    }
}

Update a reverse DNS record

Updates or creates a reverse DNS record for the provided reverse DNS record ID.

Authorizations:
tokenAuth
path Parameters
reverserecordId
required
string <uuid>

The ID (UUID) of the reverse DNS record.

Request Body schema: application/json
required
object (ReverseRecord)

The reverse DNS record.

Responses

Request samples

Content type
application/json
{
  • "properties": {
    }
}

Response samples

Content type
application/json
{
  • "id": "e74d0d15-f567-4b7b-9069-26ee1f93bae3",
  • "type": "reverserecord",
  • "href": "<RESOURCE-URI>",
  • "metadata": {
    },
  • "properties": {
    }
}

Delete a reverse DNS record

Deletes a reverse DNS record.

Authorizations:
tokenAuth
path Parameters
reverserecordId
required
string <uuid>

The ID (UUID) of the reverse DNS record.

Responses

Response samples

Content type
application/json
{ }