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).
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
}
]
}
}