All Products
Search
Document Center

Edge Security Acceleration:BatchCreateWafRules

Last Updated:Jul 07, 2026

Batch creates rules in a specified WAF phase. You can create multiple rules at a time and configure shared settings for these rules.

Try it now

Try this API in OpenAPI Explorer, no manual signing needed. Successful calls auto-generate SDK code matching your parameters. Download it with built-in credential security for local usage.

Test

RAM authorization

The table below describes the authorization required to call this API. You can define it in a Resource Access Management (RAM) policy. The table's columns are detailed below:

  • Action: The actions can be used in the Action element of RAM permission policy statements to grant permissions to perform the operation.

  • API: The API that you can call to perform the action.

  • Access level: The predefined level of access granted for each API. Valid values: create, list, get, update, and delete.

  • Resource type: The type of the resource that supports authorization to perform the action. It indicates if the action supports resource-level permission. The specified resource must be compatible with the action. Otherwise, the policy will be ineffective.

    • For APIs with resource-level permissions, required resource types are marked with an asterisk (*). Specify the corresponding Alibaba Cloud Resource Name (ARN) in the Resource element of the policy.

    • For APIs without resource-level permissions, it is shown as All Resources. Use an asterisk (*) in the Resource element of the policy.

  • Condition key: The condition keys defined by the service. The key allows for granular control, applying to either actions alone or actions associated with specific resources. In addition to service-specific condition keys, Alibaba Cloud provides a set of common condition keys applicable across all RAM-supported services.

  • Dependent action: The dependent actions required to run the action. To complete the action, the RAM user or the RAM role must have the permissions to perform all dependent actions.

Action

Access level

Resource type

Condition key

Dependent action

esa:BatchCreateWafRules

create

*Site

acs:esa:{#regionId}:{#accountId}:site/{#SiteId}

None None

Request parameters

Parameter

Type

Required

Description

Example

SiteId

integer

Yes

The site ID. You can call the ListSites operation to obtain the site ID.

1

SiteVersion

integer

No

The version number of the site configuration. For sites with version management enabled, you can use this parameter to specify the site version on which the configuration takes effect. The default value is 0.

0

Phase

string

No

The WAF rule execution phase. This batch operation supports only the following two phases. For other phases, use the single-rule operations CreateWafRule or UpdateWafRule:

  • http_anti_scan: scan protection rules

  • http_bot: advanced mode bots

Note

Note: The http_anti_scan and http_bot phases support only batch creation. The single-rule operation CreateWafRule does not accept these two values. Conversely, other phases such as http_custom and http_whitelist can be created only by using single-rule operations and cannot use this batch operation.

Required constraint: Although this parameter is marked as optional (required: false) in the specification, it is required when you call this batch operation. If this parameter is not specified, the service returns InvalidParameter(400).

Plan prerequisite: http_anti_scan requires the site to have a high or higher plan. Calling this operation with a basic plan returns Phase.HttpAntiScan.NotSupport. Verify the site plan before calling this operation.

http_anti_scan

RulesetId

integer

No

The ID of the WAF ruleset. You can call the ListWafRulesets operation to obtain the ruleset ID.

10000001

Shared WafBatchRuleShared

No

The shared configuration for multiple rules. Specifies the common properties of multiple rules.

Conditionally required: Although this parameter is marked as optional (required: false) in the specification, it is required when Phase=http_anti_scan. If this parameter is not specified, the service returns InvalidParameter(400).

Subfield requirements: In the http_anti_scan phase, Shared must include shared fields such as Name (rule name) and Action (rule action). For other phases, the required subfields of Shared vary depending on the specific phase.

Configs

array

No

The list of rule configurations. Specifies the detailed configuration for each rule.

Required subfields for each phase (applicable only to the two phases supported by this batch operation):

  • http_anti_scan: You must specify Type and at least one of ManagedList or RateLimit.

  • http_bot: You must specify the advanced mode bots configuration. The subfields are defined in the WafRuleConfig data structure.

Note

Note: Other phases such as http_custom and http_whitelist cannot use this batch operation. Use the single-rule operation CreateWafRule instead. The subfield constraints are described in the single-rule operation documentation.

Note

If Configs is not specified or required subfields are missing, the service returns InvalidParameter(400) or Rule.Config.Malformed.

WafRuleConfig

No

The rule configuration.

Response elements

Element

Type

Description

Example

object

Schema of Response

RequestId

string

The request ID.

36af3fcc-43d0-441c-86b1-428951dc8225

RulesetId

integer

The ID of the WAF ruleset. You can call the ListWafRulesets operation to obtain the ruleset ID.

10000001

Ids

array

The IDs of the WAF rules. You can call the ListWafRules operation to obtain the rule IDs.

integer

The IDs of the WAF rules. You can call the ListWafRules operation to obtain the rule IDs.

20000001

Examples

Success response

JSON format

{
  "RequestId": "36af3fcc-43d0-441c-86b1-428951dc8225",
  "RulesetId": 10000001,
  "Ids": [
    20000001
  ]
}

Error codes

HTTP status code

Error code

Error message

Description

400 InvalidParameter The specified parameter is invalid. The specified parameter is invalid.
400 InternalException Failed to call the service. Try again later or contact technical support. Failed to call the service. Try again later or contact technical support.
400 SpecifiedVersionReadOnly The specified version number is read-only and cannot be modified. The specified version number is read-only and cannot be modified.
403 %s.NotSupport The specified resource type %s is not supported. The specified resource type is not supported. To use this type of resource, please contact us.
403 %s.OverQuota The quantity of %s exceeds the quota. The amount of this resource exceeds the quota. If you need to apply for more quota, please contact us.
403 %s.WrongValueMatched The value of specified parameter %s can not pass the matching check. The value of the specified parameter can not pass the matching check. If you determine that you need to use this parameter value, please contact us.
403 Rule.Config.Malformed The format of the rule configuration is invalid.Check the configuration for syntax errors or structural inconsistencies and correct them to meet the requirements. The format of the rule configuration is invalid.Check the configuration for syntax errors or structural inconsistencies and correct them to meet the requirements.
403 Rule.Config.Noncompliance The specified rule configuration does not meet the compliance requirements.Check and adjust your configurations. The specified rule configuration does not meet the compliance requirements.Check and adjust your configurations.
403 Ruleset.Name.AlreadyExists The specified rule set name already exists.Try again with a unique name or modify the existing rule set name. The specified rule set name already exists.Try again with a unique name or modify the existing rule set name.
403 Site.NotExist The specified website does not exist or is not recognized by the system.Check whether the specified website identifier is valid and matches a website that is active, defined, and recognized by the system.If you want to add a new website, make sure that the creation and registration process is complete to integrate the website to the system. The specified website does not exist or is not recognized by the system.Check whether the specified website identifier is valid and matches a website that is active, defined, and recognized by the system.If you want to add a new website, make sure that the creation and registration process is complete to integrate the website to the system.
403 Expression.Invalid The specified expression is invalid: %s. The specified expression is invalid.
403 Ruleset.NotExist The specified rule set does not exist or has not been registered in the system.Check whether the specified rule set identifier is valid and matches a rule set that has been correctly defined and maintained by the system's rule set registry.If you want to add a new rule set, make sure that the creation and registration process is complete to bring the rule set into effect. The specified rule set does not exist or has not been registered in the system.Check whether the specified rule set identifier is valid and matches a rule set that has been correctly defined and maintained by the system's rule set registry.If you want to add a new rule set, make sure that the creation and registration process is complete to bring the rule set into effect.

See Error Codes for a complete list.

Release notes

See Release Notes for a complete list.