Cloudflare API Example in bash/curl
March 10, 2025
note-to-self
Cloudflare API Example in bash/curl. This particular script was a proof-of-concept to disable a cache rule.
TOKEN=
ACCOUNT_ID=
ZONE_ID=
# Verify token
# curl -X GET "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/tokens/verify" \
# -H "Authorization: Bearer $TOKEN" \
# -H "Content-Type:application/json"
#
# Get ruleset ID I need
# curl -X GET "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets" \
# -H "Authorization: Bearer $TOKEN"
# ^^^ Need to get the RULESET_ID from that
RULESET_ID=
# View the ruleset
curl -X GET "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets/$RULESET_ID" \
-H "Authorization: Bearer $TOKEN"
# Patch the ruleset
curl -X PUT "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets/$RULESET_ID" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type:application/json" \
-d '{
"rules": [
{
"action": "set_cache_settings",
"action_parameters": {
"cache": true
},
"enabled": true,
"expression": "true"
}
]
}'
#
# View the ruleset to validate
curl -X GET "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets/$RULESET_ID" \
-H "Authorization: Bearer $TOKEN"