Question

How to update DNS records? Receiving "Data needs to end with a dot (.)"

Posted November 17, 2020 114 views
APIDigitalOcean API and CLI (doctl)
doctl compute domain records list do.${ME}.com
ID           Type     Name            Data   Priority    Port    TTL      Weight
12345678     CNAME    my-domain       ...    0           0       1800     0

But:

doctl compute domain records update do.${ME}.com \
--record-id 12345678 \
--record-ttl 43200

Error: PUT https://api.digitalocean.com/v2/domains/do.${ME}.com/records/12345678: 422 Data needs to end with a dot (.)

And:

https://developers.digitalocean.com/documentation/v2/#update-a-domain-record

“Any attribute valid for the record type can be set to a new value for the record.”

And:

curl \
--request PUT \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${TOKEN}" \
--data '{"ttl": 43200}' https://api.digitalocean.com/v2/domains/do.${ME}.com/records/12345678
{"id":"unprocessable_entity","message":"Data needs to end with a dot (.)"}

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

×
1 answer

Hi there @dazwilkin,

I was able to reproduce this at my end as well, seems to affect CNAME records and NS records.

I will report this, but in the meantime, I found the following workaround, just pass the data as well:

curl \
--request PUT \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${TOKEN}" \
--data '{"ttl": 43200, "data": "your_cname.example.com."}' https://api.digitalocean.com/v2/domains/do.${ME}.com/records/12345678
{"id":"unprocessable_entity","message":"Data needs to end with a dot (.)"}

Let me know how it goes.
Regards,
Bobby

Submit an Answer