Common API calls
The following sections contain example requests for common API calls. For a list of available API endpoints, refer to Endpoints.
The following example retrieves the currently configured rules for Advanced DNS Protection.
curl "https://api.cloudflare.com/client/v4/accounts/{account_id}/magic/advanced_dns_protection/configs/dns_protection/rules" \--header "Authorization: Bearer <API_TOKEN>"
---{ "result": [ { "id": "<RULE_ID>", "scope": "<SCOPE>", "name": "<NAME>", "mode": "<MODE>", "profile_sensitivity": "<SENSITIVITY>", "rate_sensitivity": "<RATE>", "burst_sensitivity": "<BURST>", "created_on": "2023-10-01T13:10:38.762503+01:00", "modified_on": "2023-10-01T13:10:38.762503+01:00", } ], "success": true, "errors": [], "messages": []}
The following example creates an Advanced DNS Protection rule with a global scope.
curl "https://api.cloudflare.com/client/v4/accounts/{account_id}/magic/advanced_dns_protection/configs/dns_protection/rules" \--header "Authorization: Bearer <API_TOKEN>" \--data '{ "scope": "global", "name": "global", "mode": "<MODE>", "rate_sensitivity": "<RATE>", "burst_sensitivity": "<BURST>", "profile_sensitivity": "<SENSITIVITY>"}'
{ "result": { "id": "<RULE_ID>", "scope": "global", "name": "global", "mode": "<MODE>", "rate_sensitivity": "<RATE>", "burst_sensitivity": "<BURST>", "profile_sensitivity": "<SENSITIVITY>", "created_on": "2023-10-01T13:10:38.762503+01:00", "modified_on": "2023-10-01T13:10:38.762503+01:00", }, "success": true, "errors": [], "messages": []}
Refer to JSON objects for more information on the fields in the JSON body.
The following example updates an existing DNS protection rule with ID {rule_id}
.
The request body can contain only the fields you want to update (from mode
, profile_sensitivity
, rate_sensitivity
, and burst_sensitivity
).
curl --request PATCH \"https://api.cloudflare.com/client/v4/accounts/{account_id}/magic/advanced_dns_protection/configs/dns_protection/rules/{rule_id}" \--header "Authorization: Bearer <API_TOKEN>" \--data '{ "mode": "<NEW_MODE>", "profile_sensitivity": "<NEW_SENSITIVITY>", "rate_sensitivity": "<NEW_RATE>", "burst_sensitivity": "<NEW_BURST>"}'
{ "result": { "id": "<RULE_ID>", "scope": "<SCOPE>", "name": "<NAME>", "mode": "<NEW_MODE>", "profile_sensitivity": "<NEW_SENSITIVITY>", "rate_sensitivity": "<NEW_RATE>", "burst_sensitivity": "<NEW_BURST>", "created_on": "2023-10-01T13:10:38.762503+01:00", "modified_on": "2023-10-01T13:10:38.762503+01:00", }, "success": true, "errors": [], "messages": []}
Refer to JSON objects for more information on the fields in the JSON body.