Configure Managed Transforms
-
Log in to the Cloudflare dashboard ↗, and select your account and website.
-
Go to Rules > Settings.
-
In the Managed Transforms tab, enable or disable the desired Managed Transforms by selecting the toggle next to each entry. Some Managed Transforms may not be available in your Cloudflare plan or product subscriptions.
1. Get list of available Managed Transforms
Check the Managed Transform's current status and availability using the List Managed Transforms operation.
The following example request obtains a list of available Managed Transforms, organized by request or response, with information about their current status (enabled field) and if you can update them, based on conflicts with other enabled Managed Transforms (has_conflict field).
Each Managed Transform item will optionally contain a conflicts_with array informing you about any Managed Transforms that will conflict with the current Managed Transform when enabled.
The response will only include available Managed Transforms according to your Cloudflare plan and product subscriptions.
Required API token permissions
At least one of the following token permissions
is required:
Response Compression WriteResponse Compression ReadConfig Settings WriteConfig Settings ReadDynamic URL Redirects WriteDynamic URL Redirects ReadCache Settings WriteCache Settings ReadCustom Errors WriteCustom Errors ReadOrigin WriteOrigin ReadManaged headers WriteManaged headers ReadZone Transform Rules WriteZone Transform Rules ReadMass URL Redirects WriteMass URL Redirects ReadMagic Firewall WriteMagic Firewall ReadL4 DDoS Managed Ruleset WriteL4 DDoS Managed Ruleset ReadHTTP DDoS Managed Ruleset WriteHTTP DDoS Managed Ruleset ReadSanitize WriteSanitize ReadTransform Rules WriteTransform Rules ReadSelect Configuration WriteSelect Configuration ReadBot Management WriteBot Management ReadZone WAF WriteZone WAF ReadAccount WAF WriteAccount WAF ReadAccount Rulesets ReadAccount Rulesets WriteLogs WriteLogs ReadLogs WriteLogs Read
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/managed_headers" \ --request GET \ --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"{ "result": { "managed_request_headers": [ { "enabled": false, "has_conflict": false, "id": "add_bot_protection_headers" },32 collapsed lines
{ "enabled": false, "has_conflict": false, "id": "add_client_certificate_headers" }, { "enabled": false, "has_conflict": false, "id": "add_visitor_location_headers" }, { "conflicts_with": ["remove_visitor_ip_headers"], "enabled": false, "has_conflict": false, "id": "add_true_client_ip_headers" }, { "conflicts_with": ["add_true_client_ip_headers"], "enabled": false, "has_conflict": false, "id": "remove_visitor_ip_headers" }, { "enabled": false, "has_conflict": false, "id": "add_waf_credential_check_status_header" }, { "enabled": false, "has_conflict": false, "id": "add_waf_content_scan_status_header" } ], "managed_response_headers": [ { "enabled": false, "has_conflict": false, "id": "remove_x-powered-by_header" },5 collapsed lines
{ "enabled": false, "has_conflict": false, "id": "add_security_headers" } ] }, "success": true, "errors": [], "messages": []}2. Change the status of Managed Transforms
Change the status of the desired Managed Transforms using the Update status of Managed Transforms operation.
Add the Managed Transforms you wish to change to the request body, and update their status in the enabled field. You cannot enable a Managed Transform that has a conflict with a currently enabled Managed Transform (that is, an item where has_conflict is true).
Make sure you include the Managed Transforms you are updating in the correct JSON object (managed_request_headers or managed_response_headers).
The response will include all the available Managed Transforms and their new status after the update.
Required API token permissions
At least one of the following token permissions
is required:
Response Compression WriteConfig Settings WriteDynamic URL Redirects WriteCache Settings WriteCustom Errors WriteOrigin WriteManaged headers WriteZone Transform Rules WriteMass URL Redirects WriteMagic Firewall WriteL4 DDoS Managed Ruleset WriteHTTP DDoS Managed Ruleset WriteSanitize WriteTransform Rules WriteSelect Configuration WriteBot Management WriteZone WAF WriteAccount WAF WriteAccount Rulesets WriteLogs WriteLogs Write
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/managed_headers" \ --request PATCH \ --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \ --json '{ "managed_request_headers": [ { "id": "add_visitor_location_headers", "enabled": true } ], "managed_response_headers": [ { "id": "remove_x-powered-by_header", "enabled": true } ] }'{ "result": { "managed_request_headers": [10 collapsed lines
{ "enabled": false, "has_conflict": false, "id": "add_bot_protection_headers" }, { "enabled": false, "has_conflict": false, "id": "add_client_certificate_headers" }, { "enabled": true, "has_conflict": false, "id": "add_visitor_location_headers" },22 collapsed lines
{ "conflicts_with": ["remove_visitor_ip_headers"], "enabled": false, "has_conflict": false, "id": "add_true_client_ip_headers" }, { "conflicts_with": ["add_true_client_ip_headers"], "enabled": false, "has_conflict": false, "id": "remove_visitor_ip_headers" }, { "enabled": false, "has_conflict": false, "id": "add_waf_credential_check_status_header" }, { "enabled": false, "has_conflict": false, "id": "add_waf_content_scan_status_header" } ], "managed_response_headers": [ { "enabled": true, "has_conflict": false, "id": "remove_x-powered-by_header" },5 collapsed lines
{ "enabled": false, "has_conflict": false, "id": "add_security_headers" } ] }, "success": true, "errors": [], "messages": []}Use the cloudflare_managed_headers Terraform resource to configure Managed Transforms. For example:
resource "cloudflare_managed_headers" "tf_example" { zone_id = "<ZONE_ID>"
managed_request_headers { id = "add_visitor_location_headers" enabled = true }
managed_response_headers { id = "remove_x-powered-by_header" enabled = true }}Make sure you include the Managed Transforms you are updating in the correct object (managed_request_headers or managed_response_headers).
Was this helpful?
- Resources
- API
- New to Cloudflare?
- Products
- Sponsorships
- Open Source
- Support
- Help Center
- System Status
- Compliance
- GDPR
- Company
- cloudflare.com
- Our team
- Careers
- 2025 Cloudflare, Inc.
- Privacy Policy
- Terms of Use
- Report Security Issues
- Trademark