When I try to set a sub domain using the set_dns command, it wipes out all my sub domain records.
This is the url I've been using to try this:
https://api.dynadot.com/api3.html?key=MY_KEY&command=set_dns&domain=MY_DOMAIN&main_record_type=a&main_record=IP_ADDRESS&sub_record_type0=a&sub_record0=SUB_IP_ADDRESS
I'm not sure if you're following the issue I'm trying to point out.
If I want to change just one parameter and don't specify all parameters, it will wipe out all the other parameters that I don't specify.
For example, lets say I have a dns that looks like this:
Domain Record | type | IP
mydomain.com | A | 0.0.0.1
Sub Record | type | IP
test1.mydomain.com | A | 0.0.0.2
test2.mydomain.com | A | 0.0.0.3
Now lets say I want to just change the IP address of sub record 0 (test1) to 0.0.0.4.
If I use the following query string, it'll wipe out all the other settings in the dns: (i've broken the url in multiple lines for readability)
https://api.dynadot.com/api3.html?
key=MY_KEY&
command=set_dns&
domain=mydomain.com&
sub_record0=0.0.0.4
In order for it to change what I want and keep all the other settings in the dns record, the query string has to have all the settings for the dns record that you want to keep.
Staying with the current example, I'd have to do this to get it to not wipe out the other settings:
https://api.dynadot.com/api3.html?key=MY_KEY&
command=set_dns&
domain=mydomain.com&
main_record_type=a&
main_record=0.0.0.1&
subdomain0=test1&
sub_record_type0=a&
sub_record0=0.0.0.4&
subdomain1=test2&
sub_record_type1=a&
sub_record1=0.0.0.3
This is unnecessarily extraneous, and makes it easy to accidentally wipe out your dns records.
It'd be ideal to only have to include the parameter you want to change in the query string, and not have to include all the other parameters that you don't want to change in the dns record.
This issue raises in 2013, and i can't believe Dynadot Architect and Engineers are still not improving their API. Is 2021, fast forward 7 years, the same issue happens to me. I just signed up recently and I was shocked to see the same issue. it DOESN'T MAKE SENSE to wipe out all the records by just needed to add 1 record. The solution given to me is that when adding 1 record, i need to make sure i include all the previous records. If i have 40 records, wanted to add 1, i have to submit my payload with total of 41 records. How on earth i get the previous 40 records in the first place ? This is definitely a design issue. go-acme/lego has rejected to add dynadot as their provider when I was talking to them https://github.com/go-acme/lego
Thanks. It sort of works now. When using "set_dns" to change a subdomain it'll now apply the changes to the subdomain you specify but will wipe out all the other DNS settings for that domain that you don't specify - including the MX records. I found this out the hard way when someone told me they got a returned email when they sent me an email to one of my domains that I have custom MX records set.
Can you get "set_dns" to apply changes only to the settings you specify without wiping out the rest of the DNS settings for that domain?
Thanks again!
Thanks for your patience. This is actually how the set_dns command is intended to function. The system will read any subdomain records not included as blank and will set them as such.
But it's also wiping out the MX records. It seems a little extraneous to include all dns settings (including MX records) in one call to only change one part of the dns settings.
I realize this thread is really old just found it through googling. The fact that I have to submit ALL of the information again rather than just say change sub_record_type9=whatever is kind of ridiculous.
This issue raises in 2013, and i can't believe Dynadot Architect and Engineers are still not improving their API. Is 2021, fast forward 7 years, the same issue happens to me. I just signed up recently and I was shocked to see the same issue. it DOESN'T MAKE SENSE to wipe out all the records by just needed to add 1 record. The solution given to me is that when adding 1 record, i need to make sure i include all the previous records. If i have 40 records, wanted to add 1, i have to submit my payload with total of 41 records. How on earth i get the previous 40 records in the first place ? This is definitely a design issue. go-acme/lego has rejected to add dynadot as their provider when I was talking to them https://github.com/go-acme/lego
I need a solution from Dynadot for this and stop using XML for API please. Please make a new version 4 that support JSON
It's 2022 now, 9 years past and it is still an issue. If `set_dns` or `set_dns2` is designed to work this way. Could you provide a new API, namely `update_dns_record`, supports updating/adding a single DNS record under a specific domain?
Just found this thread after trying to add one record and ALL my other records are now gone :-(
Please, please change this or add at least another option for "update_dns_record".
Just found this thread after trying to add one record and ALL my other records are now gone :-(
Please, please change this or add at least another option for "update_dns_record".
Setting Sub Domains with "set_dns" - Not Working