Create a Zone - Jump Start

When creating a zone I set “jump_start”: true, however, it doesn’t fetch existing DNS records. No records are added. I get a successful response and the zone is created but DNS isn’t fetched.

https://api.cloudflare.com/#zone-create-zone

Sometimes if I delete the zone then attempt to add it again via the API it works just fine and DNS are fetched. Other times it doesn’t.

I checked in with the DNS team on this one and we’re actually in the process of changing jump_start to move to a newer system for scanning DNS records which the UI uses already.

If you want to try it (the API is not documented yet), you can do this by creating the zone with jump_start: false and then calling this API:

POST https://api.cloudflare.com/client/v4/zones/023e105f4ecef8ad9ca31a8372d0c353/dns_records/scan

Replacing 023e105f4ecef8ad9ca31a8372d0c353 appropriately with your zone tag.

Note that if you have already set your NS to Cloudflare’s at the registrar this scan will fail, we need to be able to see the previous NS externally in order for the scan to complete.

1 Like

i get :

{
    "code": 1001,
    "error": "method_not_allowed"
}

You would need to post the full HTTP request & response headers - redact your authentication details before sharing them.

But before doing that, just check you’re sending a POST to the correct URL for your zone - that message implies you may be using the wrong method or hitting the wrong path.

i use this CURL request but i get Timeout operation :

curl -X POST "https://api.cloudflare.com/client/v4/zones/b86f3eeb42547e0604cb4473e2593e12/dns_records/scan" \
     -H "Authorization: Bearer bewjqG7Kz1wcActhY1JNrc-LOmm5bpVRjXQ9VfQT" \
     -H "Content-Type: application/json"

when i change POST with GET i get method_not_allowed

I have exactly the same issue.
like yesterday I called that API and it worked but now it does not. it add the domain name but no DNS records. how did you solve this? can you share please?
Thanks !

I tired this but it shows null for me.
actually what i am trying to do is the following:

Is there any API that should be customizable. for instance I want to create only 4 records namely:
1- A for mail with content ( IP)
2- A for www with content ( IP)
3- A for domain-name with content ( IP)
4- MX for mail with content (mail.domain-Name)
so how can i add them using API.

currently I use this API " https://support.cloudflare.com/hc/en-us/articles/360000841472-Adding-Multiple-Sites-to-Cloudflare-via-Automation "
and set jump_start= true

which creates multiple record but no www record and no A record for root domain.
so it does not work for me.
any help appreciated.
Thanks!

hey bro, i think the approved solution is working well, i just making a test yesterday and i add up to 50 zones with jump_start : false , then i call the ‘scan’ request and the DNS Records scanned successfully.
im working on a .NET project with cloudflare client api, what is you project langugae may i can help with ?

Hi @emdlabhelper. thanks for your reply.
my project is in Laravel. this is how I call the API.
$ch = curl_init(“https://api.cloudflare.com/client/v4/zones/4827b7a2a6ec234wrewra68ba43/dns_records/scan”);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,false);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, “POST”);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
‘X-Auth-Email: ‘.$email.’’,
‘X-Auth-Key: ‘.$apikey.’’,
‘Content-Type:application/json’
));
$sonuc = curl_exec($ch);
dd(json_decode($sonuc));

and this is the result. check the image bellow please:

But when I check on Cloudflare account under my domain there is no record added.
any suggestion would be appreciated.
thanks!
strong text

is that zone ‘4827b7a2a6ec234wrewra68ba43’ created with jump_start : false ?
if yes, check on your registrar that your domain contains any dns records, because as i see in the SC the curl command succeeded but “recs_added” : 0 that’s mean CloudFlare not found any dns records in your domain name servers, try to double check with an other zone and let me know

also, you need to take care of this NOTE:

Note that if you have already set your NS to Cloudflare’s at the registrar this scan will fail, we need to be able to see the previous NS externally in order for the scan to complete.

Yes, on my registrar the name servers are already added. and that id is created by jump_start=false.
so you mean I have to remove the name server on my registrar. right?

Yes, you need to scan for DNS Records before adding name servers on your registrar.

Ok, so I tried with different domain that does not have any name server on it’s registrar and it worked.
But it just add some certain records not all the records.
for example i want to add A record for my domain-name, MX for mail.domain-name and A for mail.
they are not added there. only A for www is added which is fine.

So, is there any other way to add all those records in one call?
Thanks for helping so far.

Emmm, the ‘Scan’ request scan for all dns records and add them to your zone without specification,
i think there is an issue in your domain name servers, not an API issue
could you send me your domain (test domain) i can add it to my account to check for returning records…

I can share the domain but not the server IP, if it works that way for you.
the domain under test is: [dvyaflair.com ].
when i call the scan request API it creates 7 records as shown in image bellow.
thanks!

Screen Shot 2020-10-14 at 12.06.52 AM|690x335

yes there 7 records under your domain, i think that’s all or there some records not fetched ?

yes exactly the same records I get too. The problem is that the MX records created here is not pointing to “mail.dvyaflair.com” to enable us send and receive email.