A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://developers.cloudflare.com/rules/transform/response-header-modification/create-api/ below:

Create a response header transform rule via API · Cloudflare Rules docs

Use the Rulesets API to create Response Header Transform Rules via API. Refer to the Rules examples gallery for common use cases.

If you are using Terraform, refer to Transform Rules configuration using Terraform.

When creating a response header transform rule via API, make sure you:

Follow this workflow to create a response header transform rule for a given zone via API:

  1. Use the List zone rulesets operation to check if there is already a ruleset for the http_response_headers_transform phase at the zone level.

  2. If the phase ruleset does not exist, create it using the Create a zone ruleset operation. In the new ruleset properties, set the following values:

  3. Use the Update a zone ruleset operation to add a response header transform rule to the list of ruleset rules. Alternatively, include the rule in the Create a zone ruleset request mentioned in the previous step.

Make sure your API token has the required permissions to perform the API operations.

Example: Set an HTTP response header to a static value

The following example configures the rules of an existing phase ruleset ($RULESET_ID) to a single response header transform rule — setting an HTTP response header to a static value — using the Update a zone ruleset operation. The response will contain the complete definition of the ruleset you updated.

Required API token permissions

At least one of the following token permissions is required:

curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets/$RULESET_ID" \

--request PUT \

--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \

--json '{

"rules": [

{

"ref": "set_resp_header_source",

"expression": "(starts_with(http.request.uri.path, \"/en/\"))",

"description": "My first response header transform rule",

"action": "rewrite",

"action_parameters": {

"headers": {

"X-Source": {

"operation": "set",

"value": "Cloudflare"

}

}

}

}

]

}'

{

"result": {

"id": "<RULESET_ID>",

"name": "Zone-level Response Headers Transform Ruleset",

"description": "Zone-level ruleset that will execute Response Header Transform Rules.",

"kind": "zone",

"version": "2",

"rules": [

{

"ref": "set_resp_header_source",

"id": "<RULE_ID>",

"version": "1",

"action": "rewrite",

"action_parameters": {

"headers": {

"X-Source": {

"operation": "set",

"value": "Cloudflare"

}

}

},

"expression": "(starts_with(http.request.uri.path, \"/en/\"))",

"description": "My first response header transform rule",

"last_updated": "2021-04-14T14:42:04.219025Z",

"ref": "<RULE_REF>"

}

],

"last_updated": "2021-04-14T14:42:04.219025Z",

"phase": "http_response_headers_transform"

},

"success": true,

"errors": [],

"messages": []

}

Use the ref field to get stable rule IDs across updates when using Terraform. Adding this field prevents Terraform from recreating the rule on changes. For more information, refer to Troubleshooting in the Terraform documentation.

Example: Set an HTTP response header to a dynamic value

The following example configures the rules of an existing phase ruleset ($RULESET_ID) to a single response header transform rule — setting an HTTP response header to a dynamic value — using the Update a zone ruleset operation. The response will contain the complete definition of the ruleset you updated.

Required API token permissions

At least one of the following token permissions is required:

curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets/$RULESET_ID" \

--request PUT \

--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \

--json '{

"rules": [

{

"ref": "set_resp_header_bot_score",

"expression": "(starts_with(http.request.uri.path, \"/en/\"))",

"description": "My first response header transform rule",

"action": "rewrite",

"action_parameters": {

"headers": {

"X-Bot-Score": {

"operation": "set",

"expression": "to_string(cf.bot_management.score)"

}

}

}

}

]

}'

{

"result": {

"id": "<RULESET_ID>",

"name": "Zone-level Response Headers Transform Ruleset",

"description": "Zone-level ruleset that will execute Response Header Transform Rules.",

"kind": "zone",

"version": "2",

"rules": [

{

"ref": "set_resp_header_bot_score",

"id": "<RULE_ID>",

"version": "1",

"action": "rewrite",

"action_parameters": {

"headers": {

"X-Bot-Score": {

"operation": "set",

"expression": "to_string(cf.bot_management.score)"

}

}

},

"expression": "(starts_with(http.request.uri.path, \"/en/\"))",

"description": "My first response header transform rule",

"last_updated": "2021-04-14T14:42:04.219025Z",

"ref": "<RULE_REF>"

}

],

"last_updated": "2021-04-14T14:42:04.219025Z",

"phase": "http_response_headers_transform"

},

"success": true,

"errors": [],

"messages": []

}

Use the ref field to get stable rule IDs across updates when using Terraform. Adding this field prevents Terraform from recreating the rule on changes. For more information, refer to Troubleshooting in the Terraform documentation.

Example: Add a set-cookie HTTP response header with a static value

The following example configures the rules of an existing phase ruleset ($RULESET_ID) to a single response header transform rule — adding a set-cookie HTTP response header with a static value — using the Update a zone ruleset operation. By configuring the rule with the add operation you will keep any existing set-cookie headers that may already exist in the response. The response will contain the complete definition of the ruleset you updated.

Required API token permissions

At least one of the following token permissions is required:

curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets/$RULESET_ID" \

--request PUT \

--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \

--json '{

"rules": [

{

"ref": "add_resp_header_set_mycookie",

"expression": "(starts_with(http.request.uri.path, \"/en/\"))",

"description": "My first response header transform rule",

"action": "rewrite",

"action_parameters": {

"headers": {

"set-cookie": {

"operation": "add",

"value": "mycookie=custom_value"

}

}

}

}

]

}'

{

"result": {

"id": "<RULESET_ID>",

"name": "Zone-level Response Headers Transform Ruleset",

"description": "Zone-level ruleset that will execute Response Header Transform Rules.",

"kind": "zone",

"version": "2",

"rules": [

{

"ref": "add_resp_header_set_mycookie",

"id": "<RULE_ID>",

"version": "1",

"action": "rewrite",

"action_parameters": {

"headers": {

"set-cookie": {

"operation": "add",

"value": "mycookie=custom_value"

}

}

},

"expression": "(starts_with(http.request.uri.path, \"/en/\"))",

"description": "My first response header transform rule",

"last_updated": "2021-04-14T14:42:04.219025Z",

"ref": "<RULE_REF>"

}

],

"last_updated": "2021-04-14T14:42:04.219025Z",

"phase": "http_response_headers_transform"

},

"success": true,

"errors": [],

"messages": []

}

Use the ref field to get stable rule IDs across updates when using Terraform. Adding this field prevents Terraform from recreating the rule on changes. For more information, refer to Troubleshooting in the Terraform documentation.

Example: Remove an HTTP response header

The following example sets the rules of an existing phase ruleset ($RULESET_ID) to a single response header transform rule — removing an HTTP response header — using the Update a zone ruleset operation. The response will contain the complete definition of the ruleset you updated.

Required API token permissions

At least one of the following token permissions is required:

curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets/$RULESET_ID" \

--request PUT \

--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \

--json '{

"rules": [

{

"ref": "remove_resp_header_cf_connecting_ip",

"expression": "(starts_with(http.request.uri.path, \"/en/\"))",

"description": "My first response header transform rule",

"action": "rewrite",

"action_parameters": {

"headers": {

"cf-connecting-ip": {

"operation": "remove"

}

}

}

}

]

}'

{

"result": {

"id": "<RULESET_ID>",

"name": "Zone-level Response Headers Transform Ruleset",

"description": "Zone-level ruleset that will execute Response Header Transform Rules.",

"kind": "zone",

"version": "2",

"rules": [

{

"ref": "remove_resp_header_cf_connecting_ip",

"id": "<RULE_ID>",

"version": "1",

"action": "rewrite",

"action_parameters": {

"headers": {

"cf-connecting-ip": {

"operation": "remove"

}

}

},

"expression": "(starts_with(http.request.uri.path, \"/en/\"))",

"description": "My first response header transform rule",

"last_updated": "2021-04-14T14:42:04.219025Z",

"ref": "<RULE_REF>"

}

],

"last_updated": "2021-04-14T14:42:04.219025Z",

"phase": "http_response_headers_transform"

},

"success": true,

"errors": [],

"messages": []

}

Use the ref field to get stable rule IDs across updates when using Terraform. Adding this field prevents Terraform from recreating the rule on changes. For more information, refer to Troubleshooting in the Terraform documentation.

Required API token permissions

The API token used in API requests to manage Response Header Transform Rules must have at least the following permissions:


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4