Links

Perform PUT Request for Non-Existing Records

If you have an infrastructure that uses public DNS records and manage it by defining the required state, you can use Cloud DNS as follows:
  1. 1.
    Create a DNS Zone with Cloud DNS.
  2. 2.
    Generate a UUID (v3, v4, and v5 supported) for your DNS record.
  3. 3.
    Add to your infrastructure a PUT call for the desired record configuration with your UUID and assign it to the corresponding DNS zone ID.
Result: On a successful PUT request,
  • If the record does not exist, Cloud DNS creates the record with the specified configuration.
  • If a record already exists but with a different configuration, the record is updated.

Request

curl --location --request PUT 'https://dns.de-fra.ionos.com/zones/2a4428b3-dbe0-4357-9c02-609025b3a40f/records/90d81ac0-3a30-44d4-95a5-12959effa6ee' \
--header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJraWQiO' \
--header 'Content-Type: application/json' \
--data '{
"properties": {
"name": "app",
"type": "A",
"content": "1.2.3.4",
"ttl": 3600,
"enabled": true
}
}

Response

202 Successful operation
{
"id": "90d81ac0-3a30-44d4-95a5-12959effa6ee",
"metadata": {
"lastModifiedDate": "2022-08-21T15:52:53Z",
"createdDate": "2022-08-21T15:52:53Z",
"state": "CREATED",
"fqdn": "app.example.com",
"zoneId": "2a4428b3-dbe0-4357-9c02-609025b3a40f"
},
"properties": {
"name": "app",
"type": "A",
"content": "1.2.3.4",
"ttl": 3600,
"enabled": true
}
}

Response Fields

Field
Type
Description
Example
id
string
UUID of the newly created DNS record
90d81ac0-3a30-44d4-95a5-12959effa6ee
createdDate
string
DNS record creation timestamp
2023-03-15T09:58:59.147746133Z
lastModifiedDate
string
DNS record update timestamp
2023-03-15T09:58:59.147746133Z
zoneId
string
UUID of the DNS zone of the DNS record
2a4428b3-dbe0-4357-9c02-609025b3a40f
fqdn
string
Fully qualified domain name resulting from the record name and the zoneName
app.example.com
state
string
State of the request
CREATED