Create and Manage a Reverse DNS Record

Notes:

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

  • Sub-users can create Reverse DNS records only if the user group they belong to has access to the concerned IP block. For more information, see Add users to a group.

  • Cloud DNS API supports both IPv4 and IPv6 addresses for Reverse DNS records.

  • For more information about IPv6 configuration in the DCD see IPv6 Configuration.

Prerequisites

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

  • Before creating a Reverse DNS record, you must create an A record for the IP address you want to use for the reverse DNS record. For more information, see Create a DNS Record.

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

  • Perform a POST request with name, a description of reverse DNS record (optional), and the IP.

Note:

  • The IPv4 address must be from a reserved IP range. To reserve an IPv4 address, in the DCD go to the Menu > Management > IP Management. Enter a name and the number of IPv4 addresses, and select a region where you want your IPv4 addresses to be reserved. Select Reserve IP to reserve the IPv4 address, and confirm the reservation by pressing OK.

  • To use an IPv6 address for a reverse DNS record, it needs to belong to any of the /56 IPv6 blocks assigned to the VDC and have a prefix length of /128, that is, 2001:db8:1234:5678::1/128 and belongs to a 2001:db8:1234:5678::/56 block. For more information, see IPv6 Configuration.

Result: On a successful POST request, you receive a response containing the reverse DNS record UUID, type, href, metadata, properties of your reverse DNS record, name, description, and IP address.

Request

curl --location \  
--request POST  'https://dns.de-fra.ionos.com/reverserecords' \
--header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJraWQiO' \
--header 'Content-Type: application/json' \
--data '{
      "properties": {
        "name": "mail.example.com",
        "description": "The reverse DNS record is used for mail.example.com",
        "ip": "192.0.2.2"
  }
}'

Response

200 Successful operation

{
  "id": "e74d0d15-f567-4b7b-9069-26ee1f93bae3",
  "type": "reverserecord",
  "href": "<RESOURCE-URI>",
  "metadata": {
    "lastModifiedDate": "2022-08-21T15:52:53Z",
    "createdDate": "2022-08-21T15:52:53Z"
  },
  "properties": {
    "name": "mail.example.com",
    "description": "The reverse DNS record is used for mail.example.com",
    "ip": "192.0.2.2"
  }
}

Create an IPv6 reverse DNS record

To create an IPv6 reverse DNS record, perform a POST request to the /reverserecords endpoint with an IPv6 address in the request body.

Request

curl --location \
--request POST 'https://dns.de-fra.ionos.com/reverserecords' \
--header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJraWQiO' \
--header 'Content-Type: application/json' \
--data '{
      "properties": {
        "name": "mail.example.com",
        "description": "The reverse DNS record is used for mail.example.com",
        "ip": "2001:0db8::1"
  }
}'

Response

200 Successful operation

{
  "id": "e74d0d15-f567-4b7b-9069-26ee1f93bae3",
  "type": "reverserecord",
  "href": "<RESOURCE-URI>",
  "metadata": {
    "lastModifiedDate": "2022-08-21T15:52:53Z",
    "createdDate": "2022-08-21T15:52:53Z"
  },
  "properties": {
    "name": "mail.example.com",
    "description": "The reverse DNS record is used for mail.example.com",
    "ip": "2001:0db8::1"
  }
}

Response Fields

Retrieve all reverse DNS records

To retrieve all reverse DNS records, perform a GET request to the /reverserecords endpoint.

Result: On a successful GET request, you receive a response containing all reverse DNS records.

Request

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

Response

200 Successful operation

{
  "type": "collection",
  "href": "<RESOURCE-URI>",
  "items": [
    {
      "id": "e74d0d15-f567-4b7b-9069-26ee1f93bae3",
      "type": "reverserecord",
      "href": "<RESOURCE-URI>",
      "metadata": {
        "lastModifiedDate": "2022-08-21T15:52:53Z",
        "createdDate": "2022-08-21T15:52:53Z"
      },
      "properties": {
        "name": "mail.example.com",
        "description": "The reverse DNS record is used for mail.example.com",
        "ip": "192.0.2.2"
      }
    }
  ],
  "offset": 0,
  "limit": 1000,
  "_links": {
    "prev": "http://PREVIOUS-PAGE-URI",
    "self": "http://THIS-PAGE-URI",
    "next": "http://NEXT-PAGE-URI"
  }
}

Response Fields

Retrieve a reverse DNS record

To retrieve a reverse DNS record, perform a GET request to the /reverserecords/{id} endpoint.

Result: On a successful GET request, you receive a response containing the reverse DNS record UUID, type, href, metadata, and properties of your reverse DNS record, name, description, and IP.

Request

curl -X 'GET' \
  'https://dns.de-fra.ionos.com/reverserecords/e74d0d15-f567-4b7b-9069-26ee1f93bae3' \
  --header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJraWQiO' \
  -H 'accept: application/json'

Response

200 Successful operation

{
  "id": "e74d0d15-f567-4b7b-9069-26ee1f93bae3",
  "type": "reverserecord",
  "href": "<RESOURCE-URI>",
  "metadata": {
    "lastModifiedDate": "2022-08-21T15:52:53Z",
    "createdDate": "2022-08-21T15:52:53Z"
  },
  "properties": {
    "name": "mail.example.com",
    "description": "The reverse DNS record is used for mail.example.com",
    "ip": "192.0.2.2"
  }
}

Response Fields

Modify a reverse DNS record

To modify a reverse DNS record, perform a PUT request to the /reverserecords/{id} endpoint.

Result: On a successful PUT request, you receive a response containing the reverse DNS record UUID, type, href, metadata, and properties of your reverse DNS record, name, description, and IP.

Request

curl -X 'PUT' \
  'https://dns.de-fra.ionos.com/reverserecords/e74d0d15-f567-4b7b-9069-26ee1f93bae3' \
  --header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJraWQiO' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
  "properties": {
    "name": "mail.example.com",
    "description": "The reverse DNS record is used for mail.example.com",
    "ip": "192.0.2.3"
  }
}'

Response

200 Successful operation

{
  "id": "e74d0d15-f567-4b7b-9069-26ee1f93bae3",
  "type": "reverserecord",
  "href": "<RESOURCE-URI>",
  "metadata": {
    "lastModifiedDate": "2022-08-21T15:52:53Z",
    "createdDate": "2022-08-21T15:52:53Z"
  },
  "properties": {
    "name": "mail.example.com",
    "description": "The reverse DNS record is used for mail.example.com",
    "ip": "192.0.2.3"
  }
}

Response Fields

Delete a reverse DNS record

To delete a reverse DNS record, perform a DELETE request to the /reverserecords/{id} endpoint.

Result: On a successful DELETE request, you receive a HTTP response 202 Successful operation.

Request

curl -X 'DELETE' \
  'https://dns.de-fra.ionos.com/reverserecords/e74d0d15-f567-4b7b-9069-26ee1f93bae3' \
  --header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJraWQiO' \
  -H 'accept: application/json'

Response

202 Successful operation

Quota

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

Result: On a successful GET request, you receive a response containing the quota limits and quota usage for your contract.

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

Last updated