Create a DNS Zone

Note: Only contract administrators, owners, and users with "accessAndManageDns" privilege can create and manage DNS zones and DNS records via API. You can also set User privileges in the DCD.

Prerequisite: You need an IONOS Cloud account with API credentials configured with the appropriate permissions.

To create a DNS zone with Cloud DNS API, follow this step:

  • Perform a POST request with the domain or subdomain, a description of your DNS zone (optional), and the DNS zone status (enable), true or false.

Request

curl --location \  
--request POST  'https://dns.de-fra.ionos.com/zones' \
--header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJraWQiO' \
--header 'Content-Type: application/json' \
--data '{
   "properties": {
    "zoneName": "example.com",
     "description": "example of zone creation",
     "enabled": true
    }
}'

Response

202 Successful operation

{
    "id": "2a4428b3-dbe0-4357-9c02-609025b3a40f",
    "type": "zone",
    "href": "<RESOURCE-URI>",
    "metadata": {
        "createdDate": "2022-08-21T15:52:53Z",
        "createdBy": "ionos:iam:cloud:31960002:users/87f9a82e-b28d-49ed-9d04-fba2c0459cd3",
        "createdByUserId": "87f9a82e-b28d-49ed-9d04-fba2c0459cd3",
        "lastModifiedDate": "2022-08-21T15:52:53Z",
        "lastModifiedBy": "ionos:iam:cloud:31960002:users/87f9a82e-b28d-49ed-9d04-fba2c0459cd3",
        "lastModifiedByUserId": "63cef532-26fe-4a64-a4e0-de7c8a506c90",
        "resourceURN": "ionos:<product>:<location>:<contract>:<resource-path>",
        "nameservers": [
            "ns-ic.ui-dns.com",
            "ns-ic.ui-dns.de",
            "ns-ic.ui-dns.org",
            "ns-ic.ui-dns.biz"
        ],
        "state": "CREATED"
    },
    "properties": {
	      "zoneName": "example.com",
        "description": "example of zone creation",
        "enabled": true
    }
}

Response Fields

Field
Type
Description
Example

id

string

UUID of the newly created DNS zone

2a4428b3-dbe0-4357-9c02-609025b3a40f

type

string

Type of the resource

zone

href

string

Absolute path to the newly created DNS zone

createdDate

string

DNS zone creation timestamp

2023-03-15T09:58:59.147746133Z

createdBy

string

Unique name of the identity that created the resource

ionos:iam:cloud:31960002:users/87f9a82e-b28d-49ed-9d04-fba2c0459cd3

createdByUserId

string

The unique ID of the user who created the resource

87f9a82e-b28d-49ed-9d04-fba2c0459cd3

lastModifiedDate

string

DNS zone update timestamp

2023-03-15T09:58:59.147746133Z

lastModifiedBy

string

Unique ID of the user has last modified the resource

ionos:iam:cloud:31960002:users/87f9a82e-b28d-49ed-9d04-fba2c0459cd3

lastModifiedByUserId

string

DNS zone update timestamp

63cef532-26fe-4a64-a4e0-de7c8a506c90

resourceURN

string

Unique name of the resource

ionos:<product>:<location>:<contract>:<resource-path>

nameservers

array

Name Servers assigned to the DNS zone

"ns-ic.ui-dns.com", "ns-ic.ui-dns.de", "ns-ic.ui-dns.org", "ns-ic.ui-dns.biz"

state

string

State of the request

CREATED

Quota

To retrieve the quota of DNS zones, perform a GET request to the /quota endpoint.

Request

curl --location 'https://dns.de-fra.ionos.com/quota' \
--header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJraWQiO' \
--header 'Content-Type: application/json'

Response

200 OK

{
  "quotaLimits": {
    "records": 100000,
    "reverseRecords": 5000,
    "secondaryZones": 100000,
    "zones": 50000
  },
  "quotaUsage": {
    "records": 9,
    "reverseRecords": 1,
    "secondaryZones": 6,
    "zones": 5
  }
}

Response Fields

Field
Type
Description
Example

records

string

Number of DNS records

100000

reverseRecords

string

Number of reverse DNS records

5000

secondaryZones

string

Number of secondary DNS zones

100000

zones

string

Number of DNS zones

50000

records

string

Number of DNS records used

9

reverseRecords

string

Number of reverse DNS records used

1

secondaryZones

string

Number of secondary DNS zones used

6

zones

string

Number of DNS zones used

5

Last updated

Was this helpful?