-- List Zones
curl -X GET "https://api.cloudflare.com/client/v4/zones?status=active&page=1&per_page=50&order=status&direction=desc&match=all" \
-H "X-Auth-Email: EMAIL" \
-H "X-Auth-Key: APIKEY" \
-H "Content-Type: application/json"
php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://api.cloudflare.com/client/v4/zones?status=active&page=1&per_page=50&order=status&direction=desc&match=all",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_HTTPHEADER => array(
"content-type: application/json",
"x-auth-email: EMAIL",
"x-auth-key: APIKEY"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
example:
{
"result":[
{
"id":"asd341afb42hj5k5s9sdfm40smf04jgjsdf02",// ZONE ID!
"name":"xzarex.xyz", // DOMAIN!
"status":"active",
"paused":false,
"type":"full",
"development_mode":0,
"name_servers":[
"adam.ns.cloudflare.com",
"naomi.ns.cloudflare.com"
],
"original_name_servers":[
"dns2.registrar-servers.com",
"dns1.registrar-servers.com"
],
"original_registrar":null,
"original_dnshost":null,
"modified_on":"2018-10-21T07:03:44.154390Z",
"created_on":"2018-07-13T12:03:35.190506Z",
"activated_on":"2018-07-13T12:13:48.502583Z",
"meta":{
"step":3,
"wildcard_proxiable":false,
"custom_certificate_quota":0,
"page_rule_quota":3,
"phishing_detected":false,
"multiple_railguns_allowed":false
},
"owner":{
"id":"OWNERID",
"type":"user",
"email":"EMAIL"
},
"account":{
"id":"ACCOUNTID",
"name":"EMAIL"
},
"permissions":[
"#access:edit",
"#access:read",
"#analytics:read",
"#app:edit",
"#auditlogs:read",
"#billing:edit",
"#billing:read",
"#cache_purge:edit",
"#dns_records:edit",
"#dns_records:read",
"#lb:edit",
"#lb:read",
"#legal:edit",
"#legal:read",
"#logs:edit",
"#logs:read",
"#member:edit",
"#member:read",
"#organization:edit",
"#organization:read",
"#ssl:edit",
"#ssl:read",
"#stream:edit",
"#stream:read",
"#subscription:edit",
"#subscription:read",
"#waf:edit",
"#waf:read",
"#webhooks:edit",
"#webhooks:read",
"#worker:edit",
"#worker:read",
"#zone:edit",
"#zone:read",
"#zone_settings:edit",
"#zone_settings:read"
],
"plan":{
"id":"0feeeeeeeeeeeeeeeeeeeeeeeeeeeeee",
"name":"Free Website",
"price":0,
"currency":"USD",
"frequency":"",
"is_subscribed":true,
"can_subscribe":false,
"legacy_id":"free",
"legacy_discount":false,
"externally_managed":false
}
}
],
"result_info":{
"page":1,
"per_page":50,
"total_pages":1,
"count":1,
"total_count":1
},
"success":true,
"errors":[
],
"messages":[
]
}
-- List DNS Records with specific name
curl -X GET "https://api.cloudflare.com/client/v4/zones/*ZONEID*/dns_records?name=SUB.DOMAIN.TDL&page=1&per_page=50&order=type&direction=desc&match=all" \
-H "X-Auth-Email: EMAIL" \
-H "X-Auth-Key: APIKEY" \
-H "Content-Type: application/json"
php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://api.cloudflare.com/client/v4/zones/*ZONEID*/dns_records?name=SUB.DOMAIN.TDL&page=1&per_page=50&order=type&direction=desc&match=all",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_HTTPHEADER => array(
"content-type: application/json",
"x-auth-email: EMAIL",
"x-auth-key: APIKEY"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
example:
{
"result":[
],
"result_info":{
"page":1,
"per_page":50,
"total_pages":0,
"count":0, // perfect -> no dns record with our name
"total_count":0
},
"success":true,
"errors":[
],
"messages":[
]
}
-- Create A DNS Record
curl -X POST "https://api.cloudflare.com/client/v4/zones/*ZONEID*/dns_records" \
-H "X-Auth-Email: EMAIL" \
-H "X-Auth-Key: APIKEY" \
-H "Content-Type: application/json" \
--data '{"type":"A","name":"ts.xzarex.xyz","content":"127.0.0.1","ttl":1,"priority":10,"proxied":false}'
php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://api.cloudflare.com/client/v4/zones/*ZONEID*/dns_records",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_POST => 1,
CURLOPT_POSTFIELDS => "{\"type\":\"A\",\"name\":\"ts.xzarex.xyz\",\"content\":\"127.0.0.1\",\"ttl\":1,\"priority\":10,\"proxied\":false}",
CURLOPT_HTTPHEADER => array(
"content-type: application/json",
"x-auth-email: EMAIL",
"x-auth-key: APIKEY"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
example:
{
"result": {
"id": "68c21a9970bf7ccc145751cb36ea0c02",
"type": "A",
"name": "ts.xzarex.xyz",
"content": "127.0.0.1",
"proxiable": false,
"proxied": false,
"ttl": 1,
"locked": false,
"zone_id": "499fb35cCCCCC8a6d91",
"zone_name": "xzarex.xyz",
"modified_on": "2019-05-14T16:06:01.699504Z",
"created_on": "2019-05-14T16:06:01.699504Z",
"meta": {
"auto_added": false,
"managed_by_apps": false,
"managed_by_argo_tunnel": false
}
},
"success": true,
"errors": [],
"messages": []
}
-- Create SRV DNS Record
curl -X POST "https://api.cloudflare.com/client/v4/zones/*ZONEID*/dns_records" \
-H "X-Auth-Email: EMAIL" \
-H "X-Auth-Key: APIKEY" \
-H "Content-Type: application/json" \
--data '{"type":"SRV", "data": {"service":"_ts3", "proto":"_udp", "name":"ts3.xzarex.xyz","target":"ts.xzarex.xyz","port": 9987,"ttl":1,"priority":10, "weight":1,"proxied":false}}'
php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://api.cloudflare.com/client/v4/zones/*ZONEID*/dns_records",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_POST => 1,
CURLOPT_POSTFIELDS => "{\"type\":\"SRV\", \"data\": {\"service\":\"_ts3\", \"proto\":\"_udp\", \"name\":\"ts3.xzarex.xyz\",\"target\":\"ts.xzarex.xyz\",\"port\": 9987,\"ttl\":1,\"priority\":10, \"weight\":1,\"proxied\":false}}",
CURLOPT_HTTPHEADER => array(
"content-type: application/json",
"x-auth-email: EMAIL",
"x-auth-key: APIKEY"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
example:
{
"result": {
"id": "8aba0bb02ASDASDSD3e03c152",
"type": "SRV",
"name": "_ts3._udp.ts3.xzarex.xyz",
"content": "1\t9987\tts.xzarex.xyz",
"proxiable": false,
"proxied": false,
"ttl": 1,
"priority": 10,
"locked": false,
"zone_id": "499fb35ASDASD48a6d91",
"zone_name": "xzarex.xyz",
"modified_on": "2019-05-14T16:08:34.586992Z",
"created_on": "2019-05-14T16:08:34.586992Z",
"meta": {
"auto_added": false,
"managed_by_apps": false,
"managed_by_argo_tunnel": false
},
"data": {
"service": "_ts3",
"proto": "_udp",
"name": "ts3",
"weight": 1,
"port": 9987,
"target": "ts.xzarex.xyz",
"priority": 10
}
},
"success": true,
"errors": [],
"messages": []
}