Update Zone Precursor Config
PUT/zones/{zone_id}/precursor
Updates the Precursor configuration for a zone.
default_mode sets the zone-level enforcement mode. enforcement_rules
is the ordered list of rules that override enforcement for matching
requests.
This is a partial update: only the fields present in the request body are changed.
- Sending an empty array (
[]) clears all enforcement rules. - At least one of
default_modeorenforcement_rulesmust be present; an empty body ({}) is rejected with400. - Rule
idis read-only (assigned by Cloudflare) and ignored on input. - Rule
modemust bemin-frictionormax-security(offis not a valid rule mode; usedefault_modeto disable enforcement). - Rule
expressionis limited to 4000 characters. The limit applies to each rule individually, not to the combined size of all rules.
Security
API Token
The preferred authorization scheme for interacting with the Cloudflare API. Create a token.
Example:
API Email + API Key
The previous authorization scheme for interacting with the Cloudflare API, used in conjunction with a Global API key.
Example:
The previous authorization scheme for interacting with the Cloudflare API. When possible, use API tokens instead of Global API keys.
Example:
Update Zone Precursor Config
curl https://api.cloudflare.com/client/v4/zones/$ZONE_ID/precursor \
-X PUT \
-H 'Content-Type: application/json' \
-H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
-d '{
"default_mode": "min-friction"
}'{
"errors": [
{
"code": 1000,
"message": "message",
"documentation_url": "documentation_url",
"source": {
"pointer": "pointer"
}
}
],
"messages": [
{
"code": 1000,
"message": "message",
"documentation_url": "documentation_url",
"source": {
"pointer": "pointer"
}
}
],
"success": true,
"result": {
"default_mode": "min-friction",
"enforcement_rules": [
{
"expression": "http.request.uri.path eq \"/shop\"",
"mode": "max-security",
"id": "3a03d665bac043e3a684e0d385a4b1e2",
"description": "Enforce max-security on the shop page",
"enabled": true
}
]
}
}Returns Examples
{
"errors": [
{
"code": 1000,
"message": "message",
"documentation_url": "documentation_url",
"source": {
"pointer": "pointer"
}
}
],
"messages": [
{
"code": 1000,
"message": "message",
"documentation_url": "documentation_url",
"source": {
"pointer": "pointer"
}
}
],
"success": true,
"result": {
"default_mode": "min-friction",
"enforcement_rules": [
{
"expression": "http.request.uri.path eq \"/shop\"",
"mode": "max-security",
"id": "3a03d665bac043e3a684e0d385a4b1e2",
"description": "Enforce max-security on the shop page",
"enabled": true
}
]
}
}