openapi: 3.0.0 info: title: 'Akamai: API Endpoint Definition Access tokens WAF rules: General settings API' version: '2' license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0.html description: Manage your Web Application Firewall (WAF) rules and rule sets. servers: - url: https://{hostname}/api-definitions/v2 tags: - description: Manage your Web Application Firewall (WAF) rules and rule sets. name: 'WAF rules: General settings' paths: /configs/{configId}/versions/{versionNumber}/security-policies/{policyId}/rules: parameters: - description: A unique identifier for each configuration. in: path name: configId required: true schema: example: 77653 format: int64 type: integer x-akamai: file-path: parameters/config-id-path.yaml - description: A unique identifier for each version of a configuration. in: path name: versionNumber required: true schema: example: 25 type: integer x-akamai: file-path: parameters/version-number-path.yaml - description: A unique identifier for a security policy. in: path name: policyId required: true schema: example: boBF_19288 type: string x-akamai: file-path: parameters/policy-id-path.yaml x-akamai: file-path: paths/policy-rules.yaml path-info: /configs/{configId}/versions/{versionNumber}/security-policies/{policyId}/rules get: description: __Kona Site Defender__, __App & API Protector with the Advanced Security module__ Returns the action taken for each rule in a policy. The action occurs when the rules are triggered by a request. These are not the same rules as Custom Rules that you configure yourself. These rules are maintained by Akamai. externalDocs: description: See documentation for this operation in Akamai's Application Security API url: https://techdocs.akamai.com/application-security/reference/get-policy-rules operationId: get-policy-rules parameters: - description: For customers who manage more than one account, this [runs the operation from another account](https://techdocs.akamai.com/developer/docs/manage-many-accounts-with-one-api-client). The Identity and Access Management API provides a [list of available account switch keys](https://techdocs.akamai.com/iam-api/reference/get-client-account-switch-keys). in: query name: accountSwitchKey required: false schema: example: 1-5C0YLB:1-8BYUX type: string responses: '200': content: application/json: example: ruleActions: - action: alert id: 699989 - action: alert id: 699990 - action: alert id: 699991 - action: alert id: 699992 - action: alert id: 699993 - action: alert id: 699994 schema: additionalProperties: false description: Describes the fields of a rule's actions. properties: ruleActions: description: The list of rule actions, either `alert`, `deny`, `deny_custom_{custom_deny_id}`, or `none`. If the action is `none`, the rule is inactive in the policy. items: additionalProperties: false description: The list of rule actions, either `alert`, `deny`, `deny_custom_{custom_deny_id}`, or `none`. If the action is `none`, the rule is inactive in the policy. properties: action: description: The list of rule actions, either `alert`, `deny`, or `none`. Use `deny_custom_{custom_deny_id}` to apply a custom action instead of Akamai's default. Run [Modify a custom deny action](https://techdocs.akamai.com/application-security/reference/put-custom-deny) to manage your custom deny actions. If the action is `none`, the rule is inactive in the policy. enum: - alert - deny - none type: string id: description: The unique identifier for each rule. type: integer required: - action - id type: object x-akamai: file-path: schemas/rule-action.yaml type: array required: - ruleActions type: object x-akamai: file-path: schemas/rule-actions-get-200.yaml description: Successfully retrieved the rule actions. '400': content: application/json: example: detail: The request could not be understood by the server due to malformed syntax. instance: https://problems.luna.akamaiapis.net/appsec/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 status: 400 title: Bad Request type: https://problems.luna.akamaiapis.net/appsec/error-types/BAD-REQUEST schema: additionalProperties: true description: Details the errors you can receive. properties: detail: description: The detailed error message. type: string fieldErrors: description: Pointers to fields for which invalid input was provided, whose values are messages detailing the reason this input was invalid for this field. type: object instance: description: The non-referenceable URI that indicates the error instance. example: https://problems.luna.akamaiapis.net/api-definitions/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 type: string status: description: The HTTP status code. example: 404 type: integer title: description: The error title. example: Not Found type: string type: description: The URL for the error type. example: https://problems.luna.akamaiapis.net/api-definitions/error-types/NOT-FOUND type: string required: - title - type - detail - instance - status type: object x-akamai: file-path: schemas/problem-details.yaml description: '[Invalid](https://techdocs.akamai.com/application-security/reference/400). Client error, such as invalid or malformed input.' x-akamai: file-path: errors/400-client-read-errors.yaml '404': content: application/problem+json: example: detail: The requested resource is not found instance: https://problems.luna.akamaiapis.net/appsec/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 status: 404 title: Not Found type: https://problems.luna.akamaiapis.net/appsec/error-types/NOT-FOUND schema: additionalProperties: true description: Details the errors you can receive. properties: detail: description: The detailed error message. type: string fieldErrors: description: Pointers to fields for which invalid input was provided, whose values are messages detailing the reason this input was invalid for this field. type: object instance: description: The non-referenceable URI that indicates the error instance. example: https://problems.luna.akamaiapis.net/api-definitions/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 type: string status: description: The HTTP status code. example: 404 type: integer title: description: The error title. example: Not Found type: string type: description: The URL for the error type. example: https://problems.luna.akamaiapis.net/api-definitions/error-types/NOT-FOUND type: string required: - title - type - detail - instance - status type: object x-akamai: file-path: schemas/problem-details.yaml description: '[Not found](https://techdocs.akamai.com/application-security/reference/404). The security policy doesn''t exist, doesn''t carry application layer controls, or no rule with this ID is available for use in this policy.' x-akamai: file-path: errors/404-client-read-errors.yaml '500': content: application/problem+json: example: detail: Internal Server Error instance: 12ab3c45-789d-01ef-2gh3-ijk4l56m78no status: 500 title: Internal Server Error type: internal_server_error schema: additionalProperties: true description: Details the errors you can receive. properties: detail: description: The detailed error message. type: string fieldErrors: description: Pointers to fields for which invalid input was provided, whose values are messages detailing the reason this input was invalid for this field. type: object instance: description: The non-referenceable URI that indicates the error instance. example: https://problems.luna.akamaiapis.net/api-definitions/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 type: string status: description: The HTTP status code. example: 404 type: integer title: description: The error title. example: Not Found type: string type: description: The URL for the error type. example: https://problems.luna.akamaiapis.net/api-definitions/error-types/NOT-FOUND type: string required: - title - type - detail - instance - status type: object x-akamai: file-path: schemas/problem-details.yaml description: '[Internal server error](https://techdocs.akamai.com/application-security/reference/500). Something went wrong on our side. Try again in a few minutes or contact support if the error persists.' x-akamai: file-path: errors/500-server-errors.yaml summary: List rules tags: - 'WAF rules: General settings' x-akamai: labels: - Kona Site Defender - App & API Protector with the Advanced Security module put: description: '__Kona Site Defender__, __App & API Protector with the Advanced Security module__, __Adaptive Security Engine__ Upgrade to the most recent version of the KRS rule set. Akamai periodically updates these rules to keep protections current. However, the rules you use in your security policies do not automatically upgrade to the latest version when setting `mode` to `KRS`. These rules do update automatically when you have `mode` set to `AAG`. Before you upgrade, run [Get upgrade details](https://techdocs.akamai.com/application-security/reference/get-rules-upgrade-details) to see which rules have changed. If you want to test how these rules would operate with live traffic before committing to the upgrade, run them in evaluation mode. This applies to KRS rules only and does not allow you to make any changes to the rules themselves. The response is the same as the `mode` response. If you''re already using or want to switch from KRS to Adaptive Security Engine (ASE), pass `"upgrade": true,` and `"mode": "ASE_AUTO"` or `ASE_MANUAL` in your request. If you''re using Kona Rule Sets, continue to pass only the upgrade value. Note that this operation does not grant access to Adaptive Security Engine. It updates the ASE protections if you already have ASE on your contract. Once you switch to ASE protections, you can''t go back to KRS rules. Contact your account team if you want to add ASE to your contract.' externalDocs: description: See documentation for this operation in Akamai's Application Security API url: https://techdocs.akamai.com/application-security/reference/put-policy-rules operationId: put-policy-rules parameters: - description: For customers who manage more than one account, this [runs the operation from another account](https://techdocs.akamai.com/developer/docs/manage-many-accounts-with-one-api-client). The Identity and Access Management API provides a [list of available account switch keys](https://techdocs.akamai.com/iam-api/reference/get-client-account-switch-keys). in: query name: accountSwitchKey required: false schema: example: 1-5C0YLB:1-8BYUX type: string requestBody: content: application/json: example: upgrade: true schema: additionalProperties: false description: Represents the upgrade configuration for a firewall policy rule. properties: upgrade: description: Whether the upgrade is enabled. type: boolean required: - upgrade type: object x-akamai: file-path: schemas/rules-put.yaml required: true responses: '200': content: application/json: example: current: KRS 1.0 (Apr 20, 2020) mode: KRS schema: additionalProperties: false description: The GET Response JSON for the security policy mode. properties: current: description: The current rule set version and the ISO 8601 date the rule set version was introduced. This date acts like a version number. type: string eval: description: Whether the evaluation mode is `enabled` or `disabled`. enum: - enabled - disabled type: string evaluating: description: The evaluation rule set version and the ISO 8601 date the evaluation starts. type: string expires: description: The ISO 8601 time stamp when the evaluation is expiring. This value only appears when `eval` is set to `enabled`. format: date-time type: string mode: description: The security policy mode. Use `KRS` to update manually, or `AAG` to update automatically. For Adaptive Security Engine rule sets, use `ASE_AUTO` for automatic updates to the ASE evaluation rules, or `ASE_MANUAL` to manually retrieve current evaluation rules. When not specified, the mode uses default settings. For a KRS 1.0 policy, that means using the KRS 1.0 rule set. enum: - KRS - AAG - ASE_AUTO - ASE_MANUAL type: string required: - mode type: object x-akamai: file-path: schemas/mode-get-200.yaml description: Successfully updated to latest KRS rule set version. '400': content: application/json: example: detail: The request could not be understood by the server due to malformed syntax. instance: https://problems.luna.akamaiapis.net/appsec/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 status: 400 title: Bad Request type: https://problems.luna.akamaiapis.net/appsec/error-types/BAD-REQUEST schema: additionalProperties: true description: Details the errors you can receive. properties: detail: description: The detailed error message. type: string fieldErrors: description: Pointers to fields for which invalid input was provided, whose values are messages detailing the reason this input was invalid for this field. type: object instance: description: The non-referenceable URI that indicates the error instance. example: https://problems.luna.akamaiapis.net/api-definitions/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 type: string status: description: The HTTP status code. example: 404 type: integer title: description: The error title. example: Not Found type: string type: description: The URL for the error type. example: https://problems.luna.akamaiapis.net/api-definitions/error-types/NOT-FOUND type: string required: - title - type - detail - instance - status type: object x-akamai: file-path: schemas/problem-details.yaml description: '[Invalid](https://techdocs.akamai.com/application-security/reference/400). Client error, such as invalid or malformed input.' x-akamai: file-path: errors/400-client-read-errors.yaml '403': content: application/problem+json: example: detail: You do not have the necessary access to perform this operation or the requested resource cannot be modified instance: https://problems.luna.akamaiapis.net/appsec/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 status: 403 title: Forbidden type: https://problems.luna.akamaiapis.net/appsec-resource/error-types/ACCESS-DENIED schema: additionalProperties: true description: Details the errors you can receive. properties: detail: description: The detailed error message. type: string fieldErrors: description: Pointers to fields for which invalid input was provided, whose values are messages detailing the reason this input was invalid for this field. type: object instance: description: The non-referenceable URI that indicates the error instance. example: https://problems.luna.akamaiapis.net/api-definitions/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 type: string status: description: The HTTP status code. example: 404 type: integer title: description: The error title. example: Not Found type: string type: description: The URL for the error type. example: https://problems.luna.akamaiapis.net/api-definitions/error-types/NOT-FOUND type: string required: - title - type - detail - instance - status type: object x-akamai: file-path: schemas/problem-details.yaml description: '[Forbidden](https://techdocs.akamai.com/application-security/reference/403). You don''t have permission to write to this resource.' x-akamai: file-path: errors/403-client-write-errors.yaml '404': content: application/problem+json: example: detail: The requested resource is not found instance: https://problems.luna.akamaiapis.net/appsec/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 status: 404 title: Not Found type: https://problems.luna.akamaiapis.net/appsec/error-types/NOT-FOUND schema: additionalProperties: true description: Details the errors you can receive. properties: detail: description: The detailed error message. type: string fieldErrors: description: Pointers to fields for which invalid input was provided, whose values are messages detailing the reason this input was invalid for this field. type: object instance: description: The non-referenceable URI that indicates the error instance. example: https://problems.luna.akamaiapis.net/api-definitions/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 type: string status: description: The HTTP status code. example: 404 type: integer title: description: The error title. example: Not Found type: string type: description: The URL for the error type. example: https://problems.luna.akamaiapis.net/api-definitions/error-types/NOT-FOUND type: string required: - title - type - detail - instance - status type: object x-akamai: file-path: schemas/problem-details.yaml description: '[Not found](https://techdocs.akamai.com/application-security/reference/404). The security policy doesn''t exist, doesn''t carry application layer controls, or no rule with this ID is available for use in this policy.' x-akamai: file-path: errors/404-client-read-errors.yaml '500': content: application/problem+json: example: detail: Internal Server Error instance: 12ab3c45-789d-01ef-2gh3-ijk4l56m78no status: 500 title: Internal Server Error type: internal_server_error schema: additionalProperties: true description: Details the errors you can receive. properties: detail: description: The detailed error message. type: string fieldErrors: description: Pointers to fields for which invalid input was provided, whose values are messages detailing the reason this input was invalid for this field. type: object instance: description: The non-referenceable URI that indicates the error instance. example: https://problems.luna.akamaiapis.net/api-definitions/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 type: string status: description: The HTTP status code. example: 404 type: integer title: description: The error title. example: Not Found type: string type: description: The URL for the error type. example: https://problems.luna.akamaiapis.net/api-definitions/error-types/NOT-FOUND type: string required: - title - type - detail - instance - status type: object x-akamai: file-path: schemas/problem-details.yaml description: '[Internal server error](https://techdocs.akamai.com/application-security/reference/500). Something went wrong on our side. Try again in a few minutes or contact support if the error persists.' x-akamai: file-path: errors/500-server-errors.yaml summary: Upgrade KRS ruleset tags: - 'WAF rules: General settings' x-akamai: labels: - Kona Site Defender - App & API Protector with the Advanced Security module - Adaptive Security Engine /configs/{configId}/versions/{versionNumber}/security-policies/{policyId}/rules/upgrade-details: parameters: - description: A unique identifier for each configuration. in: path name: configId required: true schema: example: 77653 format: int64 type: integer x-akamai: file-path: parameters/config-id-path.yaml - description: A unique identifier for each version of a configuration. in: path name: versionNumber required: true schema: example: 25 type: integer x-akamai: file-path: parameters/version-number-path.yaml - description: A unique identifier for a security policy. in: path name: policyId required: true schema: example: boBF_19288 type: string x-akamai: file-path: parameters/policy-id-path.yaml x-akamai: file-path: paths/policy-rules-upgrade-details.yaml path-info: /configs/{configId}/versions/{versionNumber}/security-policies/{policyId}/rules/upgrade-details get: description: __Kona Site Defender__, __App & API Protector with the Advanced Security module__ Only applies to Kona rule sets. The KRS rule sets are maintained by Akamai's security research team. Run this operation before you upgrade to verify changes in the rule sets. If you want to test how the updates affect your site, you can run the updated rules in evaluation mode. externalDocs: description: See documentation for this operation in Akamai's Application Security API url: https://techdocs.akamai.com/application-security/reference/get-rules-upgrade-details operationId: get-rules-upgrade-details parameters: - description: For customers who manage more than one account, this [runs the operation from another account](https://techdocs.akamai.com/developer/docs/manage-many-accounts-with-one-api-client). The Identity and Access Management API provides a [list of available account switch keys](https://techdocs.akamai.com/iam-api/reference/get-client-account-switch-keys). in: query name: accountSwitchKey required: false schema: example: 1-5C0YLB:1-8BYUX type: string responses: '200': content: application/json: example: current: KRS 1.0 (Apr 20, 2020) evalToEvalUpdates: deletedAttackGroups: - group: SQL groupName: SQL Injection deletedRules: [] newAttackGroups: - group: CMD groupName: Command Injection - group: XSS groupName: Cross Site Scripting (XSS) newRules: - id: 3000090 title: 'Cross-site Scripting (XSS) Attack: Attribute Injection' updatedAttackGroups: [] updatedRules: [] evaluating: KRS 1.0 (Mar 15, 2020) krsToEvalUpdates: deletedAttackGroups: - group: SQL groupName: SQL Injection deletedRules: [] newAttackGroups: - group: CMD groupName: Command Injection - group: XSS groupName: Cross Site Scripting (XSS) newRules: - id: 3000082 title: 'Cross-site Scripting (XSS) Attack: Attribute Injection' - id: 3000083 title: IE XSS Filters - Attack Detected updatedAttackGroups: [] updatedRules: - id: 3000080 title: Cross-site Scripting (XSS) Attack - id: 3000081 title: PHP Injection Attack (Opening Tag) krsToLatestUpdates: deletedAttackGroups: - group: SQL groupName: SQL Injection deletedRules: - id: 3000048 title: MSSQL Code Execution and Information Gathering Attempts newAttackGroups: [] newRules: - id: 3000090 title: Remote File Inclusion Attack - id: 3000091 title: IE XSS Filters updatedAttackGroups: - group: CMD groupName: Command Injection - group: XSS groupName: Cross Site Scripting (XSS) updatedRules: [] latest: KRS 1.0 (June 15, 2020) schema: additionalProperties: false description: Specifies KRS rule set upgrade details. properties: current: description: The version of the KRS rule set you currently have. type: string evalToEvalUpdates: additionalProperties: false description: Lists available updates to rules you're currently evaluating but you haven't yet upgraded to. properties: deletedAttackGroups: description: The deleted risk score groups. items: additionalProperties: false description: Describes the fields of a risk score group array. properties: group: description: Uniquely identifies the risk score group. type: string groupName: description: The risk score group name. type: string required: - group - groupName type: object x-akamai: file-path: schemas/risk-score-group.yaml type: array deletedRules: description: The deleted rules. items: additionalProperties: false description: Describes the fields of a rule array. properties: id: description: Uniquely identifies the rule. type: integer title: description: The rule title. type: string required: - id - title type: object x-akamai: file-path: schemas/rule.yaml type: array newAttackGroups: description: The new risk score groups. items: additionalProperties: false description: Describes the fields of a risk score group array. properties: group: description: Uniquely identifies the risk score group. type: string groupName: description: The risk score group name. type: string required: - group - groupName type: object x-akamai: file-path: schemas/risk-score-group.yaml type: array newRules: description: The new rules. items: additionalProperties: false description: Describes the fields of a rule array. properties: id: description: Uniquely identifies the rule. type: integer title: description: The rule title. type: string required: - id - title type: object x-akamai: file-path: schemas/rule.yaml type: array updatedAttackGroups: description: The updated risk score groups. items: additionalProperties: false description: Describes the fields of a risk score group array. properties: group: description: Uniquely identifies the risk score group. type: string groupName: description: The risk score group name. type: string required: - group - groupName type: object x-akamai: file-path: schemas/risk-score-group.yaml type: array updatedRules: description: The updated rules. items: additionalProperties: false description: Describes the fields of a rule array. properties: id: description: Uniquely identifies the rule. type: integer title: description: The rule title. type: string required: - id - title type: object x-akamai: file-path: schemas/rule.yaml type: array required: - newRules - deletedRules - updatedRules - newAttackGroups - deletedAttackGroups - updatedAttackGroups type: object evaluating: description: The rule set you're currently evaluating. type: string krsToEvalUpdates: additionalProperties: false description: Lists any available updates for KRS rules. If the `updatedRules` array is empty, you have the latest available versions already. properties: deletedAttackGroups: description: The deleted risk score groups. items: additionalProperties: false description: Describes the fields of a risk score group array. properties: group: description: Uniquely identifies the risk score group. type: string groupName: description: The risk score group name. type: string required: - group - groupName type: object x-akamai: file-path: schemas/risk-score-group.yaml type: array deletedRules: description: The deleted rules. items: additionalProperties: false description: Describes the fields of a rule array. properties: id: description: Uniquely identifies the rule. type: integer title: description: The rule title. type: string required: - id - title type: object x-akamai: file-path: schemas/rule.yaml type: array newAttackGroups: description: The new risk score groups. items: additionalProperties: false description: Describes the fields of a risk score group array. properties: group: description: Uniquely identifies the risk score group. type: string groupName: description: The risk score group name. type: string required: - group - groupName type: object x-akamai: file-path: schemas/risk-score-group.yaml type: array newRules: description: The new rules. items: additionalProperties: false description: Describes the fields of a rule array. properties: id: description: Uniquely identifies the rule. type: integer title: description: The rule title. type: string required: - id - title type: object x-akamai: file-path: schemas/rule.yaml type: array updatedAttackGroups: description: The updated risk score groups. items: additionalProperties: false description: Describes the fields of a risk score group array. properties: group: description: Uniquely identifies the risk score group. type: string groupName: description: The risk score group name. type: string required: - group - groupName type: object x-akamai: file-path: schemas/risk-score-group.yaml type: array updatedRules: description: The updated rules. items: additionalProperties: false description: Describes the fields of a rule array. properties: id: description: Uniquely identifies the rule. type: integer title: description: The rule title. type: string required: - id - title type: object x-akamai: file-path: schemas/rule.yaml type: array required: - newRules - deletedRules - updatedRules - newAttackGroups - deletedAttackGroups - updatedAttackGroups type: object krsToLatestUpdates: additionalProperties: false description: Lists any available KRS rule updates for rules that have been added, deleted, or modified. If you're evaluating rules, these updates may be newer than rules you're evaluating. properties: deletedAttackGroups: description: The deleted risk score groups. items: additionalProperties: false description: Describes the fields of a risk score group array. properties: group: description: Uniquely identifies the risk score group. type: string groupName: description: The risk score group name. type: string required: - group - groupName type: object x-akamai: file-path: schemas/risk-score-group.yaml type: array deletedRules: description: The deleted rules. items: additionalProperties: false description: Describes the fields of a rule array. properties: id: description: Uniquely identifies the rule. type: integer title: description: The rule title. type: string required: - id - title type: object x-akamai: file-path: schemas/rule.yaml type: array newAttackGroups: description: The new risk score groups. items: additionalProperties: false description: Describes the fields of a risk score group array. properties: group: description: Uniquely identifies the risk score group. type: string groupName: description: The risk score group name. type: string required: - group - groupName type: object x-akamai: file-path: schemas/risk-score-group.yaml type: array newRules: description: The new rules. items: additionalProperties: false description: Describes the fields of a rule array. properties: id: description: Uniquely identifies the rule. type: integer title: description: The rule title. type: string required: - id - title type: object x-akamai: file-path: schemas/rule.yaml type: array updatedAttackGroups: description: The updated risk score groups. items: additionalProperties: false description: Describes the fields of a risk score group array. properties: group: description: Uniquely identifies the risk score group. type: string groupName: description: The risk score group name. type: string required: - group - groupName type: object x-akamai: file-path: schemas/risk-score-group.yaml type: array updatedRules: description: The updated rules. items: additionalProperties: false description: Describes the fields of a rule array. properties: id: description: Uniquely identifies the rule. type: integer title: description: The rule title. type: string required: - id - title type: object x-akamai: file-path: schemas/rule.yaml type: array required: - newRules - deletedRules - updatedRules - newAttackGroups - deletedAttackGroups - updatedAttackGroups type: object latest: description: The latest available KRS rule set version. type: string required: - krsToLatestUpdates - evalToEvalUpdates - current - krsToEvalUpdates - evaluating - latest type: object x-akamai: file-path: schemas/rules-upgrade-get.yaml description: Successfully retrieved the upgraded rule details. '400': content: application/json: example: detail: The request could not be understood by the server due to malformed syntax. instance: https://problems.luna.akamaiapis.net/appsec/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 status: 400 title: Bad Request type: https://problems.luna.akamaiapis.net/appsec/error-types/BAD-REQUEST schema: additionalProperties: true description: Details the errors you can receive. properties: detail: description: The detailed error message. type: string fieldErrors: description: Pointers to fields for which invalid input was provided, whose values are messages detailing the reason this input was invalid for this field. type: object instance: description: The non-referenceable URI that indicates the error instance. example: https://problems.luna.akamaiapis.net/api-definitions/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 type: string status: description: The HTTP status code. example: 404 type: integer title: description: The error title. example: Not Found type: string type: description: The URL for the error type. example: https://problems.luna.akamaiapis.net/api-definitions/error-types/NOT-FOUND type: string required: - title - type - detail - instance - status type: object x-akamai: file-path: schemas/problem-details.yaml description: '[Invalid](https://techdocs.akamai.com/application-security/reference/400). Client error, such as invalid or malformed input.' x-akamai: file-path: errors/400-client-read-errors.yaml '404': content: application/problem+json: example: detail: The requested resource is not found instance: https://problems.luna.akamaiapis.net/appsec/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 status: 404 title: Not Found type: https://problems.luna.akamaiapis.net/appsec/error-types/NOT-FOUND schema: additionalProperties: true description: Details the errors you can receive. properties: detail: description: The detailed error message. type: string fieldErrors: description: Pointers to fields for which invalid input was provided, whose values are messages detailing the reason this input was invalid for this field. type: object instance: description: The non-referenceable URI that indicates the error instance. example: https://problems.luna.akamaiapis.net/api-definitions/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 type: string status: description: The HTTP status code. example: 404 type: integer title: description: The error title. example: Not Found type: string type: description: The URL for the error type. example: https://problems.luna.akamaiapis.net/api-definitions/error-types/NOT-FOUND type: string required: - title - type - detail - instance - status type: object x-akamai: file-path: schemas/problem-details.yaml description: '[Not found](https://techdocs.akamai.com/application-security/reference/404). The security policy doesn''t exist, doesn''t carry application layer controls, or no rule with this ID is available for use in this policy.' x-akamai: file-path: errors/404-client-read-errors.yaml '500': content: application/problem+json: example: detail: Internal Server Error instance: 12ab3c45-789d-01ef-2gh3-ijk4l56m78no status: 500 title: Internal Server Error type: internal_server_error schema: additionalProperties: true description: Details the errors you can receive. properties: detail: description: The detailed error message. type: string fieldErrors: description: Pointers to fields for which invalid input was provided, whose values are messages detailing the reason this input was invalid for this field. type: object instance: description: The non-referenceable URI that indicates the error instance. example: https://problems.luna.akamaiapis.net/api-definitions/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 type: string status: description: The HTTP status code. example: 404 type: integer title: description: The error title. example: Not Found type: string type: description: The URL for the error type. example: https://problems.luna.akamaiapis.net/api-definitions/error-types/NOT-FOUND type: string required: - title - type - detail - instance - status type: object x-akamai: file-path: schemas/problem-details.yaml description: '[Internal server error](https://techdocs.akamai.com/application-security/reference/500). Something went wrong on our side. Try again in a few minutes or contact support if the error persists.' x-akamai: file-path: errors/500-server-errors.yaml summary: Get upgrade details tags: - 'WAF rules: General settings' x-akamai: labels: - Kona Site Defender - App & API Protector with the Advanced Security module /configs/{configId}/versions/{versionNumber}/security-policies/{policyId}/rules/{ruleId}: parameters: - description: A unique identifier for each configuration. in: path name: configId required: true schema: example: 77653 format: int64 type: integer x-akamai: file-path: parameters/config-id-path.yaml - description: A unique identifier for each version of a configuration. in: path name: versionNumber required: true schema: example: 25 type: integer x-akamai: file-path: parameters/version-number-path.yaml - description: A unique identifier for a security policy. in: path name: policyId required: true schema: example: boBF_19288 type: string x-akamai: file-path: parameters/policy-id-path.yaml - description: A unique identifier for rule. in: path name: ruleId required: true schema: example: 699989 type: integer x-akamai: file-path: parameters/rule-id-path.yaml x-akamai: file-path: paths/policy-rule.yaml path-info: /configs/{configId}/versions/{versionNumber}/security-policies/{policyId}/rules/{ruleId} get: description: __Kona Site Defender__, __App & API Protector with the Advanced Security module__ Return the action a rule takes when triggered. This applies to both ASE auto and ASE manual upgrade modes. Rule actions for `ASE_AUTO` are currently in beta. Contact your account team to access this option. externalDocs: description: See documentation for this operation in Akamai's Application Security API url: https://techdocs.akamai.com/application-security/reference/get-rule operationId: get-rule parameters: - description: For customers who manage more than one account, this [runs the operation from another account](https://techdocs.akamai.com/developer/docs/manage-many-accounts-with-one-api-client). The Identity and Access Management API provides a [list of available account switch keys](https://techdocs.akamai.com/iam-api/reference/get-client-account-switch-keys). in: query name: accountSwitchKey required: false schema: example: 1-5C0YLB:1-8BYUX type: string responses: '200': content: application/json: example: action: alert schema: additionalProperties: false description: The GET Response JSON for a rule action. properties: action: description: The action of a rule, either `alert`, `deny`, or `none`. enum: - alert - deny - none type: string required: - action type: object x-akamai: file-path: schemas/rule-action-get-200.yaml description: Successfully retrieved the rule action. '400': content: application/json: example: detail: The request could not be understood by the server due to malformed syntax. instance: https://problems.luna.akamaiapis.net/appsec/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 status: 400 title: Bad Request type: https://problems.luna.akamaiapis.net/appsec/error-types/BAD-REQUEST schema: additionalProperties: true description: Details the errors you can receive. properties: detail: description: The detailed error message. type: string fieldErrors: description: Pointers to fields for which invalid input was provided, whose values are messages detailing the reason this input was invalid for this field. type: object instance: description: The non-referenceable URI that indicates the error instance. example: https://problems.luna.akamaiapis.net/api-definitions/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 type: string status: description: The HTTP status code. example: 404 type: integer title: description: The error title. example: Not Found type: string type: description: The URL for the error type. example: https://problems.luna.akamaiapis.net/api-definitions/error-types/NOT-FOUND type: string required: - title - type - detail - instance - status type: object x-akamai: file-path: schemas/problem-details.yaml description: '[Invalid](https://techdocs.akamai.com/application-security/reference/400). Client error, such as invalid or malformed input.' x-akamai: file-path: errors/400-client-read-errors.yaml '404': content: application/problem+json: example: detail: The requested resource is not found instance: https://problems.luna.akamaiapis.net/appsec/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 status: 404 title: Not Found type: https://problems.luna.akamaiapis.net/appsec/error-types/NOT-FOUND schema: additionalProperties: true description: Details the errors you can receive. properties: detail: description: The detailed error message. type: string fieldErrors: description: Pointers to fields for which invalid input was provided, whose values are messages detailing the reason this input was invalid for this field. type: object instance: description: The non-referenceable URI that indicates the error instance. example: https://problems.luna.akamaiapis.net/api-definitions/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 type: string status: description: The HTTP status code. example: 404 type: integer title: description: The error title. example: Not Found type: string type: description: The URL for the error type. example: https://problems.luna.akamaiapis.net/api-definitions/error-types/NOT-FOUND type: string required: - title - type - detail - instance - status type: object x-akamai: file-path: schemas/problem-details.yaml description: '[Not found](https://techdocs.akamai.com/application-security/reference/404). The security policy doesn''t exist, doesn''t carry application layer controls, or no rule with this ID is available for use in this policy.' x-akamai: file-path: errors/404-client-read-errors.yaml '500': content: application/problem+json: example: detail: Internal Server Error instance: 12ab3c45-789d-01ef-2gh3-ijk4l56m78no status: 500 title: Internal Server Error type: internal_server_error schema: additionalProperties: true description: Details the errors you can receive. properties: detail: description: The detailed error message. type: string fieldErrors: description: Pointers to fields for which invalid input was provided, whose values are messages detailing the reason this input was invalid for this field. type: object instance: description: The non-referenceable URI that indicates the error instance. example: https://problems.luna.akamaiapis.net/api-definitions/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 type: string status: description: The HTTP status code. example: 404 type: integer title: description: The error title. example: Not Found type: string type: description: The URL for the error type. example: https://problems.luna.akamaiapis.net/api-definitions/error-types/NOT-FOUND type: string required: - title - type - detail - instance - status type: object x-akamai: file-path: schemas/problem-details.yaml description: '[Internal server error](https://techdocs.akamai.com/application-security/reference/500). Something went wrong on our side. Try again in a few minutes or contact support if the error persists.' x-akamai: file-path: errors/500-server-errors.yaml summary: Get the action for a rule tags: - 'WAF rules: General settings' x-akamai: labels: - Kona Site Defender - App & API Protector with the Advanced Security module put: description: __Kona Site Defender__, __App & API Protector with the Advanced Security module__ Update what action a rule takes when it's triggered. This applies to both ASE auto and ASE manual upgrade modes. Rule actions for `ASE_AUTO` are currently in beta. Contact your account team to access this option. Use `alert` to record the trigger of the event, `deny` to block the request, or `none` to take no action. externalDocs: description: See documentation for this operation in Akamai's Application Security API url: https://techdocs.akamai.com/application-security/reference/put-rule operationId: put-rule parameters: - description: For customers who manage more than one account, this [runs the operation from another account](https://techdocs.akamai.com/developer/docs/manage-many-accounts-with-one-api-client). The Identity and Access Management API provides a [list of available account switch keys](https://techdocs.akamai.com/iam-api/reference/get-client-account-switch-keys). in: query name: accountSwitchKey required: false schema: example: 1-5C0YLB:1-8BYUX type: string requestBody: content: application/json: example: action: alert schema: additionalProperties: false description: The PUT Request JSON for setting a rule action. properties: action: description: The action of the rule, either `alert`, `deny`, or `none`. enum: - alert - deny - none type: string required: - action type: object x-akamai: file-path: schemas/rule-action-put.yaml required: true responses: '200': content: application/json: example: action: alert schema: additionalProperties: false description: The PUT Response JSON for setting a rule action. properties: action: description: The action of the rule, either `alert`, `deny`, or `none`. enum: - alert - deny - none type: string required: - action type: object x-akamai: file-path: schemas/rule-action-put-200.yaml description: Successfully updated the action of a rule. '400': content: application/json: example: detail: The request could not be understood by the server due to malformed syntax. instance: https://problems.luna.akamaiapis.net/appsec/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 status: 400 title: Bad Request type: https://problems.luna.akamaiapis.net/appsec/error-types/BAD-REQUEST schema: additionalProperties: true description: Details the errors you can receive. properties: detail: description: The detailed error message. type: string fieldErrors: description: Pointers to fields for which invalid input was provided, whose values are messages detailing the reason this input was invalid for this field. type: object instance: description: The non-referenceable URI that indicates the error instance. example: https://problems.luna.akamaiapis.net/api-definitions/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 type: string status: description: The HTTP status code. example: 404 type: integer title: description: The error title. example: Not Found type: string type: description: The URL for the error type. example: https://problems.luna.akamaiapis.net/api-definitions/error-types/NOT-FOUND type: string required: - title - type - detail - instance - status type: object x-akamai: file-path: schemas/problem-details.yaml description: '[Invalid](https://techdocs.akamai.com/application-security/reference/400). Client error, such as invalid or malformed input.' x-akamai: file-path: errors/400-client-read-errors.yaml '403': content: application/problem+json: example: detail: You do not have the necessary access to perform this operation or the requested resource cannot be modified instance: https://problems.luna.akamaiapis.net/appsec/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 status: 403 title: Forbidden type: https://problems.luna.akamaiapis.net/appsec-resource/error-types/ACCESS-DENIED schema: additionalProperties: true description: Details the errors you can receive. properties: detail: description: The detailed error message. type: string fieldErrors: description: Pointers to fields for which invalid input was provided, whose values are messages detailing the reason this input was invalid for this field. type: object instance: description: The non-referenceable URI that indicates the error instance. example: https://problems.luna.akamaiapis.net/api-definitions/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 type: string status: description: The HTTP status code. example: 404 type: integer title: description: The error title. example: Not Found type: string type: description: The URL for the error type. example: https://problems.luna.akamaiapis.net/api-definitions/error-types/NOT-FOUND type: string required: - title - type - detail - instance - status type: object x-akamai: file-path: schemas/problem-details.yaml description: '[Forbidden](https://techdocs.akamai.com/application-security/reference/403). You don''t have permission to write to this resource.' x-akamai: file-path: errors/403-client-write-errors.yaml '404': content: application/problem+json: example: detail: The requested resource is not found instance: https://problems.luna.akamaiapis.net/appsec/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 status: 404 title: Not Found type: https://problems.luna.akamaiapis.net/appsec/error-types/NOT-FOUND schema: additionalProperties: true description: Details the errors you can receive. properties: detail: description: The detailed error message. type: string fieldErrors: description: Pointers to fields for which invalid input was provided, whose values are messages detailing the reason this input was invalid for this field. type: object instance: description: The non-referenceable URI that indicates the error instance. example: https://problems.luna.akamaiapis.net/api-definitions/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 type: string status: description: The HTTP status code. example: 404 type: integer title: description: The error title. example: Not Found type: string type: description: The URL for the error type. example: https://problems.luna.akamaiapis.net/api-definitions/error-types/NOT-FOUND type: string required: - title - type - detail - instance - status type: object x-akamai: file-path: schemas/problem-details.yaml description: '[Not found](https://techdocs.akamai.com/application-security/reference/404). The security policy doesn''t exist, doesn''t carry application layer controls, or no rule with this ID is available for use in this policy.' x-akamai: file-path: errors/404-client-read-errors.yaml '500': content: application/problem+json: example: detail: Internal Server Error instance: 12ab3c45-789d-01ef-2gh3-ijk4l56m78no status: 500 title: Internal Server Error type: internal_server_error schema: additionalProperties: true description: Details the errors you can receive. properties: detail: description: The detailed error message. type: string fieldErrors: description: Pointers to fields for which invalid input was provided, whose values are messages detailing the reason this input was invalid for this field. type: object instance: description: The non-referenceable URI that indicates the error instance. example: https://problems.luna.akamaiapis.net/api-definitions/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 type: string status: description: The HTTP status code. example: 404 type: integer title: description: The error title. example: Not Found type: string type: description: The URL for the error type. example: https://problems.luna.akamaiapis.net/api-definitions/error-types/NOT-FOUND type: string required: - title - type - detail - instance - status type: object x-akamai: file-path: schemas/problem-details.yaml description: '[Internal server error](https://techdocs.akamai.com/application-security/reference/500). Something went wrong on our side. Try again in a few minutes or contact support if the error persists.' x-akamai: file-path: errors/500-server-errors.yaml summary: Modify the action for a rule tags: - 'WAF rules: General settings' x-akamai: labels: - Kona Site Defender - App & API Protector with the Advanced Security module /configs/{configId}/versions/{versionNumber}/security-policies/{policyId}/rules/{ruleId}/condition-exception: parameters: - description: A unique identifier for each configuration. in: path name: configId required: true schema: example: 77653 format: int64 type: integer x-akamai: file-path: parameters/config-id-path.yaml - description: A unique identifier for each version of a configuration. in: path name: versionNumber required: true schema: example: 25 type: integer x-akamai: file-path: parameters/version-number-path.yaml - description: A unique identifier for a security policy. in: path name: policyId required: true schema: example: boBF_19288 type: string x-akamai: file-path: parameters/policy-id-path.yaml - description: A unique identifier for rule. in: path name: ruleId required: true schema: example: 699989 type: integer x-akamai: file-path: parameters/rule-id-path.yaml x-akamai: file-path: paths/policy-rule-condition-exception.yaml path-info: /configs/{configId}/versions/{versionNumber}/security-policies/{policyId}/rules/{ruleId}/condition-exception get: description: __Kona Site Defender__, __App & API Protector with the Advanced Security module__ List a KRS rule's conditions and exceptions. externalDocs: description: See documentation for this operation in Akamai's Application Security API url: https://techdocs.akamai.com/application-security/reference/get-rule-condition-exception operationId: get-rule-condition-exception parameters: - description: For customers who manage more than one account, this [runs the operation from another account](https://techdocs.akamai.com/developer/docs/manage-many-accounts-with-one-api-client). The Identity and Access Management API provides a [list of available account switch keys](https://techdocs.akamai.com/iam-api/reference/get-client-account-switch-keys). in: query name: accountSwitchKey required: false schema: example: 1-5C0YLB:1-8BYUX type: string responses: '200': content: application/json: example: advancedExceptions: conditionOperator: AND conditions: - extensions: - test positiveMatch: true type: extensionMatch - filenames: - test2 positiveMatch: true type: filenameMatch - hosts: - www.test.com positiveMatch: true type: hostMatch - ips: - 192.0.2.34 positiveMatch: true type: ipMatch useHeaders: true - caseSensitive: true name: test3 nameCase: false positiveMatch: true type: uriQueryMatch value: test4 wildcard: true - header: referer positiveMatch: true type: requestHeaderMatch value: test5 valueCase: false valueWildcard: false - methods: - GET positiveMatch: true type: requestMethodMatch - paths: - /test6 positiveMatch: true type: pathMatch - clientLists: - 77547_AGEOLIST positiveMatch: true type: clientListMatch useHeaders: false headerCookieOrParamValues: - valueWildcard: true values: - test specificHeaderCookieOrParamNameValue: - namesValues: - names: - Test values: - test selector: REQUEST_HEADERS valueWildcard: true wildcard: true schema: additionalProperties: false description: The GET Response JSON for conditions and exceptions. properties: advancedExceptions: additionalProperties: false description: Describes the advanced exception fields that allow you to conditionally exclude requests from inspection. This is only available for attack groups and when the advanced exception feature is enabled. properties: conditionOperator: description: Use `OR` to match any condition, or `AND` to match on all conditions. enum: - OR - AND type: string conditions: description: The list of match conditions. items: additionalProperties: false description: Describes what conditions can be set for an action to occur. properties: caseSensitive: description: Whether to consider the case-sensitivity of the provided query parameter `value`. This only applies to the `uriQueryMatch` condition `type`. type: boolean clientLists: description: The clientLists that trigger the condition. This only applies to the `clientListMatch` condition `type`. items: type: string minItems: 0 type: array extensions: description: The file extensions that trigger the condition. This only applies to the `extensionMatch` condition `type`. items: type: string type: array filenames: description: The filenames that trigger the condition. This only applies to the `filenameMatch` condition `type`. items: type: string type: array header: description: The HTTP header that triggers the condition. This only applies to the `requestHeaderMatch` condition `type`. type: string hosts: description: The hostnames that trigger the condition. This only applies to the `hostMatch` condition `type`. items: type: string type: array ips: description: The IPs that trigger the condition. This only applies to the `ipMatch` condition `type`. items: type: string type: array methods: description: The HTTP request methods that trigger the condition. The possible values are `GET`, `POST`, `HEAD`, `PUT`, `DELETE`, `OPTIONS`, `TRACE`, `CONNECT` and `PATCH`. This only applies to the `requestMethodMatch` condition `type`. items: enum: - GET - POST - HEAD - PUT - DELETE - OPTIONS - TRACE - CONNECT - PATCH type: string type: array name: description: The query parameter name that triggers the condition. This only applies to the `uriQueryMatch` condition `type`. type: string nameCase: description: Whether to consider the case-sensitivity of the provided query parameter `name`. This only applies to the `uriQueryMatch` condition `type`. type: boolean paths: description: The paths that trigger the condition. This only applies to the `pathMatch` condition `type`. items: type: string type: array positiveMatch: description: Whether the condition should trigger on a match (`true`) or a lack of match (`false`). type: boolean type: description: The condition type to match on. See [Export condition type values](https://techdocs.akamai.com/application-security/reference/etval). enum: - hostMatch - pathMatch - filenameMatch - extensionMatch - uriQueryMatch - ipMatch - requestMethodMatch - requestHeaderMatch - clientListMatch type: string useHeaders: description: Whether the condition should include `X-Forwarded-For` (XFF) header. This applies to the `ipMatch` and `clientListMatch` condition `type`. type: boolean value: description: The query parameter value if the condition `type` is `uriQueryMatch` and header value if the condition `type` is `requestHeaderMatch`. This only applies when the condition `type` is `uriQueryMatch` or `requestHeaderMatch`. type: string valueCase: description: Whether to consider the case-sensitivity of the provided header `value`. This only applies to the `requestHeaderMatch` condition `type`. type: boolean valueWildcard: description: Whether the provided header `value` is a wildcard. This only applies to the `requestHeaderMatch` condition `type`. type: boolean wildcard: description: Whether the provided query parameter `value` is a wildcard. This only applies to the `uriQueryMatch` condition `type`. type: boolean required: - type - positiveMatch type: object x-akamai: file-path: schemas/condition.yaml type: array headerCookieOrParamValues: description: The list of excepted values in headers, cookies, or query parameters. items: additionalProperties: false properties: criteria: description: A list of criteria to limit the scope of this exception. items: additionalProperties: false description: The hostname and path criteria to limit the scope of exception. properties: hostnames: description: The list of excepted hostnames. items: type: string type: array names: description: The list of excepted names. items: type: string type: array paths: description: The list of excepted paths. items: type: string type: array values: description: The list of excepted values. items: type: string type: array required: - paths - names - values type: object x-akamai: file-path: schemas/criteria.yaml type: array valueWildcard: default: false description: Whether the provided header `name` is a wildcard. type: boolean values: description: The list of request attribute names. items: type: string type: array required: - values type: object type: array specificHeaderCookieOrParamNameValue: description: Contains details about the excepted name-value pairs in a request. items: additionalProperties: false properties: criteria: description: A list of criteria to limit the scope of this exception. items: additionalProperties: false description: The hostname and path criteria to limit the scope of exception. properties: hostnames: description: The list of excepted hostnames. items: type: string type: array names: description: The list of excepted names. items: type: string type: array paths: description: The list of excepted paths. items: type: string type: array values: description: The list of excepted values. items: type: string type: array required: - paths - names - values type: object x-akamai: file-path: schemas/criteria.yaml type: array namesValues: description: A list of name-value pairs to except. items: additionalProperties: false properties: names: description: The list of request attribute names. items: type: string type: array values: description: The list of request attribute values. items: type: string type: array required: - names type: object type: array selector: description: The request attribute to exclude from inspection. See [Exception selector values](https://techdocs.akamai.com/application-security/reference/exception-selector-values). enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string valueWildcard: default: false description: Whether the provided header `value` is a wildcard. type: boolean wildcard: default: false description: Whether the provided header `name` is a wildcard. type: boolean required: - namesValues - selector type: object type: array specificHeaderCookieParamXmlOrJsonNames: description: Describes the advanced exception fields that allow you to conditionally exclude requests from inspection. This is only available for attack groups and when the advanced exception feature is enabled. items: additionalProperties: false properties: criteria: description: A list of criteria to limit the scope of this exception. items: additionalProperties: false description: The hostname and path criteria to limit the scope of exception. properties: hostnames: description: The list of excepted hostnames. items: type: string type: array names: description: The list of excepted names. items: type: string type: array paths: description: The list of excepted paths. items: type: string type: array values: description: The list of excepted values. items: type: string type: array required: - paths - names - values type: object x-akamai: file-path: schemas/criteria.yaml type: array names: description: The list of request attribute names. items: type: string type: array selector: description: The request attribute to exclude from inspection. See [Exception selector values](https://techdocs.akamai.com/application-security/reference/exception-selector-values). enum: - ARGS_NAMES - ARGS - REQUEST_HEADERS_NAMES - REQUEST_HEADERS - REQUEST_COOKIES_NAMES - REQUEST_COOKIES - JSON_NAMES - JSON_PAIRS - XML_PAIRS - REQUEST_PROTOCOL - REQUEST_METHOD - REQUEST_URI - QUERY_STRING - REQUEST_FILENAME - REQUEST_PATH_SEGMENT - REQUEST_BODY - REQBODY_PROCESSOR_ERROR - FILES_NAMES type: string wildcard: default: false description: Whether the provided header `name` is a wildcard. type: boolean required: - selector type: object type: array type: object x-akamai: file-path: schemas/advanced-exception.yaml conditions: description: The conditions list for a rule. items: additionalProperties: false description: Describes what conditions can be set for an action to occur. properties: caseSensitive: description: Whether to consider the case-sensitivity of the provided query parameter `value`. This only applies to the `uriQueryMatch` condition `type`. type: boolean clientLists: description: The clientLists that trigger the condition. This only applies to the `clientListMatch` condition `type`. items: type: string minItems: 0 type: array extensions: description: The file extensions that trigger the condition. This only applies to the `extensionMatch` condition `type`. items: type: string type: array filenames: description: The filenames that trigger the condition. This only applies to the `filenameMatch` condition `type`. items: type: string type: array header: description: The HTTP header that triggers the condition. This only applies to the `requestHeaderMatch` condition `type`. type: string hosts: description: The hostnames that trigger the condition. This only applies to the `hostMatch` condition `type`. items: type: string type: array ips: description: The IPs that trigger the condition. This only applies to the `ipMatch` condition `type`. items: type: string type: array methods: description: The HTTP request methods that trigger the condition. The possible values are `GET`, `POST`, `HEAD`, `PUT`, `DELETE`, `OPTIONS`, `TRACE`, `CONNECT` and `PATCH`. This only applies to the `requestMethodMatch` condition `type`. items: enum: - GET - POST - HEAD - PUT - DELETE - OPTIONS - TRACE - CONNECT - PATCH type: string type: array name: description: The query parameter name that triggers the condition. This only applies to the `uriQueryMatch` condition `type`. type: string nameCase: description: Whether to consider the case-sensitivity of the provided query parameter `name`. This only applies to the `uriQueryMatch` condition `type`. type: boolean paths: description: The paths that trigger the condition. This only applies to the `pathMatch` condition `type`. items: type: string type: array positiveMatch: description: Whether the condition should trigger on a match (`true`) or a lack of match (`false`). type: boolean type: description: The condition type to match on. See [Export condition type values](https://techdocs.akamai.com/application-security/reference/etval). enum: - hostMatch - pathMatch - filenameMatch - extensionMatch - uriQueryMatch - ipMatch - requestMethodMatch - requestHeaderMatch - clientListMatch type: string useHeaders: description: Whether the condition should include `X-Forwarded-For` (XFF) header. This applies to the `ipMatch` and `clientListMatch` condition `type`. type: boolean value: description: The query parameter value if the condition `type` is `uriQueryMatch` and header value if the condition `type` is `requestHeaderMatch`. This only applies when the condition `type` is `uriQueryMatch` or `requestHeaderMatch`. type: string valueCase: description: Whether to consider the case-sensitivity of the provided header `value`. This only applies to the `requestHeaderMatch` condition `type`. type: boolean valueWildcard: description: Whether the provided header `value` is a wildcard. This only applies to the `requestHeaderMatch` condition `type`. type: boolean wildcard: description: Whether the provided query parameter `value` is a wildcard. This only applies to the `uriQueryMatch` condition `type`. type: boolean required: - type - positiveMatch type: object x-akamai: file-path: schemas/condition.yaml type: array exception: additionalProperties: false description: Describes the exception fields that allow you to conditionally exclude requests from inspection. properties: anyHeaderCookieOrParam: description: The list of request attributes to treat as rule or attack group exceptions. The possible values are `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, and `REQUEST_HEADERS` for a request header. Use this option if you can't get an exhaustive list of elements to exclude or the list is too large. You can exclude several attributes. items: enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string type: array headerCookieOrParamValues: description: The list of excepted values in headers, cookies, or query parameters. items: type: string type: array specificHeaderCookieOrParamNameValue: additionalProperties: false description: Contains details about the excepted name-value pair in a request. properties: name: description: The name of the request attribute. type: string selector: description: The request attribute that includes the excepted name-value pair. Either `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, or `REQUEST_HEADERS` for a request header. enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string value: description: The value of the request attribute. type: string required: - name - selector - value type: object specificHeaderCookieOrParamNames: additionalProperties: false description: Contains details about the excepted request attribute name. properties: names: description: The list of request attribute names. items: type: string type: array selector: description: The request attribute that includes the excepted name. Either `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, or `REQUEST_HEADERS` for a request header. enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string required: - names - selector type: object specificHeaderCookieOrParamPrefix: additionalProperties: false description: Contains details about the excepted request attribute name prefix. properties: prefix: description: The request attribute name prefix. type: string selector: description: The request attribute that includes the excepted name prefix. Either `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, or `REQUEST_HEADERS` for a request header. enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string required: - prefix - selector type: object specificHeaderCookieParamXmlOrJsonNames: description: Contains details about the excepted request attribute names. This is only available for attack groups and when advanced exception is not enabled. items: additionalProperties: false properties: names: description: Lists request attribute names, required with several `selector` options. With `wildcard` enabled, `*` represents a sequence and `?` represents any single character. For example, `*` matches any name, and `*session` matches a subset. items: type: string type: array selector: description: 'The request attribute to exclude from inspection. The following selectors require a set of `names`: `ARGS_NAMES`, `ARGS`, `REQUEST_HEADERS_NAMES`, `REQUEST_HEADERS`, `REQUEST_COOKIES_NAMES`, `REQUEST_COOKIES`, `JSON_NAMES`, `JSON_PAIRS`, and `XML_PAIRS`. See [Exception selector values](https://techdocs.akamai.com/application-security/reference/exception-selector-values).' enum: - ARGS_NAMES - ARGS - REQUEST_HEADERS_NAMES - REQUEST_HEADERS - REQUEST_COOKIES_NAMES - REQUEST_COOKIES - JSON_NAMES - JSON_PAIRS - XML_PAIRS - REQUEST_PROTOCOL - REQUEST_METHOD - REQUEST_URI - QUERY_STRING - REQUEST_FILENAME - REQUEST_PATH_SEGMENT - REQUEST_BODY - REQBODY_PROCESSOR_ERROR - FILES_NAMES type: string wildcard: default: false description: Whether you can specify wildcards to flexibly match `names`, either `*` for any set of characters, or `?` for any single character. type: boolean required: - selector type: object type: array type: object x-akamai: file-path: schemas/exception.yaml type: object x-akamai: file-path: schemas/condition-exception-get-200.yaml description: Successfully retrieved the rule conditions and exceptions. '400': content: application/json: example: detail: The request could not be understood by the server due to malformed syntax. instance: https://problems.luna.akamaiapis.net/appsec/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 status: 400 title: Bad Request type: https://problems.luna.akamaiapis.net/appsec/error-types/BAD-REQUEST schema: additionalProperties: true description: Details the errors you can receive. properties: detail: description: The detailed error message. type: string fieldErrors: description: Pointers to fields for which invalid input was provided, whose values are messages detailing the reason this input was invalid for this field. type: object instance: description: The non-referenceable URI that indicates the error instance. example: https://problems.luna.akamaiapis.net/api-definitions/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 type: string status: description: The HTTP status code. example: 404 type: integer title: description: The error title. example: Not Found type: string type: description: The URL for the error type. example: https://problems.luna.akamaiapis.net/api-definitions/error-types/NOT-FOUND type: string required: - title - type - detail - instance - status type: object x-akamai: file-path: schemas/problem-details.yaml description: '[Invalid](https://techdocs.akamai.com/application-security/reference/400). Client error, such as invalid or malformed input.' x-akamai: file-path: errors/400-client-read-errors.yaml '404': content: application/problem+json: example: detail: The requested resource is not found instance: https://problems.luna.akamaiapis.net/appsec/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 status: 404 title: Not Found type: https://problems.luna.akamaiapis.net/appsec/error-types/NOT-FOUND schema: additionalProperties: true description: Details the errors you can receive. properties: detail: description: The detailed error message. type: string fieldErrors: description: Pointers to fields for which invalid input was provided, whose values are messages detailing the reason this input was invalid for this field. type: object instance: description: The non-referenceable URI that indicates the error instance. example: https://problems.luna.akamaiapis.net/api-definitions/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 type: string status: description: The HTTP status code. example: 404 type: integer title: description: The error title. example: Not Found type: string type: description: The URL for the error type. example: https://problems.luna.akamaiapis.net/api-definitions/error-types/NOT-FOUND type: string required: - title - type - detail - instance - status type: object x-akamai: file-path: schemas/problem-details.yaml description: '[Not found](https://techdocs.akamai.com/application-security/reference/404). The security policy doesn''t exist, doesn''t carry application layer controls, or no rule with this ID is available for use in this policy.' x-akamai: file-path: errors/404-client-read-errors.yaml '500': content: application/problem+json: example: detail: Internal Server Error instance: 12ab3c45-789d-01ef-2gh3-ijk4l56m78no status: 500 title: Internal Server Error type: internal_server_error schema: additionalProperties: true description: Details the errors you can receive. properties: detail: description: The detailed error message. type: string fieldErrors: description: Pointers to fields for which invalid input was provided, whose values are messages detailing the reason this input was invalid for this field. type: object instance: description: The non-referenceable URI that indicates the error instance. example: https://problems.luna.akamaiapis.net/api-definitions/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 type: string status: description: The HTTP status code. example: 404 type: integer title: description: The error title. example: Not Found type: string type: description: The URL for the error type. example: https://problems.luna.akamaiapis.net/api-definitions/error-types/NOT-FOUND type: string required: - title - type - detail - instance - status type: object x-akamai: file-path: schemas/problem-details.yaml description: '[Internal server error](https://techdocs.akamai.com/application-security/reference/500). Something went wrong on our side. Try again in a few minutes or contact support if the error persists.' x-akamai: file-path: errors/500-server-errors.yaml summary: Get the conditions and exceptions of a rule tags: - 'WAF rules: General settings' x-akamai: labels: - Kona Site Defender - App & API Protector with the Advanced Security module put: description: __Kona Site Defender__, __App & API Protector with the Advanced Security module__ Update a rule's conditions and exceptions. When the conditions are met, the rule's actions are ignored and _not_ applied to that specific traffic. externalDocs: description: See documentation for this operation in Akamai's Application Security API url: https://techdocs.akamai.com/application-security/reference/put-rule-condition-exception operationId: put-rule-condition-exception parameters: - description: For customers who manage more than one account, this [runs the operation from another account](https://techdocs.akamai.com/developer/docs/manage-many-accounts-with-one-api-client). The Identity and Access Management API provides a [list of available account switch keys](https://techdocs.akamai.com/iam-api/reference/get-client-account-switch-keys). in: query name: accountSwitchKey required: false schema: example: 1-5C0YLB:1-8BYUX type: string requestBody: content: application/json: example: advancedExceptions: conditionOperator: AND conditions: - extensions: - test positiveMatch: true type: extensionMatch - filenames: - test2 positiveMatch: true type: filenameMatch - hosts: - www.test.com positiveMatch: true type: hostMatch - ips: - 192.0.2.34 positiveMatch: true type: ipMatch useHeaders: true - caseSensitive: true name: test3 nameCase: false positiveMatch: true type: uriQueryMatch value: test4 wildcard: true - header: referer positiveMatch: true type: requestHeaderMatch value: test5 valueCase: false valueWildcard: false - methods: - GET positiveMatch: true type: requestMethodMatch - paths: - /test6 positiveMatch: true type: pathMatch - clientLists: - 77547_AGEOLIST positiveMatch: true type: clientListMatch useHeaders: false headerCookieOrParamValues: - valueWildcard: true values: - test specificHeaderCookieOrParamNameValue: - namesValues: - names: - Test values: - test selector: REQUEST_HEADERS valueWildcard: true wildcard: true schema: additionalProperties: false description: Describes the conditions and exceptions you can configure in attack groups or rules. When `advanced` is enabled, you can only specify attack group exception data in one `basic` or `advancedExceptions` section, and not both. properties: advancedExceptions: additionalProperties: false description: Describes the advanced exception fields that allow you to conditionally exclude requests from inspection. This is only available for attack groups and when the advanced exception feature is enabled. properties: conditionOperator: description: Use `OR` to match any condition, or `AND` to match on all conditions. enum: - OR - AND type: string conditions: description: The list of match conditions. items: additionalProperties: false description: Describes what conditions can be set for an action to occur. properties: caseSensitive: description: Whether to consider the case-sensitivity of the provided query parameter `value`. This only applies to the `uriQueryMatch` condition `type`. type: boolean clientLists: description: The clientLists that trigger the condition. This only applies to the `clientListMatch` condition `type`. items: type: string minItems: 0 type: array extensions: description: The file extensions that trigger the condition. This only applies to the `extensionMatch` condition `type`. items: type: string type: array filenames: description: The filenames that trigger the condition. This only applies to the `filenameMatch` condition `type`. items: type: string type: array header: description: The HTTP header that triggers the condition. This only applies to the `requestHeaderMatch` condition `type`. type: string hosts: description: The hostnames that trigger the condition. This only applies to the `hostMatch` condition `type`. items: type: string type: array ips: description: The IPs that trigger the condition. This only applies to the `ipMatch` condition `type`. items: type: string type: array methods: description: The HTTP request methods that trigger the condition. The possible values are `GET`, `POST`, `HEAD`, `PUT`, `DELETE`, `OPTIONS`, `TRACE`, `CONNECT` and `PATCH`. This only applies to the `requestMethodMatch` condition `type`. items: enum: - GET - POST - HEAD - PUT - DELETE - OPTIONS - TRACE - CONNECT - PATCH type: string type: array name: description: The query parameter name that triggers the condition. This only applies to the `uriQueryMatch` condition `type`. type: string nameCase: description: Whether to consider the case-sensitivity of the provided query parameter `name`. This only applies to the `uriQueryMatch` condition `type`. type: boolean paths: description: The paths that trigger the condition. This only applies to the `pathMatch` condition `type`. items: type: string type: array positiveMatch: description: Whether the condition should trigger on a match (`true`) or a lack of match (`false`). type: boolean type: description: The condition type to match on. See [Export condition type values](https://techdocs.akamai.com/application-security/reference/etval). enum: - hostMatch - pathMatch - filenameMatch - extensionMatch - uriQueryMatch - ipMatch - requestMethodMatch - requestHeaderMatch - clientListMatch type: string useHeaders: description: Whether the condition should include `X-Forwarded-For` (XFF) header. This applies to the `ipMatch` and `clientListMatch` condition `type`. type: boolean value: description: The query parameter value if the condition `type` is `uriQueryMatch` and header value if the condition `type` is `requestHeaderMatch`. This only applies when the condition `type` is `uriQueryMatch` or `requestHeaderMatch`. type: string valueCase: description: Whether to consider the case-sensitivity of the provided header `value`. This only applies to the `requestHeaderMatch` condition `type`. type: boolean valueWildcard: description: Whether the provided header `value` is a wildcard. This only applies to the `requestHeaderMatch` condition `type`. type: boolean wildcard: description: Whether the provided query parameter `value` is a wildcard. This only applies to the `uriQueryMatch` condition `type`. type: boolean required: - type - positiveMatch type: object x-akamai: file-path: schemas/condition.yaml type: array headerCookieOrParamValues: description: The list of excepted values in headers, cookies, or query parameters. items: additionalProperties: false properties: criteria: description: A list of criteria to limit the scope of this exception. items: additionalProperties: false description: The hostname and path criteria to limit the scope of exception. properties: hostnames: description: The list of excepted hostnames. items: type: string type: array names: description: The list of excepted names. items: type: string type: array paths: description: The list of excepted paths. items: type: string type: array values: description: The list of excepted values. items: type: string type: array required: - paths - names - values type: object x-akamai: file-path: schemas/criteria.yaml type: array valueWildcard: default: false description: Whether the provided header `name` is a wildcard. type: boolean values: description: The list of request attribute names. items: type: string type: array required: - values type: object type: array specificHeaderCookieOrParamNameValue: description: Contains details about the excepted name-value pairs in a request. items: additionalProperties: false properties: criteria: description: A list of criteria to limit the scope of this exception. items: additionalProperties: false description: The hostname and path criteria to limit the scope of exception. properties: hostnames: description: The list of excepted hostnames. items: type: string type: array names: description: The list of excepted names. items: type: string type: array paths: description: The list of excepted paths. items: type: string type: array values: description: The list of excepted values. items: type: string type: array required: - paths - names - values type: object x-akamai: file-path: schemas/criteria.yaml type: array namesValues: description: A list of name-value pairs to except. items: additionalProperties: false properties: names: description: The list of request attribute names. items: type: string type: array values: description: The list of request attribute values. items: type: string type: array required: - names type: object type: array selector: description: The request attribute to exclude from inspection. See [Exception selector values](https://techdocs.akamai.com/application-security/reference/exception-selector-values). enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string valueWildcard: default: false description: Whether the provided header `value` is a wildcard. type: boolean wildcard: default: false description: Whether the provided header `name` is a wildcard. type: boolean required: - namesValues - selector type: object type: array specificHeaderCookieParamXmlOrJsonNames: description: Describes the advanced exception fields that allow you to conditionally exclude requests from inspection. This is only available for attack groups and when the advanced exception feature is enabled. items: additionalProperties: false properties: criteria: description: A list of criteria to limit the scope of this exception. items: additionalProperties: false description: The hostname and path criteria to limit the scope of exception. properties: hostnames: description: The list of excepted hostnames. items: type: string type: array names: description: The list of excepted names. items: type: string type: array paths: description: The list of excepted paths. items: type: string type: array values: description: The list of excepted values. items: type: string type: array required: - paths - names - values type: object x-akamai: file-path: schemas/criteria.yaml type: array names: description: The list of request attribute names. items: type: string type: array selector: description: The request attribute to exclude from inspection. See [Exception selector values](https://techdocs.akamai.com/application-security/reference/exception-selector-values). enum: - ARGS_NAMES - ARGS - REQUEST_HEADERS_NAMES - REQUEST_HEADERS - REQUEST_COOKIES_NAMES - REQUEST_COOKIES - JSON_NAMES - JSON_PAIRS - XML_PAIRS - REQUEST_PROTOCOL - REQUEST_METHOD - REQUEST_URI - QUERY_STRING - REQUEST_FILENAME - REQUEST_PATH_SEGMENT - REQUEST_BODY - REQBODY_PROCESSOR_ERROR - FILES_NAMES type: string wildcard: default: false description: Whether the provided header `name` is a wildcard. type: boolean required: - selector type: object type: array type: object x-akamai: file-path: schemas/advanced-exception.yaml conditions: description: The conditions list for a rule. items: additionalProperties: false description: Describes what conditions can be set for an action to occur. properties: caseSensitive: description: Whether to consider the case-sensitivity of the provided query parameter `value`. This only applies to the `uriQueryMatch` condition `type`. type: boolean clientLists: description: The clientLists that trigger the condition. This only applies to the `clientListMatch` condition `type`. items: type: string minItems: 0 type: array extensions: description: The file extensions that trigger the condition. This only applies to the `extensionMatch` condition `type`. items: type: string type: array filenames: description: The filenames that trigger the condition. This only applies to the `filenameMatch` condition `type`. items: type: string type: array header: description: The HTTP header that triggers the condition. This only applies to the `requestHeaderMatch` condition `type`. type: string hosts: description: The hostnames that trigger the condition. This only applies to the `hostMatch` condition `type`. items: type: string type: array ips: description: The IPs that trigger the condition. This only applies to the `ipMatch` condition `type`. items: type: string type: array methods: description: The HTTP request methods that trigger the condition. The possible values are `GET`, `POST`, `HEAD`, `PUT`, `DELETE`, `OPTIONS`, `TRACE`, `CONNECT` and `PATCH`. This only applies to the `requestMethodMatch` condition `type`. items: enum: - GET - POST - HEAD - PUT - DELETE - OPTIONS - TRACE - CONNECT - PATCH type: string type: array name: description: The query parameter name that triggers the condition. This only applies to the `uriQueryMatch` condition `type`. type: string nameCase: description: Whether to consider the case-sensitivity of the provided query parameter `name`. This only applies to the `uriQueryMatch` condition `type`. type: boolean paths: description: The paths that trigger the condition. This only applies to the `pathMatch` condition `type`. items: type: string type: array positiveMatch: description: Whether the condition should trigger on a match (`true`) or a lack of match (`false`). type: boolean type: description: The condition type to match on. See [Export condition type values](https://techdocs.akamai.com/application-security/reference/etval). enum: - hostMatch - pathMatch - filenameMatch - extensionMatch - uriQueryMatch - ipMatch - requestMethodMatch - requestHeaderMatch - clientListMatch type: string useHeaders: description: Whether the condition should include `X-Forwarded-For` (XFF) header. This applies to the `ipMatch` and `clientListMatch` condition `type`. type: boolean value: description: The query parameter value if the condition `type` is `uriQueryMatch` and header value if the condition `type` is `requestHeaderMatch`. This only applies when the condition `type` is `uriQueryMatch` or `requestHeaderMatch`. type: string valueCase: description: Whether to consider the case-sensitivity of the provided header `value`. This only applies to the `requestHeaderMatch` condition `type`. type: boolean valueWildcard: description: Whether the provided header `value` is a wildcard. This only applies to the `requestHeaderMatch` condition `type`. type: boolean wildcard: description: Whether the provided query parameter `value` is a wildcard. This only applies to the `uriQueryMatch` condition `type`. type: boolean required: - type - positiveMatch type: object x-akamai: file-path: schemas/condition.yaml type: array exception: additionalProperties: false description: Describes the exception fields that allow you to conditionally exclude requests from inspection. properties: anyHeaderCookieOrParam: description: The list of request attributes to treat as rule or attack group exceptions. The possible values are `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, and `REQUEST_HEADERS` for a request header. Use this option if you can't get an exhaustive list of elements to exclude or the list is too large. You can exclude several attributes. items: enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string type: array headerCookieOrParamValues: description: The list of excepted values in headers, cookies, or query parameters. items: type: string type: array specificHeaderCookieOrParamNameValue: additionalProperties: false description: Contains details about the excepted name-value pair in a request. properties: name: description: The name of the request attribute. type: string selector: description: The request attribute that includes the excepted name-value pair. Either `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, or `REQUEST_HEADERS` for a request header. enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string value: description: The value of the request attribute. type: string required: - name - selector - value type: object specificHeaderCookieOrParamNames: additionalProperties: false description: Contains details about the excepted request attribute name. properties: names: description: The list of request attribute names. items: type: string type: array selector: description: The request attribute that includes the excepted name. Either `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, or `REQUEST_HEADERS` for a request header. enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string required: - names - selector type: object specificHeaderCookieOrParamPrefix: additionalProperties: false description: Contains details about the excepted request attribute name prefix. properties: prefix: description: The request attribute name prefix. type: string selector: description: The request attribute that includes the excepted name prefix. Either `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, or `REQUEST_HEADERS` for a request header. enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string required: - prefix - selector type: object specificHeaderCookieParamXmlOrJsonNames: description: Contains details about the excepted request attribute names. This is only available for attack groups and when advanced exception is not enabled. items: additionalProperties: false properties: names: description: Lists request attribute names, required with several `selector` options. With `wildcard` enabled, `*` represents a sequence and `?` represents any single character. For example, `*` matches any name, and `*session` matches a subset. items: type: string type: array selector: description: 'The request attribute to exclude from inspection. The following selectors require a set of `names`: `ARGS_NAMES`, `ARGS`, `REQUEST_HEADERS_NAMES`, `REQUEST_HEADERS`, `REQUEST_COOKIES_NAMES`, `REQUEST_COOKIES`, `JSON_NAMES`, `JSON_PAIRS`, and `XML_PAIRS`. See [Exception selector values](https://techdocs.akamai.com/application-security/reference/exception-selector-values).' enum: - ARGS_NAMES - ARGS - REQUEST_HEADERS_NAMES - REQUEST_HEADERS - REQUEST_COOKIES_NAMES - REQUEST_COOKIES - JSON_NAMES - JSON_PAIRS - XML_PAIRS - REQUEST_PROTOCOL - REQUEST_METHOD - REQUEST_URI - QUERY_STRING - REQUEST_FILENAME - REQUEST_PATH_SEGMENT - REQUEST_BODY - REQBODY_PROCESSOR_ERROR - FILES_NAMES type: string wildcard: default: false description: Whether you can specify wildcards to flexibly match `names`, either `*` for any set of characters, or `?` for any single character. type: boolean required: - selector type: object type: array type: object x-akamai: file-path: schemas/exception.yaml type: object x-akamai: file-path: schemas/condition-exception-put.yaml required: true responses: '200': content: application/json: example: advancedExceptions: conditionOperator: AND conditions: - extensions: - test positiveMatch: true type: extensionMatch - filenames: - test2 positiveMatch: true type: filenameMatch - hosts: - www.test.com positiveMatch: true type: hostMatch - ips: - 192.0.2.34 positiveMatch: true type: ipMatch useHeaders: true - caseSensitive: true name: test3 nameCase: false positiveMatch: true type: uriQueryMatch value: test4 wildcard: true - header: referer positiveMatch: true type: requestHeaderMatch value: test5 valueCase: false valueWildcard: false - methods: - GET positiveMatch: true type: requestMethodMatch - paths: - /test6 positiveMatch: true type: pathMatch - clientLists: - 77547_AGEOLIST positiveMatch: true type: clientListMatch useHeaders: false headerCookieOrParamValues: - valueWildcard: true values: - test specificHeaderCookieOrParamNameValue: - namesValues: - names: - Test values: - test selector: REQUEST_HEADERS valueWildcard: true wildcard: true schema: additionalProperties: false description: The PUT Response JSON for conditions and exceptions. properties: advancedExceptions: additionalProperties: false description: Describes the advanced exception fields that allow you to conditionally exclude requests from inspection. This is only available for attack groups and when the advanced exception feature is enabled. properties: conditionOperator: description: Use `OR` to match any condition, or `AND` to match on all conditions. enum: - OR - AND type: string conditions: description: The list of match conditions. items: additionalProperties: false description: Describes what conditions can be set for an action to occur. properties: caseSensitive: description: Whether to consider the case-sensitivity of the provided query parameter `value`. This only applies to the `uriQueryMatch` condition `type`. type: boolean clientLists: description: The clientLists that trigger the condition. This only applies to the `clientListMatch` condition `type`. items: type: string minItems: 0 type: array extensions: description: The file extensions that trigger the condition. This only applies to the `extensionMatch` condition `type`. items: type: string type: array filenames: description: The filenames that trigger the condition. This only applies to the `filenameMatch` condition `type`. items: type: string type: array header: description: The HTTP header that triggers the condition. This only applies to the `requestHeaderMatch` condition `type`. type: string hosts: description: The hostnames that trigger the condition. This only applies to the `hostMatch` condition `type`. items: type: string type: array ips: description: The IPs that trigger the condition. This only applies to the `ipMatch` condition `type`. items: type: string type: array methods: description: The HTTP request methods that trigger the condition. The possible values are `GET`, `POST`, `HEAD`, `PUT`, `DELETE`, `OPTIONS`, `TRACE`, `CONNECT` and `PATCH`. This only applies to the `requestMethodMatch` condition `type`. items: enum: - GET - POST - HEAD - PUT - DELETE - OPTIONS - TRACE - CONNECT - PATCH type: string type: array name: description: The query parameter name that triggers the condition. This only applies to the `uriQueryMatch` condition `type`. type: string nameCase: description: Whether to consider the case-sensitivity of the provided query parameter `name`. This only applies to the `uriQueryMatch` condition `type`. type: boolean paths: description: The paths that trigger the condition. This only applies to the `pathMatch` condition `type`. items: type: string type: array positiveMatch: description: Whether the condition should trigger on a match (`true`) or a lack of match (`false`). type: boolean type: description: The condition type to match on. See [Export condition type values](https://techdocs.akamai.com/application-security/reference/etval). enum: - hostMatch - pathMatch - filenameMatch - extensionMatch - uriQueryMatch - ipMatch - requestMethodMatch - requestHeaderMatch - clientListMatch type: string useHeaders: description: Whether the condition should include `X-Forwarded-For` (XFF) header. This applies to the `ipMatch` and `clientListMatch` condition `type`. type: boolean value: description: The query parameter value if the condition `type` is `uriQueryMatch` and header value if the condition `type` is `requestHeaderMatch`. This only applies when the condition `type` is `uriQueryMatch` or `requestHeaderMatch`. type: string valueCase: description: Whether to consider the case-sensitivity of the provided header `value`. This only applies to the `requestHeaderMatch` condition `type`. type: boolean valueWildcard: description: Whether the provided header `value` is a wildcard. This only applies to the `requestHeaderMatch` condition `type`. type: boolean wildcard: description: Whether the provided query parameter `value` is a wildcard. This only applies to the `uriQueryMatch` condition `type`. type: boolean required: - type - positiveMatch type: object x-akamai: file-path: schemas/condition.yaml type: array headerCookieOrParamValues: description: The list of excepted values in headers, cookies, or query parameters. items: additionalProperties: false properties: criteria: description: A list of criteria to limit the scope of this exception. items: additionalProperties: false description: The hostname and path criteria to limit the scope of exception. properties: hostnames: description: The list of excepted hostnames. items: type: string type: array names: description: The list of excepted names. items: type: string type: array paths: description: The list of excepted paths. items: type: string type: array values: description: The list of excepted values. items: type: string type: array required: - paths - names - values type: object x-akamai: file-path: schemas/criteria.yaml type: array valueWildcard: default: false description: Whether the provided header `name` is a wildcard. type: boolean values: description: The list of request attribute names. items: type: string type: array required: - values type: object type: array specificHeaderCookieOrParamNameValue: description: Contains details about the excepted name-value pairs in a request. items: additionalProperties: false properties: criteria: description: A list of criteria to limit the scope of this exception. items: additionalProperties: false description: The hostname and path criteria to limit the scope of exception. properties: hostnames: description: The list of excepted hostnames. items: type: string type: array names: description: The list of excepted names. items: type: string type: array paths: description: The list of excepted paths. items: type: string type: array values: description: The list of excepted values. items: type: string type: array required: - paths - names - values type: object x-akamai: file-path: schemas/criteria.yaml type: array namesValues: description: A list of name-value pairs to except. items: additionalProperties: false properties: names: description: The list of request attribute names. items: type: string type: array values: description: The list of request attribute values. items: type: string type: array required: - names type: object type: array selector: description: The request attribute to exclude from inspection. See [Exception selector values](https://techdocs.akamai.com/application-security/reference/exception-selector-values). enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string valueWildcard: default: false description: Whether the provided header `value` is a wildcard. type: boolean wildcard: default: false description: Whether the provided header `name` is a wildcard. type: boolean required: - namesValues - selector type: object type: array specificHeaderCookieParamXmlOrJsonNames: description: Describes the advanced exception fields that allow you to conditionally exclude requests from inspection. This is only available for attack groups and when the advanced exception feature is enabled. items: additionalProperties: false properties: criteria: description: A list of criteria to limit the scope of this exception. items: additionalProperties: false description: The hostname and path criteria to limit the scope of exception. properties: hostnames: description: The list of excepted hostnames. items: type: string type: array names: description: The list of excepted names. items: type: string type: array paths: description: The list of excepted paths. items: type: string type: array values: description: The list of excepted values. items: type: string type: array required: - paths - names - values type: object x-akamai: file-path: schemas/criteria.yaml type: array names: description: The list of request attribute names. items: type: string type: array selector: description: The request attribute to exclude from inspection. See [Exception selector values](https://techdocs.akamai.com/application-security/reference/exception-selector-values). enum: - ARGS_NAMES - ARGS - REQUEST_HEADERS_NAMES - REQUEST_HEADERS - REQUEST_COOKIES_NAMES - REQUEST_COOKIES - JSON_NAMES - JSON_PAIRS - XML_PAIRS - REQUEST_PROTOCOL - REQUEST_METHOD - REQUEST_URI - QUERY_STRING - REQUEST_FILENAME - REQUEST_PATH_SEGMENT - REQUEST_BODY - REQBODY_PROCESSOR_ERROR - FILES_NAMES type: string wildcard: default: false description: Whether the provided header `name` is a wildcard. type: boolean required: - selector type: object type: array type: object x-akamai: file-path: schemas/advanced-exception.yaml conditions: description: The conditions list for a rule. items: additionalProperties: false description: Describes what conditions can be set for an action to occur. properties: caseSensitive: description: Whether to consider the case-sensitivity of the provided query parameter `value`. This only applies to the `uriQueryMatch` condition `type`. type: boolean clientLists: description: The clientLists that trigger the condition. This only applies to the `clientListMatch` condition `type`. items: type: string minItems: 0 type: array extensions: description: The file extensions that trigger the condition. This only applies to the `extensionMatch` condition `type`. items: type: string type: array filenames: description: The filenames that trigger the condition. This only applies to the `filenameMatch` condition `type`. items: type: string type: array header: description: The HTTP header that triggers the condition. This only applies to the `requestHeaderMatch` condition `type`. type: string hosts: description: The hostnames that trigger the condition. This only applies to the `hostMatch` condition `type`. items: type: string type: array ips: description: The IPs that trigger the condition. This only applies to the `ipMatch` condition `type`. items: type: string type: array methods: description: The HTTP request methods that trigger the condition. The possible values are `GET`, `POST`, `HEAD`, `PUT`, `DELETE`, `OPTIONS`, `TRACE`, `CONNECT` and `PATCH`. This only applies to the `requestMethodMatch` condition `type`. items: enum: - GET - POST - HEAD - PUT - DELETE - OPTIONS - TRACE - CONNECT - PATCH type: string type: array name: description: The query parameter name that triggers the condition. This only applies to the `uriQueryMatch` condition `type`. type: string nameCase: description: Whether to consider the case-sensitivity of the provided query parameter `name`. This only applies to the `uriQueryMatch` condition `type`. type: boolean paths: description: The paths that trigger the condition. This only applies to the `pathMatch` condition `type`. items: type: string type: array positiveMatch: description: Whether the condition should trigger on a match (`true`) or a lack of match (`false`). type: boolean type: description: The condition type to match on. See [Export condition type values](https://techdocs.akamai.com/application-security/reference/etval). enum: - hostMatch - pathMatch - filenameMatch - extensionMatch - uriQueryMatch - ipMatch - requestMethodMatch - requestHeaderMatch - clientListMatch type: string useHeaders: description: Whether the condition should include `X-Forwarded-For` (XFF) header. This applies to the `ipMatch` and `clientListMatch` condition `type`. type: boolean value: description: The query parameter value if the condition `type` is `uriQueryMatch` and header value if the condition `type` is `requestHeaderMatch`. This only applies when the condition `type` is `uriQueryMatch` or `requestHeaderMatch`. type: string valueCase: description: Whether to consider the case-sensitivity of the provided header `value`. This only applies to the `requestHeaderMatch` condition `type`. type: boolean valueWildcard: description: Whether the provided header `value` is a wildcard. This only applies to the `requestHeaderMatch` condition `type`. type: boolean wildcard: description: Whether the provided query parameter `value` is a wildcard. This only applies to the `uriQueryMatch` condition `type`. type: boolean required: - type - positiveMatch type: object x-akamai: file-path: schemas/condition.yaml type: array exception: additionalProperties: false description: Describes the exception fields that allow you to conditionally exclude requests from inspection. properties: anyHeaderCookieOrParam: description: The list of request attributes to treat as rule or attack group exceptions. The possible values are `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, and `REQUEST_HEADERS` for a request header. Use this option if you can't get an exhaustive list of elements to exclude or the list is too large. You can exclude several attributes. items: enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string type: array headerCookieOrParamValues: description: The list of excepted values in headers, cookies, or query parameters. items: type: string type: array specificHeaderCookieOrParamNameValue: additionalProperties: false description: Contains details about the excepted name-value pair in a request. properties: name: description: The name of the request attribute. type: string selector: description: The request attribute that includes the excepted name-value pair. Either `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, or `REQUEST_HEADERS` for a request header. enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string value: description: The value of the request attribute. type: string required: - name - selector - value type: object specificHeaderCookieOrParamNames: additionalProperties: false description: Contains details about the excepted request attribute name. properties: names: description: The list of request attribute names. items: type: string type: array selector: description: The request attribute that includes the excepted name. Either `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, or `REQUEST_HEADERS` for a request header. enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string required: - names - selector type: object specificHeaderCookieOrParamPrefix: additionalProperties: false description: Contains details about the excepted request attribute name prefix. properties: prefix: description: The request attribute name prefix. type: string selector: description: The request attribute that includes the excepted name prefix. Either `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, or `REQUEST_HEADERS` for a request header. enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string required: - prefix - selector type: object specificHeaderCookieParamXmlOrJsonNames: description: Contains details about the excepted request attribute names. This is only available for attack groups and when advanced exception is not enabled. items: additionalProperties: false properties: names: description: Lists request attribute names, required with several `selector` options. With `wildcard` enabled, `*` represents a sequence and `?` represents any single character. For example, `*` matches any name, and `*session` matches a subset. items: type: string type: array selector: description: 'The request attribute to exclude from inspection. The following selectors require a set of `names`: `ARGS_NAMES`, `ARGS`, `REQUEST_HEADERS_NAMES`, `REQUEST_HEADERS`, `REQUEST_COOKIES_NAMES`, `REQUEST_COOKIES`, `JSON_NAMES`, `JSON_PAIRS`, and `XML_PAIRS`. See [Exception selector values](https://techdocs.akamai.com/application-security/reference/exception-selector-values).' enum: - ARGS_NAMES - ARGS - REQUEST_HEADERS_NAMES - REQUEST_HEADERS - REQUEST_COOKIES_NAMES - REQUEST_COOKIES - JSON_NAMES - JSON_PAIRS - XML_PAIRS - REQUEST_PROTOCOL - REQUEST_METHOD - REQUEST_URI - QUERY_STRING - REQUEST_FILENAME - REQUEST_PATH_SEGMENT - REQUEST_BODY - REQBODY_PROCESSOR_ERROR - FILES_NAMES type: string wildcard: default: false description: Whether you can specify wildcards to flexibly match `names`, either `*` for any set of characters, or `?` for any single character. type: boolean required: - selector type: object type: array type: object x-akamai: file-path: schemas/exception.yaml type: object x-akamai: file-path: schemas/condition-exception-put-200.yaml description: Successfully updated the conditions and exceptions of a rule. '400': content: application/json: example: detail: The request could not be understood by the server due to malformed syntax. instance: https://problems.luna.akamaiapis.net/appsec/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 status: 400 title: Bad Request type: https://problems.luna.akamaiapis.net/appsec/error-types/BAD-REQUEST schema: additionalProperties: true description: Details the errors you can receive. properties: detail: description: The detailed error message. type: string fieldErrors: description: Pointers to fields for which invalid input was provided, whose values are messages detailing the reason this input was invalid for this field. type: object instance: description: The non-referenceable URI that indicates the error instance. example: https://problems.luna.akamaiapis.net/api-definitions/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 type: string status: description: The HTTP status code. example: 404 type: integer title: description: The error title. example: Not Found type: string type: description: The URL for the error type. example: https://problems.luna.akamaiapis.net/api-definitions/error-types/NOT-FOUND type: string required: - title - type - detail - instance - status type: object x-akamai: file-path: schemas/problem-details.yaml description: '[Invalid](https://techdocs.akamai.com/application-security/reference/400). Client error, such as invalid or malformed input.' x-akamai: file-path: errors/400-client-read-errors.yaml '403': content: application/problem+json: example: detail: You do not have the necessary access to perform this operation or the requested resource cannot be modified instance: https://problems.luna.akamaiapis.net/appsec/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 status: 403 title: Forbidden type: https://problems.luna.akamaiapis.net/appsec-resource/error-types/ACCESS-DENIED schema: additionalProperties: true description: Details the errors you can receive. properties: detail: description: The detailed error message. type: string fieldErrors: description: Pointers to fields for which invalid input was provided, whose values are messages detailing the reason this input was invalid for this field. type: object instance: description: The non-referenceable URI that indicates the error instance. example: https://problems.luna.akamaiapis.net/api-definitions/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 type: string status: description: The HTTP status code. example: 404 type: integer title: description: The error title. example: Not Found type: string type: description: The URL for the error type. example: https://problems.luna.akamaiapis.net/api-definitions/error-types/NOT-FOUND type: string required: - title - type - detail - instance - status type: object x-akamai: file-path: schemas/problem-details.yaml description: '[Forbidden](https://techdocs.akamai.com/application-security/reference/403). You don''t have permission to write to this resource.' x-akamai: file-path: errors/403-client-write-errors.yaml '404': content: application/problem+json: example: detail: The requested resource is not found instance: https://problems.luna.akamaiapis.net/appsec/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 status: 404 title: Not Found type: https://problems.luna.akamaiapis.net/appsec/error-types/NOT-FOUND schema: additionalProperties: true description: Details the errors you can receive. properties: detail: description: The detailed error message. type: string fieldErrors: description: Pointers to fields for which invalid input was provided, whose values are messages detailing the reason this input was invalid for this field. type: object instance: description: The non-referenceable URI that indicates the error instance. example: https://problems.luna.akamaiapis.net/api-definitions/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 type: string status: description: The HTTP status code. example: 404 type: integer title: description: The error title. example: Not Found type: string type: description: The URL for the error type. example: https://problems.luna.akamaiapis.net/api-definitions/error-types/NOT-FOUND type: string required: - title - type - detail - instance - status type: object x-akamai: file-path: schemas/problem-details.yaml description: '[Not found](https://techdocs.akamai.com/application-security/reference/404). The security policy doesn''t exist, doesn''t carry application layer controls, or no rule with this ID is available for use in this policy.' x-akamai: file-path: errors/404-client-read-errors.yaml '500': content: application/problem+json: example: detail: Internal Server Error instance: 12ab3c45-789d-01ef-2gh3-ijk4l56m78no status: 500 title: Internal Server Error type: internal_server_error schema: additionalProperties: true description: Details the errors you can receive. properties: detail: description: The detailed error message. type: string fieldErrors: description: Pointers to fields for which invalid input was provided, whose values are messages detailing the reason this input was invalid for this field. type: object instance: description: The non-referenceable URI that indicates the error instance. example: https://problems.luna.akamaiapis.net/api-definitions/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 type: string status: description: The HTTP status code. example: 404 type: integer title: description: The error title. example: Not Found type: string type: description: The URL for the error type. example: https://problems.luna.akamaiapis.net/api-definitions/error-types/NOT-FOUND type: string required: - title - type - detail - instance - status type: object x-akamai: file-path: schemas/problem-details.yaml description: '[Internal server error](https://techdocs.akamai.com/application-security/reference/500). Something went wrong on our side. Try again in a few minutes or contact support if the error persists.' x-akamai: file-path: errors/500-server-errors.yaml summary: Modify the conditions and exceptions of a rule tags: - 'WAF rules: General settings' x-akamai: labels: - Kona Site Defender - App & API Protector with the Advanced Security module /configs/{configId}/versions/{versionNumber}/security-policies/{policyId}/threat-intel: parameters: - description: A unique identifier for each configuration. in: path name: configId required: true schema: example: 77653 format: int64 type: integer x-akamai: file-path: parameters/config-id-path.yaml - description: A unique identifier for each version of a configuration. in: path name: versionNumber required: true schema: example: 25 type: integer x-akamai: file-path: parameters/version-number-path.yaml - description: A unique identifier for a security policy. in: path name: policyId required: true schema: example: boBF_19288 type: string x-akamai: file-path: parameters/policy-id-path.yaml x-akamai: file-path: paths/policy-rules-threat-intel.yaml path-info: /configs/{configId}/versions/{versionNumber}/security-policies/{policyId}/threat-intel get: description: __All products__ Returns whether adaptive intelligence is enabled. Adaptive intelligence allows our network to better tune rules for better accuracy. Contact your account team if you'd like to run this operation. externalDocs: description: See documentation for this operation in Akamai's Application Security API url: https://techdocs.akamai.com/application-security/reference/get-rules-threat-intel operationId: get-rules-threat-intel parameters: - description: For customers who manage more than one account, this [runs the operation from another account](https://techdocs.akamai.com/developer/docs/manage-many-accounts-with-one-api-client). The Identity and Access Management API provides a [list of available account switch keys](https://techdocs.akamai.com/iam-api/reference/get-client-account-switch-keys). in: query name: accountSwitchKey required: false schema: example: 1-5C0YLB:1-8BYUX type: string responses: '200': content: application/json: example: threatIntel: 'on' schema: additionalProperties: false description: Describes operational settings for adaptive intelligence. properties: threatIntel: description: Set to `on` so our network analyzes a request and dynamically modifies protection methods to fit the detected threat level. Set to `off` to manually fine-tune your rule sets. enum: - 'on' - 'off' type: string type: object x-akamai: file-path: schemas/threat-intel.yaml description: Successfully retrieved threat intelligence settings. '400': content: application/json: example: detail: The request could not be understood by the server due to malformed syntax. instance: https://problems.luna.akamaiapis.net/appsec/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 status: 400 title: Bad Request type: https://problems.luna.akamaiapis.net/appsec/error-types/BAD-REQUEST schema: additionalProperties: true description: Details the errors you can receive. properties: detail: description: The detailed error message. type: string fieldErrors: description: Pointers to fields for which invalid input was provided, whose values are messages detailing the reason this input was invalid for this field. type: object instance: description: The non-referenceable URI that indicates the error instance. example: https://problems.luna.akamaiapis.net/api-definitions/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 type: string status: description: The HTTP status code. example: 404 type: integer title: description: The error title. example: Not Found type: string type: description: The URL for the error type. example: https://problems.luna.akamaiapis.net/api-definitions/error-types/NOT-FOUND type: string required: - title - type - detail - instance - status type: object x-akamai: file-path: schemas/problem-details.yaml description: '[Invalid](https://techdocs.akamai.com/application-security/reference/400). Client error, such as invalid or malformed input.' x-akamai: file-path: errors/400-client-read-errors.yaml '404': content: application/problem+json: example: detail: The requested resource is not found instance: https://problems.luna.akamaiapis.net/appsec/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 status: 404 title: Not Found type: https://problems.luna.akamaiapis.net/appsec/error-types/NOT-FOUND schema: additionalProperties: true description: Details the errors you can receive. properties: detail: description: The detailed error message. type: string fieldErrors: description: Pointers to fields for which invalid input was provided, whose values are messages detailing the reason this input was invalid for this field. type: object instance: description: The non-referenceable URI that indicates the error instance. example: https://problems.luna.akamaiapis.net/api-definitions/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 type: string status: description: The HTTP status code. example: 404 type: integer title: description: The error title. example: Not Found type: string type: description: The URL for the error type. example: https://problems.luna.akamaiapis.net/api-definitions/error-types/NOT-FOUND type: string required: - title - type - detail - instance - status type: object x-akamai: file-path: schemas/problem-details.yaml description: '[Not found](https://techdocs.akamai.com/application-security/reference/404). The security policy doesn''t exist, doesn''t carry application layer controls, or no rule with this ID is available for use in this policy.' x-akamai: file-path: errors/404-client-read-errors.yaml '500': content: application/problem+json: example: detail: Internal Server Error instance: 12ab3c45-789d-01ef-2gh3-ijk4l56m78no status: 500 title: Internal Server Error type: internal_server_error schema: additionalProperties: true description: Details the errors you can receive. properties: detail: description: The detailed error message. type: string fieldErrors: description: Pointers to fields for which invalid input was provided, whose values are messages detailing the reason this input was invalid for this field. type: object instance: description: The non-referenceable URI that indicates the error instance. example: https://problems.luna.akamaiapis.net/api-definitions/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 type: string status: description: The HTTP status code. example: 404 type: integer title: description: The error title. example: Not Found type: string type: description: The URL for the error type. example: https://problems.luna.akamaiapis.net/api-definitions/error-types/NOT-FOUND type: string required: - title - type - detail - instance - status type: object x-akamai: file-path: schemas/problem-details.yaml description: '[Internal server error](https://techdocs.akamai.com/application-security/reference/500). Something went wrong on our side. Try again in a few minutes or contact support if the error persists.' x-akamai: file-path: errors/500-server-errors.yaml summary: Get adaptive intelligence settings tags: - 'WAF rules: General settings' x-akamai: labels: - All products put: description: __All products__ Only applies to Adaptive Security Engine (ASE) manual rule sets. Enable or disable adaptive intelligence. Contact your account team if you'd like to run this operation. externalDocs: description: See documentation for this operation in Akamai's Application Security API url: https://techdocs.akamai.com/application-security/reference/put-rules-threat-intel operationId: put-rules-threat-intel parameters: - description: For customers who manage more than one account, this [runs the operation from another account](https://techdocs.akamai.com/developer/docs/manage-many-accounts-with-one-api-client). The Identity and Access Management API provides a [list of available account switch keys](https://techdocs.akamai.com/iam-api/reference/get-client-account-switch-keys). in: query name: accountSwitchKey required: false schema: example: 1-5C0YLB:1-8BYUX type: string requestBody: content: application/json: example: threatIntel: 'on' schema: additionalProperties: false description: Describes operational settings for adaptive intelligence. properties: threatIntel: description: Set to `on` so our network analyzes a request and dynamically modifies protection methods to fit the detected threat level. Set to `off` to manually fine-tune your rule sets. enum: - 'on' - 'off' type: string type: object x-akamai: file-path: schemas/threat-intel.yaml required: true responses: '200': content: application/json: example: threatIntel: 'on' schema: additionalProperties: false description: Describes operational settings for adaptive intelligence. properties: threatIntel: description: Set to `on` so our network analyzes a request and dynamically modifies protection methods to fit the detected threat level. Set to `off` to manually fine-tune your rule sets. enum: - 'on' - 'off' type: string type: object x-akamai: file-path: schemas/threat-intel.yaml description: Successfully updated threat intelligence settings. '400': content: application/json: example: detail: The request could not be understood by the server due to malformed syntax. instance: https://problems.luna.akamaiapis.net/appsec/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 status: 400 title: Bad Request type: https://problems.luna.akamaiapis.net/appsec/error-types/BAD-REQUEST schema: additionalProperties: true description: Details the errors you can receive. properties: detail: description: The detailed error message. type: string fieldErrors: description: Pointers to fields for which invalid input was provided, whose values are messages detailing the reason this input was invalid for this field. type: object instance: description: The non-referenceable URI that indicates the error instance. example: https://problems.luna.akamaiapis.net/api-definitions/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 type: string status: description: The HTTP status code. example: 404 type: integer title: description: The error title. example: Not Found type: string type: description: The URL for the error type. example: https://problems.luna.akamaiapis.net/api-definitions/error-types/NOT-FOUND type: string required: - title - type - detail - instance - status type: object x-akamai: file-path: schemas/problem-details.yaml description: '[Invalid](https://techdocs.akamai.com/application-security/reference/400). Client error, such as invalid or malformed input.' x-akamai: file-path: errors/400-client-read-errors.yaml '404': content: application/problem+json: example: detail: The requested resource is not found instance: https://problems.luna.akamaiapis.net/appsec/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 status: 404 title: Not Found type: https://problems.luna.akamaiapis.net/appsec/error-types/NOT-FOUND schema: additionalProperties: true description: Details the errors you can receive. properties: detail: description: The detailed error message. type: string fieldErrors: description: Pointers to fields for which invalid input was provided, whose values are messages detailing the reason this input was invalid for this field. type: object instance: description: The non-referenceable URI that indicates the error instance. example: https://problems.luna.akamaiapis.net/api-definitions/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 type: string status: description: The HTTP status code. example: 404 type: integer title: description: The error title. example: Not Found type: string type: description: The URL for the error type. example: https://problems.luna.akamaiapis.net/api-definitions/error-types/NOT-FOUND type: string required: - title - type - detail - instance - status type: object x-akamai: file-path: schemas/problem-details.yaml description: '[Not found](https://techdocs.akamai.com/application-security/reference/404). The security policy doesn''t exist, doesn''t carry application layer controls, or no rule with this ID is available for use in this policy.' x-akamai: file-path: errors/404-client-read-errors.yaml '500': content: application/problem+json: example: detail: Internal Server Error instance: 12ab3c45-789d-01ef-2gh3-ijk4l56m78no status: 500 title: Internal Server Error type: internal_server_error schema: additionalProperties: true description: Details the errors you can receive. properties: detail: description: The detailed error message. type: string fieldErrors: description: Pointers to fields for which invalid input was provided, whose values are messages detailing the reason this input was invalid for this field. type: object instance: description: The non-referenceable URI that indicates the error instance. example: https://problems.luna.akamaiapis.net/api-definitions/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 type: string status: description: The HTTP status code. example: 404 type: integer title: description: The error title. example: Not Found type: string type: description: The URL for the error type. example: https://problems.luna.akamaiapis.net/api-definitions/error-types/NOT-FOUND type: string required: - title - type - detail - instance - status type: object x-akamai: file-path: schemas/problem-details.yaml description: '[Internal server error](https://techdocs.akamai.com/application-security/reference/500). Something went wrong on our side. Try again in a few minutes or contact support if the error persists.' x-akamai: file-path: errors/500-server-errors.yaml summary: Modify adaptive intelligence settings tags: - 'WAF rules: General settings' x-akamai: labels: - All products /configs/{configId}/versions/{versionNumber}/security-policies/{policyId}/web-application-firewall/ruleset: parameters: - description: A unique identifier for each configuration. in: path name: configId required: true schema: example: 77653 format: int64 type: integer x-akamai: file-path: parameters/config-id-path.yaml - description: A unique identifier for each version of a configuration. in: path name: versionNumber required: true schema: example: 25 type: integer x-akamai: file-path: parameters/version-number-path.yaml - description: A unique identifier for a security policy. in: path name: policyId required: true schema: example: boBF_19288 type: string x-akamai: file-path: parameters/policy-id-path.yaml x-akamai: file-path: paths/waf-policy-ruleset-composite.yaml path-info: /configs/{configId}/versions/{versionNumber}/security-policies/{policyId}/web-application-firewall/ruleset get: description: __All products__ Returns the security policy rule set, which includes the version, threat intelligence settings, rules, and attack group details. externalDocs: description: See documentation for this operation in Akamai's Application Security API url: https://techdocs.akamai.com/application-security/reference/get-waf-policy-ruleset-composite operationId: get-waf-policy-ruleset-composite parameters: - description: For customers who manage more than one account, this [runs the operation from another account](https://techdocs.akamai.com/developer/docs/manage-many-accounts-with-one-api-client). The Identity and Access Management API provides a [list of available account switch keys](https://techdocs.akamai.com/iam-api/reference/get-client-account-switch-keys). in: query name: accountSwitchKey required: false schema: example: 1-5C0YLB:1-8BYUX type: string responses: '200': content: application/json: example: adaptiveIntelligence: threatIntelEnabled: true attackGroups: - action: alert conditionException: {} group: POLICY - action: alert conditionException: {} group: WAT - action: deny conditionException: advancedExceptions: conditionOperator: AND conditions: - extensions: - test12 positiveMatch: true type: extensionMatch - filenames: - test13 positiveMatch: true type: filenameMatch - hosts: - test.hostname.com positiveMatch: true type: hostMatch - ips: - 192.0.2.225 positiveMatch: true type: ipMatch useHeaders: true - caseSensitive: true name: test14 nameCase: true positiveMatch: true type: uriQueryMatch value: test15 wildcard: true - header: Accept positiveMatch: true type: requestHeaderMatch value: test16 valueCase: true valueWildcard: true - methods: - GET positiveMatch: true type: requestMethodMatch - paths: - /test16 positiveMatch: true type: pathMatch - clientLists: - 97813_IPLIST positiveMatch: true type: clientListMatch useHeaders: true headerCookieOrParamValues: - valueWildcard: true values: - test11 specificHeaderCookieParamXmlOrJsonNames: - names: - test3 selector: REQUEST_HEADERS_NAMES wildcard: true - names: - test4 selector: REQUEST_HEADERS wildcard: true - names: - test5 selector: REQUEST_COOKIES_NAMES wildcard: true - names: - test6 selector: REQUEST_COOKIES wildcard: true - names: - test1 selector: ARGS_NAMES wildcard: true - names: - test2 selector: ARGS wildcard: true - names: - test7 selector: JSON_NAMES wildcard: true - names: - test8 selector: JSON_PAIRS wildcard: true - names: - test9 selector: XML_PAIRS wildcard: true - selector: REQUEST_PROTOCOL wildcard: true - selector: REQUEST_METHOD wildcard: true - selector: REQUEST_URI wildcard: true - selector: QUERY_STRING wildcard: true - selector: REQUEST_FILENAME wildcard: true - selector: REQUEST_PATH_SEGMENT wildcard: true - selector: REQUEST_BODY wildcard: true - selector: REQBODY_PROCESSOR_ERROR wildcard: true - selector: FILES_NAMES wildcard: true group: PROTOCOL - action: alert conditionException: {} group: SQL - action: alert conditionException: {} group: XSS - action: alert conditionException: {} group: LFI - action: alert conditionException: {} group: RFI - action: alert conditionException: {} group: PLATFORM - action: none conditionException: {} group: OUTBOUND - action: none conditionException: {} group: CMD ruleSetInfo: ruleSetVersion: 1 rules: - action: alert conditionException: advancedExceptions: conditionOperator: AND conditions: - extensions: - test12 positiveMatch: true type: extensionMatch - filenames: - test13 positiveMatch: true type: filenameMatch - hosts: - test.hostname.com positiveMatch: true type: hostMatch - ips: - 192.0.2.242 positiveMatch: true type: ipMatch useHeaders: true - caseSensitive: true name: test14 nameCase: true positiveMatch: true type: uriQueryMatch value: test15 wildcard: true - header: Accept positiveMatch: true type: requestHeaderMatch value: test16 valueCase: true valueWildcard: true - methods: - GET positiveMatch: true type: requestMethodMatch - paths: - /test16 positiveMatch: true type: pathMatch - clientLists: - 97813_IPLIST positiveMatch: true type: clientListMatch useHeaders: true headerCookieOrParamValues: - valueWildcard: true values: - test11 specificHeaderCookieParamXmlOrJsonNames: - names: - test3 selector: REQUEST_HEADERS_NAMES wildcard: true - names: - test4 selector: REQUEST_HEADERS wildcard: true - names: - test5 selector: REQUEST_COOKIES_NAMES wildcard: true - names: - test6 selector: REQUEST_COOKIES wildcard: true - names: - test1 selector: ARGS_NAMES wildcard: true - names: - test2 selector: ARGS wildcard: true - names: - test7 selector: JSON_NAMES wildcard: true - names: - test8 selector: JSON_PAIRS wildcard: true - names: - test9 selector: XML_PAIRS wildcard: true - selector: REQUEST_PROTOCOL wildcard: true - selector: REQUEST_METHOD wildcard: true - selector: REQUEST_URI wildcard: true - selector: QUERY_STRING wildcard: true - selector: REQUEST_FILENAME wildcard: true - selector: REQUEST_PATH_SEGMENT wildcard: true - selector: REQUEST_BODY wildcard: true - selector: REQBODY_PROCESSOR_ERROR wildcard: true - selector: FILES_NAMES wildcard: true ruleId: 950002 ruleName: CMD Injection Attack Detected (OS Commands 4) - action: alert conditionException: {} ruleId: 950006 ruleName: CMD Injection Attack Detected (OS Commands 5) - action: alert conditionException: {} ruleId: 950007 ruleName: SQL Injection Attack (Blind Testing) - action: none conditionException: {} ruleId: 950011 ruleName: Server-Side Include (SSI) Attack - action: alert conditionException: {} ruleId: 950118 ruleName: Remote File Inclusion Attack (Common PHP RFI Attacks) - action: alert conditionException: {} ruleId: 950203 ruleName: Local File Inclusion (LFI) Attack (Directory Traversal and Obfuscation Attempts) - action: alert conditionException: {} ruleId: 950204 ruleName: Local File Inclusion (LFI) Attack (Directory Traversal and Obfuscation Attempts) - action: alert conditionException: {} ruleId: 950216 ruleName: Unicode Full/Half Width Abuse Attack Attempt - action: alert conditionException: {} ruleId: 950220 ruleName: Possible URL Redirector Abuse (Off-Domain URL) - action: alert conditionException: {} ruleId: 950902 ruleName: SQL Injection Attack (Tautology Probes 1) - action: alert conditionException: {} ruleId: 951910 ruleName: HTTP Response Splitting Attack (Header Injection) - action: alert conditionException: {} ruleId: 958003 ruleName: Cross-site Scripting (XSS) Attack (Fromcharcode Detected) - action: alert conditionException: {} ruleId: 958008 ruleName: Cross-site Scripting (XSS) Attack (HTML INPUT IMAGE Tag) - action: alert conditionException: {} ruleId: 958023 ruleName: Cross-site Scripting (XSS) Attack (Javascript URL Protocol Handler with "lowsrc" Attribute) - action: alert conditionException: {} ruleId: 958034 ruleName: Cross-site Scripting (XSS) Attack (Style Attribute with 'expression' Keyword) - action: alert conditionException: {} ruleId: 958051 ruleName: Cross-site Scripting (XSS) Attack (Script Tag) - action: alert conditionException: {} ruleId: 3000065 ruleName: Apache Struts Remote Command Execution (Deserialization Attack) - action: alert conditionException: {} ruleId: 3000072 ruleName: Deserialization Attack Detected - action: alert conditionException: {} ruleId: 3000080 ruleName: Cross-site Scripting (XSS) Attack (Attribute Injection 1) - action: alert conditionException: {} ruleId: 3000081 ruleName: Cross-site Scripting (XSS) Attack (Attribute Injection 2) - action: alert conditionException: {} ruleId: 3000100 ruleName: SQL Injection Attack (SmartDetect) - action: alert conditionException: {} ruleId: 3000101 ruleName: SQL Injection Attack (Common SQL Database Probes) - action: alert conditionException: {} ruleId: 3000102 ruleName: SQL Injection Attack (Null Byte Detected) - action: alert conditionException: {} ruleId: 3000103 ruleName: SQL Injection Attack (NoSQL Injection) - action: alert conditionException: {} ruleId: 3000104 ruleName: SQL Injection Attack (NoSQL Injection) - action: alert conditionException: {} ruleId: 3000105 ruleName: NOSQL Operator Injection Detected - action: alert conditionException: {} ruleId: 3000108 ruleName: Pandora / DirtJumper DDoS Detection - HTTP GET Attacks - action: alert conditionException: {} ruleId: 3000109 ruleName: Ruby on Rails YAML Injection Attack - action: alert conditionException: {} ruleId: 3000110 ruleName: Cross-site Scripting (XSS) Attack (SmartDetect) - action: alert conditionException: {} ruleId: 3000111 ruleName: Cross-site Scripting (XSS) Attack (Common PoC Probes 1) - action: alert conditionException: {} ruleId: 3000112 ruleName: Cross-site Scripting (XSS) Attack (Common PoC Probes 2) - action: alert conditionException: {} ruleId: 3000113 ruleName: Cross-site Scripting (XSS) Attack (Javascript Mixed Case Obfuscation) - action: none conditionException: {} ruleId: 99999900 ruleName: DDoSia Toolkit DETECTED schema: additionalProperties: false description: Includes security policy rule set information such as the version, threat intelligence settings, and rule and attack group details with name, action, and condition exceptions. properties: adaptiveIntelligence: additionalProperties: false description: Settings for adaptive threat intelligence. properties: threatIntelEnabled: description: Enables adaptive threat intelligence. type: boolean required: - threatIntelEnabled type: object attackGroups: description: The security policy's attack groups with their actions and condition exceptions. items: additionalProperties: false properties: action: description: The action set for the attack group, either `alert`, `deny`, or `none`. Use `deny_custom_{custom_deny_id}` syntax to apply a custom action instead of Akamai's default. pattern: ^(deny|alert|none|deny_custom_\d+)$ type: string conditionException: additionalProperties: false description: An attack group's conditions and exceptions. minProperties: 0 properties: advancedExceptions: additionalProperties: false description: Describes the advanced exception fields that allow you to conditionally exclude requests from inspection. This is only available for attack groups and when the advanced exception feature is enabled. properties: conditionOperator: description: Use `OR` to match any condition, or `AND` to match on all conditions. enum: - OR - AND type: string conditions: description: The list of match conditions. items: additionalProperties: false description: Describes what conditions can be set for an action to occur. properties: caseSensitive: description: Whether to consider the case-sensitivity of the provided query parameter `value`. This only applies to the `uriQueryMatch` condition `type`. type: boolean clientLists: description: The clientLists that trigger the condition. This only applies to the `clientListMatch` condition `type`. items: type: string minItems: 0 type: array extensions: description: The file extensions that trigger the condition. This only applies to the `extensionMatch` condition `type`. items: type: string type: array filenames: description: The filenames that trigger the condition. This only applies to the `filenameMatch` condition `type`. items: type: string type: array header: description: The HTTP header that triggers the condition. This only applies to the `requestHeaderMatch` condition `type`. type: string hosts: description: The hostnames that trigger the condition. This only applies to the `hostMatch` condition `type`. items: type: string type: array ips: description: The IPs that trigger the condition. This only applies to the `ipMatch` condition `type`. items: type: string type: array methods: description: The HTTP request methods that trigger the condition. The possible values are `GET`, `POST`, `HEAD`, `PUT`, `DELETE`, `OPTIONS`, `TRACE`, `CONNECT` and `PATCH`. This only applies to the `requestMethodMatch` condition `type`. items: enum: - GET - POST - HEAD - PUT - DELETE - OPTIONS - TRACE - CONNECT - PATCH type: string type: array name: description: The query parameter name that triggers the condition. This only applies to the `uriQueryMatch` condition `type`. type: string nameCase: description: Whether to consider the case-sensitivity of the provided query parameter `name`. This only applies to the `uriQueryMatch` condition `type`. type: boolean paths: description: The paths that trigger the condition. This only applies to the `pathMatch` condition `type`. items: type: string type: array positiveMatch: description: Whether the condition should trigger on a match (`true`) or a lack of match (`false`). type: boolean type: description: The condition type to match on. See [Export condition type values](https://techdocs.akamai.com/application-security/reference/etval). enum: - hostMatch - pathMatch - filenameMatch - extensionMatch - uriQueryMatch - ipMatch - requestMethodMatch - requestHeaderMatch - clientListMatch type: string useHeaders: description: Whether the condition should include `X-Forwarded-For` (XFF) header. This applies to the `ipMatch` and `clientListMatch` condition `type`. type: boolean value: description: The query parameter value if the condition `type` is `uriQueryMatch` and header value if the condition `type` is `requestHeaderMatch`. This only applies when the condition `type` is `uriQueryMatch` or `requestHeaderMatch`. type: string valueCase: description: Whether to consider the case-sensitivity of the provided header `value`. This only applies to the `requestHeaderMatch` condition `type`. type: boolean valueWildcard: description: Whether the provided header `value` is a wildcard. This only applies to the `requestHeaderMatch` condition `type`. type: boolean wildcard: description: Whether the provided query parameter `value` is a wildcard. This only applies to the `uriQueryMatch` condition `type`. type: boolean required: - type - positiveMatch type: object x-akamai: file-path: schemas/condition.yaml type: array headerCookieOrParamValues: description: The list of excepted values in headers, cookies, or query parameters. items: additionalProperties: false properties: criteria: description: A list of criteria to limit the scope of this exception. items: additionalProperties: false description: The hostname and path criteria to limit the scope of exception. properties: hostnames: description: The list of excepted hostnames. items: type: string type: array names: description: The list of excepted names. items: type: string type: array paths: description: The list of excepted paths. items: type: string type: array values: description: The list of excepted values. items: type: string type: array required: - paths - names - values type: object x-akamai: file-path: schemas/criteria.yaml type: array valueWildcard: default: false description: Whether the provided header `name` is a wildcard. type: boolean values: description: The list of request attribute names. items: type: string type: array required: - values type: object type: array specificHeaderCookieOrParamNameValue: description: Contains details about the excepted name-value pairs in a request. items: additionalProperties: false properties: criteria: description: A list of criteria to limit the scope of this exception. items: additionalProperties: false description: The hostname and path criteria to limit the scope of exception. properties: hostnames: description: The list of excepted hostnames. items: type: string type: array names: description: The list of excepted names. items: type: string type: array paths: description: The list of excepted paths. items: type: string type: array values: description: The list of excepted values. items: type: string type: array required: - paths - names - values type: object x-akamai: file-path: schemas/criteria.yaml type: array namesValues: description: A list of name-value pairs to except. items: additionalProperties: false properties: names: description: The list of request attribute names. items: type: string type: array values: description: The list of request attribute values. items: type: string type: array required: - names type: object type: array selector: description: The request attribute to exclude from inspection. See [Exception selector values](https://techdocs.akamai.com/application-security/reference/exception-selector-values). enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string valueWildcard: default: false description: Whether the provided header `value` is a wildcard. type: boolean wildcard: default: false description: Whether the provided header `name` is a wildcard. type: boolean required: - namesValues - selector type: object type: array specificHeaderCookieParamXmlOrJsonNames: description: Describes the advanced exception fields that allow you to conditionally exclude requests from inspection. This is only available for attack groups and when the advanced exception feature is enabled. items: additionalProperties: false properties: criteria: description: A list of criteria to limit the scope of this exception. items: additionalProperties: false description: The hostname and path criteria to limit the scope of exception. properties: hostnames: description: The list of excepted hostnames. items: type: string type: array names: description: The list of excepted names. items: type: string type: array paths: description: The list of excepted paths. items: type: string type: array values: description: The list of excepted values. items: type: string type: array required: - paths - names - values type: object x-akamai: file-path: schemas/criteria.yaml type: array names: description: The list of request attribute names. items: type: string type: array selector: description: The request attribute to exclude from inspection. See [Exception selector values](https://techdocs.akamai.com/application-security/reference/exception-selector-values). enum: - ARGS_NAMES - ARGS - REQUEST_HEADERS_NAMES - REQUEST_HEADERS - REQUEST_COOKIES_NAMES - REQUEST_COOKIES - JSON_NAMES - JSON_PAIRS - XML_PAIRS - REQUEST_PROTOCOL - REQUEST_METHOD - REQUEST_URI - QUERY_STRING - REQUEST_FILENAME - REQUEST_PATH_SEGMENT - REQUEST_BODY - REQBODY_PROCESSOR_ERROR - FILES_NAMES type: string wildcard: default: false description: Whether the provided header `name` is a wildcard. type: boolean required: - selector type: object type: array type: object x-akamai: file-path: schemas/advanced-exception.yaml conditions: description: The attack group's conditions. When met, rules _aren't_ applied to the traffic. items: additionalProperties: false description: Describes what conditions can be set for an action to occur. properties: caseSensitive: description: Whether to consider the case-sensitivity of the provided query parameter `value`. This only applies to the `uriQueryMatch` condition `type`. type: boolean clientLists: description: The clientLists that trigger the condition. This only applies to the `clientListMatch` condition `type`. items: type: string minItems: 0 type: array extensions: description: The file extensions that trigger the condition. This only applies to the `extensionMatch` condition `type`. items: type: string type: array filenames: description: The filenames that trigger the condition. This only applies to the `filenameMatch` condition `type`. items: type: string type: array header: description: The HTTP header that triggers the condition. This only applies to the `requestHeaderMatch` condition `type`. type: string hosts: description: The hostnames that trigger the condition. This only applies to the `hostMatch` condition `type`. items: type: string type: array ips: description: The IPs that trigger the condition. This only applies to the `ipMatch` condition `type`. items: type: string type: array methods: description: The HTTP request methods that trigger the condition. The possible values are `GET`, `POST`, `HEAD`, `PUT`, `DELETE`, `OPTIONS`, `TRACE`, `CONNECT` and `PATCH`. This only applies to the `requestMethodMatch` condition `type`. items: enum: - GET - POST - HEAD - PUT - DELETE - OPTIONS - TRACE - CONNECT - PATCH type: string type: array name: description: The query parameter name that triggers the condition. This only applies to the `uriQueryMatch` condition `type`. type: string nameCase: description: Whether to consider the case-sensitivity of the provided query parameter `name`. This only applies to the `uriQueryMatch` condition `type`. type: boolean paths: description: The paths that trigger the condition. This only applies to the `pathMatch` condition `type`. items: type: string type: array positiveMatch: description: Whether the condition should trigger on a match (`true`) or a lack of match (`false`). type: boolean type: description: The condition type to match on. See [Export condition type values](https://techdocs.akamai.com/application-security/reference/etval). enum: - hostMatch - pathMatch - filenameMatch - extensionMatch - uriQueryMatch - ipMatch - requestMethodMatch - requestHeaderMatch - clientListMatch type: string useHeaders: description: Whether the condition should include `X-Forwarded-For` (XFF) header. This applies to the `ipMatch` and `clientListMatch` condition `type`. type: boolean value: description: The query parameter value if the condition `type` is `uriQueryMatch` and header value if the condition `type` is `requestHeaderMatch`. This only applies when the condition `type` is `uriQueryMatch` or `requestHeaderMatch`. type: string valueCase: description: Whether to consider the case-sensitivity of the provided header `value`. This only applies to the `requestHeaderMatch` condition `type`. type: boolean valueWildcard: description: Whether the provided header `value` is a wildcard. This only applies to the `requestHeaderMatch` condition `type`. type: boolean wildcard: description: Whether the provided query parameter `value` is a wildcard. This only applies to the `uriQueryMatch` condition `type`. type: boolean required: - type - positiveMatch type: object x-akamai: file-path: schemas/condition.yaml type: array exception: additionalProperties: false description: Describes the exception fields that allow you to conditionally exclude requests from inspection. properties: anyHeaderCookieOrParam: description: The list of request attributes to treat as rule or attack group exceptions. The possible values are `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, and `REQUEST_HEADERS` for a request header. Use this option if you can't get an exhaustive list of elements to exclude or the list is too large. You can exclude several attributes. items: enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string type: array headerCookieOrParamValues: description: The list of excepted values in headers, cookies, or query parameters. items: type: string type: array specificHeaderCookieOrParamNameValue: additionalProperties: false description: Contains details about the excepted name-value pair in a request. properties: name: description: The name of the request attribute. type: string selector: description: The request attribute that includes the excepted name-value pair. Either `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, or `REQUEST_HEADERS` for a request header. enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string value: description: The value of the request attribute. type: string required: - name - selector - value type: object specificHeaderCookieOrParamNames: additionalProperties: false description: Contains details about the excepted request attribute name. properties: names: description: The list of request attribute names. items: type: string type: array selector: description: The request attribute that includes the excepted name. Either `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, or `REQUEST_HEADERS` for a request header. enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string required: - names - selector type: object specificHeaderCookieOrParamPrefix: additionalProperties: false description: Contains details about the excepted request attribute name prefix. properties: prefix: description: The request attribute name prefix. type: string selector: description: The request attribute that includes the excepted name prefix. Either `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, or `REQUEST_HEADERS` for a request header. enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string required: - prefix - selector type: object specificHeaderCookieParamXmlOrJsonNames: description: Contains details about the excepted request attribute names. This is only available for attack groups and when advanced exception is not enabled. items: additionalProperties: false properties: names: description: Lists request attribute names, required with several `selector` options. With `wildcard` enabled, `*` represents a sequence and `?` represents any single character. For example, `*` matches any name, and `*session` matches a subset. items: type: string type: array selector: description: 'The request attribute to exclude from inspection. The following selectors require a set of `names`: `ARGS_NAMES`, `ARGS`, `REQUEST_HEADERS_NAMES`, `REQUEST_HEADERS`, `REQUEST_COOKIES_NAMES`, `REQUEST_COOKIES`, `JSON_NAMES`, `JSON_PAIRS`, and `XML_PAIRS`. See [Exception selector values](https://techdocs.akamai.com/application-security/reference/exception-selector-values).' enum: - ARGS_NAMES - ARGS - REQUEST_HEADERS_NAMES - REQUEST_HEADERS - REQUEST_COOKIES_NAMES - REQUEST_COOKIES - JSON_NAMES - JSON_PAIRS - XML_PAIRS - REQUEST_PROTOCOL - REQUEST_METHOD - REQUEST_URI - QUERY_STRING - REQUEST_FILENAME - REQUEST_PATH_SEGMENT - REQUEST_BODY - REQBODY_PROCESSOR_ERROR - FILES_NAMES type: string wildcard: default: false description: Whether you can specify wildcards to flexibly match `names`, either `*` for any set of characters, or `?` for any single character. type: boolean required: - selector type: object type: array type: object x-akamai: file-path: schemas/exception.yaml type: object group: description: The attack group's name. type: string required: - group - action type: object minItems: 0 type: array ruleSetInfo: additionalProperties: false description: Details about the rule set applied to the security policy. properties: ruleSetVersion: description: The version of the rule set. type: number required: - ruleSetVersion type: object rules: description: A web application firewall rule's name, action, and condition exceptions. items: additionalProperties: false properties: action: description: The action of a rule, either `alert`, `deny`, or `none`. Use `deny_custom_{custom_deny_id}` syntax to apply a custom action instead of Akamai's default. pattern: ^(deny|alert|none|deny_custom_\d+)$ type: string conditionException: additionalProperties: false description: the conditions and exceptions of a rule. minProperties: 0 properties: advancedExceptions: additionalProperties: false description: Describes the advanced exception fields that allow you to conditionally exclude requests from inspection. This is only available for attack groups and when the advanced exception feature is enabled. properties: conditionOperator: description: Use `OR` to match any condition, or `AND` to match on all conditions. enum: - OR - AND type: string conditions: description: The list of match conditions. items: additionalProperties: false description: Describes what conditions can be set for an action to occur. properties: caseSensitive: description: Whether to consider the case-sensitivity of the provided query parameter `value`. This only applies to the `uriQueryMatch` condition `type`. type: boolean clientLists: description: The clientLists that trigger the condition. This only applies to the `clientListMatch` condition `type`. items: type: string minItems: 0 type: array extensions: description: The file extensions that trigger the condition. This only applies to the `extensionMatch` condition `type`. items: type: string type: array filenames: description: The filenames that trigger the condition. This only applies to the `filenameMatch` condition `type`. items: type: string type: array header: description: The HTTP header that triggers the condition. This only applies to the `requestHeaderMatch` condition `type`. type: string hosts: description: The hostnames that trigger the condition. This only applies to the `hostMatch` condition `type`. items: type: string type: array ips: description: The IPs that trigger the condition. This only applies to the `ipMatch` condition `type`. items: type: string type: array methods: description: The HTTP request methods that trigger the condition. The possible values are `GET`, `POST`, `HEAD`, `PUT`, `DELETE`, `OPTIONS`, `TRACE`, `CONNECT` and `PATCH`. This only applies to the `requestMethodMatch` condition `type`. items: enum: - GET - POST - HEAD - PUT - DELETE - OPTIONS - TRACE - CONNECT - PATCH type: string type: array name: description: The query parameter name that triggers the condition. This only applies to the `uriQueryMatch` condition `type`. type: string nameCase: description: Whether to consider the case-sensitivity of the provided query parameter `name`. This only applies to the `uriQueryMatch` condition `type`. type: boolean paths: description: The paths that trigger the condition. This only applies to the `pathMatch` condition `type`. items: type: string type: array positiveMatch: description: Whether the condition should trigger on a match (`true`) or a lack of match (`false`). type: boolean type: description: The condition type to match on. See [Export condition type values](https://techdocs.akamai.com/application-security/reference/etval). enum: - hostMatch - pathMatch - filenameMatch - extensionMatch - uriQueryMatch - ipMatch - requestMethodMatch - requestHeaderMatch - clientListMatch type: string useHeaders: description: Whether the condition should include `X-Forwarded-For` (XFF) header. This applies to the `ipMatch` and `clientListMatch` condition `type`. type: boolean value: description: The query parameter value if the condition `type` is `uriQueryMatch` and header value if the condition `type` is `requestHeaderMatch`. This only applies when the condition `type` is `uriQueryMatch` or `requestHeaderMatch`. type: string valueCase: description: Whether to consider the case-sensitivity of the provided header `value`. This only applies to the `requestHeaderMatch` condition `type`. type: boolean valueWildcard: description: Whether the provided header `value` is a wildcard. This only applies to the `requestHeaderMatch` condition `type`. type: boolean wildcard: description: Whether the provided query parameter `value` is a wildcard. This only applies to the `uriQueryMatch` condition `type`. type: boolean required: - type - positiveMatch type: object x-akamai: file-path: schemas/condition.yaml type: array headerCookieOrParamValues: description: The list of excepted values in headers, cookies, or query parameters. items: additionalProperties: false properties: criteria: description: A list of criteria to limit the scope of this exception. items: additionalProperties: false description: The hostname and path criteria to limit the scope of exception. properties: hostnames: description: The list of excepted hostnames. items: type: string type: array names: description: The list of excepted names. items: type: string type: array paths: description: The list of excepted paths. items: type: string type: array values: description: The list of excepted values. items: type: string type: array required: - paths - names - values type: object x-akamai: file-path: schemas/criteria.yaml type: array valueWildcard: default: false description: Whether the provided header `name` is a wildcard. type: boolean values: description: The list of request attribute names. items: type: string type: array required: - values type: object type: array specificHeaderCookieOrParamNameValue: description: Contains details about the excepted name-value pairs in a request. items: additionalProperties: false properties: criteria: description: A list of criteria to limit the scope of this exception. items: additionalProperties: false description: The hostname and path criteria to limit the scope of exception. properties: hostnames: description: The list of excepted hostnames. items: type: string type: array names: description: The list of excepted names. items: type: string type: array paths: description: The list of excepted paths. items: type: string type: array values: description: The list of excepted values. items: type: string type: array required: - paths - names - values type: object x-akamai: file-path: schemas/criteria.yaml type: array namesValues: description: A list of name-value pairs to except. items: additionalProperties: false properties: names: description: The list of request attribute names. items: type: string type: array values: description: The list of request attribute values. items: type: string type: array required: - names type: object type: array selector: description: The request attribute to exclude from inspection. See [Exception selector values](https://techdocs.akamai.com/application-security/reference/exception-selector-values). enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string valueWildcard: default: false description: Whether the provided header `value` is a wildcard. type: boolean wildcard: default: false description: Whether the provided header `name` is a wildcard. type: boolean required: - namesValues - selector type: object type: array specificHeaderCookieParamXmlOrJsonNames: description: Describes the advanced exception fields that allow you to conditionally exclude requests from inspection. This is only available for attack groups and when the advanced exception feature is enabled. items: additionalProperties: false properties: criteria: description: A list of criteria to limit the scope of this exception. items: additionalProperties: false description: The hostname and path criteria to limit the scope of exception. properties: hostnames: description: The list of excepted hostnames. items: type: string type: array names: description: The list of excepted names. items: type: string type: array paths: description: The list of excepted paths. items: type: string type: array values: description: The list of excepted values. items: type: string type: array required: - paths - names - values type: object x-akamai: file-path: schemas/criteria.yaml type: array names: description: The list of request attribute names. items: type: string type: array selector: description: The request attribute to exclude from inspection. See [Exception selector values](https://techdocs.akamai.com/application-security/reference/exception-selector-values). enum: - ARGS_NAMES - ARGS - REQUEST_HEADERS_NAMES - REQUEST_HEADERS - REQUEST_COOKIES_NAMES - REQUEST_COOKIES - JSON_NAMES - JSON_PAIRS - XML_PAIRS - REQUEST_PROTOCOL - REQUEST_METHOD - REQUEST_URI - QUERY_STRING - REQUEST_FILENAME - REQUEST_PATH_SEGMENT - REQUEST_BODY - REQBODY_PROCESSOR_ERROR - FILES_NAMES type: string wildcard: default: false description: Whether the provided header `name` is a wildcard. type: boolean required: - selector type: object type: array type: object x-akamai: file-path: schemas/advanced-exception.yaml conditions: description: The rule's conditions. When met, the action is not applied to the traffic. items: additionalProperties: false description: Describes what conditions can be set for an action to occur. properties: caseSensitive: description: Whether to consider the case-sensitivity of the provided query parameter `value`. This only applies to the `uriQueryMatch` condition `type`. type: boolean clientLists: description: The clientLists that trigger the condition. This only applies to the `clientListMatch` condition `type`. items: type: string minItems: 0 type: array extensions: description: The file extensions that trigger the condition. This only applies to the `extensionMatch` condition `type`. items: type: string type: array filenames: description: The filenames that trigger the condition. This only applies to the `filenameMatch` condition `type`. items: type: string type: array header: description: The HTTP header that triggers the condition. This only applies to the `requestHeaderMatch` condition `type`. type: string hosts: description: The hostnames that trigger the condition. This only applies to the `hostMatch` condition `type`. items: type: string type: array ips: description: The IPs that trigger the condition. This only applies to the `ipMatch` condition `type`. items: type: string type: array methods: description: The HTTP request methods that trigger the condition. The possible values are `GET`, `POST`, `HEAD`, `PUT`, `DELETE`, `OPTIONS`, `TRACE`, `CONNECT` and `PATCH`. This only applies to the `requestMethodMatch` condition `type`. items: enum: - GET - POST - HEAD - PUT - DELETE - OPTIONS - TRACE - CONNECT - PATCH type: string type: array name: description: The query parameter name that triggers the condition. This only applies to the `uriQueryMatch` condition `type`. type: string nameCase: description: Whether to consider the case-sensitivity of the provided query parameter `name`. This only applies to the `uriQueryMatch` condition `type`. type: boolean paths: description: The paths that trigger the condition. This only applies to the `pathMatch` condition `type`. items: type: string type: array positiveMatch: description: Whether the condition should trigger on a match (`true`) or a lack of match (`false`). type: boolean type: description: The condition type to match on. See [Export condition type values](https://techdocs.akamai.com/application-security/reference/etval). enum: - hostMatch - pathMatch - filenameMatch - extensionMatch - uriQueryMatch - ipMatch - requestMethodMatch - requestHeaderMatch - clientListMatch type: string useHeaders: description: Whether the condition should include `X-Forwarded-For` (XFF) header. This applies to the `ipMatch` and `clientListMatch` condition `type`. type: boolean value: description: The query parameter value if the condition `type` is `uriQueryMatch` and header value if the condition `type` is `requestHeaderMatch`. This only applies when the condition `type` is `uriQueryMatch` or `requestHeaderMatch`. type: string valueCase: description: Whether to consider the case-sensitivity of the provided header `value`. This only applies to the `requestHeaderMatch` condition `type`. type: boolean valueWildcard: description: Whether the provided header `value` is a wildcard. This only applies to the `requestHeaderMatch` condition `type`. type: boolean wildcard: description: Whether the provided query parameter `value` is a wildcard. This only applies to the `uriQueryMatch` condition `type`. type: boolean required: - type - positiveMatch type: object x-akamai: file-path: schemas/condition.yaml type: array exception: additionalProperties: false description: Describes the exception fields that allow you to conditionally exclude requests from inspection. properties: anyHeaderCookieOrParam: description: The list of request attributes to treat as rule or attack group exceptions. The possible values are `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, and `REQUEST_HEADERS` for a request header. Use this option if you can't get an exhaustive list of elements to exclude or the list is too large. You can exclude several attributes. items: enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string type: array headerCookieOrParamValues: description: The list of excepted values in headers, cookies, or query parameters. items: type: string type: array specificHeaderCookieOrParamNameValue: additionalProperties: false description: Contains details about the excepted name-value pair in a request. properties: name: description: The name of the request attribute. type: string selector: description: The request attribute that includes the excepted name-value pair. Either `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, or `REQUEST_HEADERS` for a request header. enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string value: description: The value of the request attribute. type: string required: - name - selector - value type: object specificHeaderCookieOrParamNames: additionalProperties: false description: Contains details about the excepted request attribute name. properties: names: description: The list of request attribute names. items: type: string type: array selector: description: The request attribute that includes the excepted name. Either `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, or `REQUEST_HEADERS` for a request header. enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string required: - names - selector type: object specificHeaderCookieOrParamPrefix: additionalProperties: false description: Contains details about the excepted request attribute name prefix. properties: prefix: description: The request attribute name prefix. type: string selector: description: The request attribute that includes the excepted name prefix. Either `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, or `REQUEST_HEADERS` for a request header. enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string required: - prefix - selector type: object specificHeaderCookieParamXmlOrJsonNames: description: Contains details about the excepted request attribute names. This is only available for attack groups and when advanced exception is not enabled. items: additionalProperties: false properties: names: description: Lists request attribute names, required with several `selector` options. With `wildcard` enabled, `*` represents a sequence and `?` represents any single character. For example, `*` matches any name, and `*session` matches a subset. items: type: string type: array selector: description: 'The request attribute to exclude from inspection. The following selectors require a set of `names`: `ARGS_NAMES`, `ARGS`, `REQUEST_HEADERS_NAMES`, `REQUEST_HEADERS`, `REQUEST_COOKIES_NAMES`, `REQUEST_COOKIES`, `JSON_NAMES`, `JSON_PAIRS`, and `XML_PAIRS`. See [Exception selector values](https://techdocs.akamai.com/application-security/reference/exception-selector-values).' enum: - ARGS_NAMES - ARGS - REQUEST_HEADERS_NAMES - REQUEST_HEADERS - REQUEST_COOKIES_NAMES - REQUEST_COOKIES - JSON_NAMES - JSON_PAIRS - XML_PAIRS - REQUEST_PROTOCOL - REQUEST_METHOD - REQUEST_URI - QUERY_STRING - REQUEST_FILENAME - REQUEST_PATH_SEGMENT - REQUEST_BODY - REQBODY_PROCESSOR_ERROR - FILES_NAMES type: string wildcard: default: false description: Whether you can specify wildcards to flexibly match `names`, either `*` for any set of characters, or `?` for any single character. type: boolean required: - selector type: object type: array type: object x-akamai: file-path: schemas/exception.yaml type: object ruleId: description: The unique identifier for the rule. type: integer ruleName: description: The name of the rule. example: CMD Injection Attack Detected (OS Commands 4) type: string required: - ruleId - ruleName - action type: object minItems: 0 type: array type: object x-akamai: file-path: schemas/waf-policy-ruleset.yaml description: The response provides the security policy rule set. '400': content: application/json: example: detail: The request could not be understood by the server due to malformed syntax. instance: https://problems.luna.akamaiapis.net/appsec/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 status: 400 title: Bad Request type: https://problems.luna.akamaiapis.net/appsec/error-types/BAD-REQUEST schema: additionalProperties: true description: Details the errors you can receive. properties: detail: description: The detailed error message. type: string fieldErrors: description: Pointers to fields for which invalid input was provided, whose values are messages detailing the reason this input was invalid for this field. type: object instance: description: The non-referenceable URI that indicates the error instance. example: https://problems.luna.akamaiapis.net/api-definitions/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 type: string status: description: The HTTP status code. example: 404 type: integer title: description: The error title. example: Not Found type: string type: description: The URL for the error type. example: https://problems.luna.akamaiapis.net/api-definitions/error-types/NOT-FOUND type: string required: - title - type - detail - instance - status type: object x-akamai: file-path: schemas/problem-details.yaml description: '[Invalid](https://techdocs.akamai.com/application-security/reference/400). Client error, such as invalid or malformed input.' x-akamai: file-path: errors/400-client-read-errors.yaml '404': content: application/problem+json: example: detail: The requested resource is not found instance: https://problems.luna.akamaiapis.net/appsec/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 status: 404 title: Not Found type: https://problems.luna.akamaiapis.net/appsec/error-types/NOT-FOUND schema: additionalProperties: true description: Details the errors you can receive. properties: detail: description: The detailed error message. type: string fieldErrors: description: Pointers to fields for which invalid input was provided, whose values are messages detailing the reason this input was invalid for this field. type: object instance: description: The non-referenceable URI that indicates the error instance. example: https://problems.luna.akamaiapis.net/api-definitions/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 type: string status: description: The HTTP status code. example: 404 type: integer title: description: The error title. example: Not Found type: string type: description: The URL for the error type. example: https://problems.luna.akamaiapis.net/api-definitions/error-types/NOT-FOUND type: string required: - title - type - detail - instance - status type: object x-akamai: file-path: schemas/problem-details.yaml description: '[Not found](https://techdocs.akamai.com/application-security/reference/404). The security policy doesn''t exist, doesn''t carry application layer controls, or no rule with this ID is available for use in this policy.' x-akamai: file-path: errors/404-client-read-errors.yaml '500': content: application/problem+json: example: detail: Internal Server Error instance: 12ab3c45-789d-01ef-2gh3-ijk4l56m78no status: 500 title: Internal Server Error type: internal_server_error schema: additionalProperties: true description: Details the errors you can receive. properties: detail: description: The detailed error message. type: string fieldErrors: description: Pointers to fields for which invalid input was provided, whose values are messages detailing the reason this input was invalid for this field. type: object instance: description: The non-referenceable URI that indicates the error instance. example: https://problems.luna.akamaiapis.net/api-definitions/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 type: string status: description: The HTTP status code. example: 404 type: integer title: description: The error title. example: Not Found type: string type: description: The URL for the error type. example: https://problems.luna.akamaiapis.net/api-definitions/error-types/NOT-FOUND type: string required: - title - type - detail - instance - status type: object x-akamai: file-path: schemas/problem-details.yaml description: '[Internal server error](https://techdocs.akamai.com/application-security/reference/500). Something went wrong on our side. Try again in a few minutes or contact support if the error persists.' x-akamai: file-path: errors/500-server-errors.yaml summary: Get a security policy's rule set tags: - 'WAF rules: General settings' x-akamai: labels: - All products patch: description: __All products__ Modify the security policy's rule set including its rule and attack group details. externalDocs: description: See documentation for this operation in Akamai's Application Security API url: https://techdocs.akamai.com/application-security/reference/patch-waf-policy-ruleset-composite operationId: patch-waf-policy-ruleset-composite parameters: - description: For customers who manage more than one account, this [runs the operation from another account](https://techdocs.akamai.com/developer/docs/manage-many-accounts-with-one-api-client). The Identity and Access Management API provides a [list of available account switch keys](https://techdocs.akamai.com/iam-api/reference/get-client-account-switch-keys). in: query name: accountSwitchKey required: false schema: example: 1-5C0YLB:1-8BYUX type: string requestBody: content: application/json: example: attackGroups: - action: alert group: POLICY - action: alert conditionException: {} group: WAT - action: deny conditionException: advancedExceptions: conditionOperator: AND conditions: - extensions: - test12 positiveMatch: true type: extensionMatch - filenames: - test13 positiveMatch: true type: filenameMatch - hosts: - test.hostname.com positiveMatch: true type: hostMatch - ips: - 192.0.2.5 positiveMatch: true type: ipMatch useHeaders: true - caseSensitive: true name: test14 nameCase: true positiveMatch: true type: uriQueryMatch value: test15 wildcard: true - header: Accept positiveMatch: true type: requestHeaderMatch value: test16 valueCase: true valueWildcard: true - methods: - GET positiveMatch: true type: requestMethodMatch - paths: - /test16 positiveMatch: true type: pathMatch - clientLists: - 97813_IPLIST positiveMatch: true type: clientListMatch useHeaders: true headerCookieOrParamValues: - valueWildcard: true values: - test11 specificHeaderCookieParamXmlOrJsonNames: - names: - test3 selector: REQUEST_HEADERS_NAMES wildcard: true - names: - test4 selector: REQUEST_HEADERS wildcard: true - names: - test5 selector: REQUEST_COOKIES_NAMES wildcard: true - names: - test6 selector: REQUEST_COOKIES wildcard: true - names: - test1 selector: ARGS_NAMES wildcard: true - names: - test2 selector: ARGS wildcard: true - names: - test7 selector: JSON_NAMES wildcard: true - names: - test8 selector: JSON_PAIRS wildcard: true - names: - test9 selector: XML_PAIRS wildcard: true - selector: REQUEST_PROTOCOL wildcard: true - selector: REQUEST_METHOD wildcard: true - selector: REQUEST_URI wildcard: true - selector: QUERY_STRING wildcard: true - selector: REQUEST_FILENAME wildcard: true - selector: REQUEST_PATH_SEGMENT wildcard: true - selector: REQUEST_BODY wildcard: true - selector: REQBODY_PROCESSOR_ERROR wildcard: true - selector: FILES_NAMES wildcard: true group: PROTOCOL - action: alert conditionException: {} group: SQL rules: - action: alert conditionException: advancedExceptions: conditionOperator: AND conditions: - extensions: - test12 positiveMatch: true type: extensionMatch - filenames: - test13 positiveMatch: true type: filenameMatch - hosts: - test.hostname.com positiveMatch: true type: hostMatch - ips: - 192.0.2.120 positiveMatch: true type: ipMatch useHeaders: true - caseSensitive: true name: test14 nameCase: true positiveMatch: true type: uriQueryMatch value: test15 wildcard: true - header: Accept positiveMatch: true type: requestHeaderMatch value: test16 valueCase: true valueWildcard: true - methods: - GET positiveMatch: true type: requestMethodMatch - paths: - /test16 positiveMatch: true type: pathMatch - clientLists: - 97813_IPLIST positiveMatch: true type: clientListMatch useHeaders: true headerCookieOrParamValues: - valueWildcard: true values: - test11 specificHeaderCookieParamXmlOrJsonNames: - names: - test3 selector: REQUEST_HEADERS_NAMES wildcard: true - names: - test4 selector: REQUEST_HEADERS wildcard: true - names: - test5 selector: REQUEST_COOKIES_NAMES wildcard: true - names: - test6 selector: REQUEST_COOKIES wildcard: true - names: - test1 selector: ARGS_NAMES wildcard: true - names: - test2 selector: ARGS wildcard: true - names: - test7 selector: JSON_NAMES wildcard: true - names: - test8 selector: JSON_PAIRS wildcard: true - names: - test9 selector: XML_PAIRS wildcard: true - selector: REQUEST_PROTOCOL wildcard: true - selector: REQUEST_METHOD wildcard: true - selector: REQUEST_URI wildcard: true - selector: QUERY_STRING wildcard: true - selector: REQUEST_FILENAME wildcard: true - selector: REQUEST_PATH_SEGMENT wildcard: true - selector: REQUEST_BODY wildcard: true - selector: REQBODY_PROCESSOR_ERROR wildcard: true - selector: FILES_NAMES wildcard: true ruleId: 950002 - action: alert ruleId: 950006 - action: alert conditionException: {} ruleId: 950007 schema: additionalProperties: false description: The PATCH request JSON supports updates to rule and attack group actions and condition exceptions. properties: attackGroups: description: Attack groups in the security policy with their actions and condition exceptions. items: additionalProperties: false properties: action: description: An attack group's action, either `alert`, `deny`, or `none`. Use `deny_custom_{custom_deny_id}` syntax to apply a custom action instead of Akamai's default. pattern: ^(deny|alert|none|deny_custom_\d+)$ type: string conditionException: additionalProperties: false description: An attack group's conditions and exceptions. minProperties: 0 properties: advancedExceptions: additionalProperties: false description: Describes the advanced exception fields that allow you to conditionally exclude requests from inspection. This is only available for attack groups and when the advanced exception feature is enabled. properties: conditionOperator: description: Use `OR` to match any condition, or `AND` to match on all conditions. enum: - OR - AND type: string conditions: description: The list of match conditions. items: additionalProperties: false description: Describes what conditions can be set for an action to occur. properties: caseSensitive: description: Whether to consider the case-sensitivity of the provided query parameter `value`. This only applies to the `uriQueryMatch` condition `type`. type: boolean clientLists: description: The clientLists that trigger the condition. This only applies to the `clientListMatch` condition `type`. items: type: string minItems: 0 type: array extensions: description: The file extensions that trigger the condition. This only applies to the `extensionMatch` condition `type`. items: type: string type: array filenames: description: The filenames that trigger the condition. This only applies to the `filenameMatch` condition `type`. items: type: string type: array header: description: The HTTP header that triggers the condition. This only applies to the `requestHeaderMatch` condition `type`. type: string hosts: description: The hostnames that trigger the condition. This only applies to the `hostMatch` condition `type`. items: type: string type: array ips: description: The IPs that trigger the condition. This only applies to the `ipMatch` condition `type`. items: type: string type: array methods: description: The HTTP request methods that trigger the condition. The possible values are `GET`, `POST`, `HEAD`, `PUT`, `DELETE`, `OPTIONS`, `TRACE`, `CONNECT` and `PATCH`. This only applies to the `requestMethodMatch` condition `type`. items: enum: - GET - POST - HEAD - PUT - DELETE - OPTIONS - TRACE - CONNECT - PATCH type: string type: array name: description: The query parameter name that triggers the condition. This only applies to the `uriQueryMatch` condition `type`. type: string nameCase: description: Whether to consider the case-sensitivity of the provided query parameter `name`. This only applies to the `uriQueryMatch` condition `type`. type: boolean paths: description: The paths that trigger the condition. This only applies to the `pathMatch` condition `type`. items: type: string type: array positiveMatch: description: Whether the condition should trigger on a match (`true`) or a lack of match (`false`). type: boolean type: description: The condition type to match on. See [Export condition type values](https://techdocs.akamai.com/application-security/reference/etval). enum: - hostMatch - pathMatch - filenameMatch - extensionMatch - uriQueryMatch - ipMatch - requestMethodMatch - requestHeaderMatch - clientListMatch type: string useHeaders: description: Whether the condition should include `X-Forwarded-For` (XFF) header. This applies to the `ipMatch` and `clientListMatch` condition `type`. type: boolean value: description: The query parameter value if the condition `type` is `uriQueryMatch` and header value if the condition `type` is `requestHeaderMatch`. This only applies when the condition `type` is `uriQueryMatch` or `requestHeaderMatch`. type: string valueCase: description: Whether to consider the case-sensitivity of the provided header `value`. This only applies to the `requestHeaderMatch` condition `type`. type: boolean valueWildcard: description: Whether the provided header `value` is a wildcard. This only applies to the `requestHeaderMatch` condition `type`. type: boolean wildcard: description: Whether the provided query parameter `value` is a wildcard. This only applies to the `uriQueryMatch` condition `type`. type: boolean required: - type - positiveMatch type: object x-akamai: file-path: schemas/condition.yaml type: array headerCookieOrParamValues: description: The list of excepted values in headers, cookies, or query parameters. items: additionalProperties: false properties: criteria: description: A list of criteria to limit the scope of this exception. items: additionalProperties: false description: The hostname and path criteria to limit the scope of exception. properties: hostnames: description: The list of excepted hostnames. items: type: string type: array names: description: The list of excepted names. items: type: string type: array paths: description: The list of excepted paths. items: type: string type: array values: description: The list of excepted values. items: type: string type: array required: - paths - names - values type: object x-akamai: file-path: schemas/criteria.yaml type: array valueWildcard: default: false description: Whether the provided header `name` is a wildcard. type: boolean values: description: The list of request attribute names. items: type: string type: array required: - values type: object type: array specificHeaderCookieOrParamNameValue: description: Contains details about the excepted name-value pairs in a request. items: additionalProperties: false properties: criteria: description: A list of criteria to limit the scope of this exception. items: additionalProperties: false description: The hostname and path criteria to limit the scope of exception. properties: hostnames: description: The list of excepted hostnames. items: type: string type: array names: description: The list of excepted names. items: type: string type: array paths: description: The list of excepted paths. items: type: string type: array values: description: The list of excepted values. items: type: string type: array required: - paths - names - values type: object x-akamai: file-path: schemas/criteria.yaml type: array namesValues: description: A list of name-value pairs to except. items: additionalProperties: false properties: names: description: The list of request attribute names. items: type: string type: array values: description: The list of request attribute values. items: type: string type: array required: - names type: object type: array selector: description: The request attribute to exclude from inspection. See [Exception selector values](https://techdocs.akamai.com/application-security/reference/exception-selector-values). enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string valueWildcard: default: false description: Whether the provided header `value` is a wildcard. type: boolean wildcard: default: false description: Whether the provided header `name` is a wildcard. type: boolean required: - namesValues - selector type: object type: array specificHeaderCookieParamXmlOrJsonNames: description: Describes the advanced exception fields that allow you to conditionally exclude requests from inspection. This is only available for attack groups and when the advanced exception feature is enabled. items: additionalProperties: false properties: criteria: description: A list of criteria to limit the scope of this exception. items: additionalProperties: false description: The hostname and path criteria to limit the scope of exception. properties: hostnames: description: The list of excepted hostnames. items: type: string type: array names: description: The list of excepted names. items: type: string type: array paths: description: The list of excepted paths. items: type: string type: array values: description: The list of excepted values. items: type: string type: array required: - paths - names - values type: object x-akamai: file-path: schemas/criteria.yaml type: array names: description: The list of request attribute names. items: type: string type: array selector: description: The request attribute to exclude from inspection. See [Exception selector values](https://techdocs.akamai.com/application-security/reference/exception-selector-values). enum: - ARGS_NAMES - ARGS - REQUEST_HEADERS_NAMES - REQUEST_HEADERS - REQUEST_COOKIES_NAMES - REQUEST_COOKIES - JSON_NAMES - JSON_PAIRS - XML_PAIRS - REQUEST_PROTOCOL - REQUEST_METHOD - REQUEST_URI - QUERY_STRING - REQUEST_FILENAME - REQUEST_PATH_SEGMENT - REQUEST_BODY - REQBODY_PROCESSOR_ERROR - FILES_NAMES type: string wildcard: default: false description: Whether the provided header `name` is a wildcard. type: boolean required: - selector type: object type: array type: object x-akamai: file-path: schemas/advanced-exception.yaml conditions: description: The conditions list for an attack group. items: additionalProperties: false description: Describes what conditions can be set for an action to occur. properties: caseSensitive: description: Whether to consider the case-sensitivity of the provided query parameter `value`. This only applies to the `uriQueryMatch` condition `type`. type: boolean clientLists: description: The clientLists that trigger the condition. This only applies to the `clientListMatch` condition `type`. items: type: string minItems: 0 type: array extensions: description: The file extensions that trigger the condition. This only applies to the `extensionMatch` condition `type`. items: type: string type: array filenames: description: The filenames that trigger the condition. This only applies to the `filenameMatch` condition `type`. items: type: string type: array header: description: The HTTP header that triggers the condition. This only applies to the `requestHeaderMatch` condition `type`. type: string hosts: description: The hostnames that trigger the condition. This only applies to the `hostMatch` condition `type`. items: type: string type: array ips: description: The IPs that trigger the condition. This only applies to the `ipMatch` condition `type`. items: type: string type: array methods: description: The HTTP request methods that trigger the condition. The possible values are `GET`, `POST`, `HEAD`, `PUT`, `DELETE`, `OPTIONS`, `TRACE`, `CONNECT` and `PATCH`. This only applies to the `requestMethodMatch` condition `type`. items: enum: - GET - POST - HEAD - PUT - DELETE - OPTIONS - TRACE - CONNECT - PATCH type: string type: array name: description: The query parameter name that triggers the condition. This only applies to the `uriQueryMatch` condition `type`. type: string nameCase: description: Whether to consider the case-sensitivity of the provided query parameter `name`. This only applies to the `uriQueryMatch` condition `type`. type: boolean paths: description: The paths that trigger the condition. This only applies to the `pathMatch` condition `type`. items: type: string type: array positiveMatch: description: Whether the condition should trigger on a match (`true`) or a lack of match (`false`). type: boolean type: description: The condition type to match on. See [Export condition type values](https://techdocs.akamai.com/application-security/reference/etval). enum: - hostMatch - pathMatch - filenameMatch - extensionMatch - uriQueryMatch - ipMatch - requestMethodMatch - requestHeaderMatch - clientListMatch type: string useHeaders: description: Whether the condition should include `X-Forwarded-For` (XFF) header. This applies to the `ipMatch` and `clientListMatch` condition `type`. type: boolean value: description: The query parameter value if the condition `type` is `uriQueryMatch` and header value if the condition `type` is `requestHeaderMatch`. This only applies when the condition `type` is `uriQueryMatch` or `requestHeaderMatch`. type: string valueCase: description: Whether to consider the case-sensitivity of the provided header `value`. This only applies to the `requestHeaderMatch` condition `type`. type: boolean valueWildcard: description: Whether the provided header `value` is a wildcard. This only applies to the `requestHeaderMatch` condition `type`. type: boolean wildcard: description: Whether the provided query parameter `value` is a wildcard. This only applies to the `uriQueryMatch` condition `type`. type: boolean required: - type - positiveMatch type: object x-akamai: file-path: schemas/condition.yaml type: array exception: additionalProperties: false description: Describes the exception fields that allow you to conditionally exclude requests from inspection. properties: anyHeaderCookieOrParam: description: The list of request attributes to treat as rule or attack group exceptions. The possible values are `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, and `REQUEST_HEADERS` for a request header. Use this option if you can't get an exhaustive list of elements to exclude or the list is too large. You can exclude several attributes. items: enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string type: array headerCookieOrParamValues: description: The list of excepted values in headers, cookies, or query parameters. items: type: string type: array specificHeaderCookieOrParamNameValue: additionalProperties: false description: Contains details about the excepted name-value pair in a request. properties: name: description: The name of the request attribute. type: string selector: description: The request attribute that includes the excepted name-value pair. Either `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, or `REQUEST_HEADERS` for a request header. enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string value: description: The value of the request attribute. type: string required: - name - selector - value type: object specificHeaderCookieOrParamNames: additionalProperties: false description: Contains details about the excepted request attribute name. properties: names: description: The list of request attribute names. items: type: string type: array selector: description: The request attribute that includes the excepted name. Either `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, or `REQUEST_HEADERS` for a request header. enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string required: - names - selector type: object specificHeaderCookieOrParamPrefix: additionalProperties: false description: Contains details about the excepted request attribute name prefix. properties: prefix: description: The request attribute name prefix. type: string selector: description: The request attribute that includes the excepted name prefix. Either `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, or `REQUEST_HEADERS` for a request header. enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string required: - prefix - selector type: object specificHeaderCookieParamXmlOrJsonNames: description: Contains details about the excepted request attribute names. This is only available for attack groups and when advanced exception is not enabled. items: additionalProperties: false properties: names: description: Lists request attribute names, required with several `selector` options. With `wildcard` enabled, `*` represents a sequence and `?` represents any single character. For example, `*` matches any name, and `*session` matches a subset. items: type: string type: array selector: description: 'The request attribute to exclude from inspection. The following selectors require a set of `names`: `ARGS_NAMES`, `ARGS`, `REQUEST_HEADERS_NAMES`, `REQUEST_HEADERS`, `REQUEST_COOKIES_NAMES`, `REQUEST_COOKIES`, `JSON_NAMES`, `JSON_PAIRS`, and `XML_PAIRS`. See [Exception selector values](https://techdocs.akamai.com/application-security/reference/exception-selector-values).' enum: - ARGS_NAMES - ARGS - REQUEST_HEADERS_NAMES - REQUEST_HEADERS - REQUEST_COOKIES_NAMES - REQUEST_COOKIES - JSON_NAMES - JSON_PAIRS - XML_PAIRS - REQUEST_PROTOCOL - REQUEST_METHOD - REQUEST_URI - QUERY_STRING - REQUEST_FILENAME - REQUEST_PATH_SEGMENT - REQUEST_BODY - REQBODY_PROCESSOR_ERROR - FILES_NAMES type: string wildcard: default: false description: Whether you can specify wildcards to flexibly match `names`, either `*` for any set of characters, or `?` for any single character. type: boolean required: - selector type: object type: array type: object x-akamai: file-path: schemas/exception.yaml type: object group: description: The attack group's name. type: string required: - group - action type: object minItems: 0 type: array rules: description: The rules in security policy, including the rules' names, actions, and condition exceptions. items: additionalProperties: false properties: action: description: The rule's action, either `alert`, `deny`, or `none`. Use `deny_custom_{custom_deny_id}` syntax to apply a custom action instead of Akamai's default. pattern: ^(deny|alert|none|deny_custom_\d+)$ type: string conditionException: additionalProperties: false description: A rule's conditions and exceptions. minProperties: 0 properties: advancedExceptions: additionalProperties: false description: Describes the advanced exception fields that allow you to conditionally exclude requests from inspection. This is only available for attack groups and when the advanced exception feature is enabled. properties: conditionOperator: description: Use `OR` to match any condition, or `AND` to match on all conditions. enum: - OR - AND type: string conditions: description: The list of match conditions. items: additionalProperties: false description: Describes what conditions can be set for an action to occur. properties: caseSensitive: description: Whether to consider the case-sensitivity of the provided query parameter `value`. This only applies to the `uriQueryMatch` condition `type`. type: boolean clientLists: description: The clientLists that trigger the condition. This only applies to the `clientListMatch` condition `type`. items: type: string minItems: 0 type: array extensions: description: The file extensions that trigger the condition. This only applies to the `extensionMatch` condition `type`. items: type: string type: array filenames: description: The filenames that trigger the condition. This only applies to the `filenameMatch` condition `type`. items: type: string type: array header: description: The HTTP header that triggers the condition. This only applies to the `requestHeaderMatch` condition `type`. type: string hosts: description: The hostnames that trigger the condition. This only applies to the `hostMatch` condition `type`. items: type: string type: array ips: description: The IPs that trigger the condition. This only applies to the `ipMatch` condition `type`. items: type: string type: array methods: description: The HTTP request methods that trigger the condition. The possible values are `GET`, `POST`, `HEAD`, `PUT`, `DELETE`, `OPTIONS`, `TRACE`, `CONNECT` and `PATCH`. This only applies to the `requestMethodMatch` condition `type`. items: enum: - GET - POST - HEAD - PUT - DELETE - OPTIONS - TRACE - CONNECT - PATCH type: string type: array name: description: The query parameter name that triggers the condition. This only applies to the `uriQueryMatch` condition `type`. type: string nameCase: description: Whether to consider the case-sensitivity of the provided query parameter `name`. This only applies to the `uriQueryMatch` condition `type`. type: boolean paths: description: The paths that trigger the condition. This only applies to the `pathMatch` condition `type`. items: type: string type: array positiveMatch: description: Whether the condition should trigger on a match (`true`) or a lack of match (`false`). type: boolean type: description: The condition type to match on. See [Export condition type values](https://techdocs.akamai.com/application-security/reference/etval). enum: - hostMatch - pathMatch - filenameMatch - extensionMatch - uriQueryMatch - ipMatch - requestMethodMatch - requestHeaderMatch - clientListMatch type: string useHeaders: description: Whether the condition should include `X-Forwarded-For` (XFF) header. This applies to the `ipMatch` and `clientListMatch` condition `type`. type: boolean value: description: The query parameter value if the condition `type` is `uriQueryMatch` and header value if the condition `type` is `requestHeaderMatch`. This only applies when the condition `type` is `uriQueryMatch` or `requestHeaderMatch`. type: string valueCase: description: Whether to consider the case-sensitivity of the provided header `value`. This only applies to the `requestHeaderMatch` condition `type`. type: boolean valueWildcard: description: Whether the provided header `value` is a wildcard. This only applies to the `requestHeaderMatch` condition `type`. type: boolean wildcard: description: Whether the provided query parameter `value` is a wildcard. This only applies to the `uriQueryMatch` condition `type`. type: boolean required: - type - positiveMatch type: object x-akamai: file-path: schemas/condition.yaml type: array headerCookieOrParamValues: description: The list of excepted values in headers, cookies, or query parameters. items: additionalProperties: false properties: criteria: description: A list of criteria to limit the scope of this exception. items: additionalProperties: false description: The hostname and path criteria to limit the scope of exception. properties: hostnames: description: The list of excepted hostnames. items: type: string type: array names: description: The list of excepted names. items: type: string type: array paths: description: The list of excepted paths. items: type: string type: array values: description: The list of excepted values. items: type: string type: array required: - paths - names - values type: object x-akamai: file-path: schemas/criteria.yaml type: array valueWildcard: default: false description: Whether the provided header `name` is a wildcard. type: boolean values: description: The list of request attribute names. items: type: string type: array required: - values type: object type: array specificHeaderCookieOrParamNameValue: description: Contains details about the excepted name-value pairs in a request. items: additionalProperties: false properties: criteria: description: A list of criteria to limit the scope of this exception. items: additionalProperties: false description: The hostname and path criteria to limit the scope of exception. properties: hostnames: description: The list of excepted hostnames. items: type: string type: array names: description: The list of excepted names. items: type: string type: array paths: description: The list of excepted paths. items: type: string type: array values: description: The list of excepted values. items: type: string type: array required: - paths - names - values type: object x-akamai: file-path: schemas/criteria.yaml type: array namesValues: description: A list of name-value pairs to except. items: additionalProperties: false properties: names: description: The list of request attribute names. items: type: string type: array values: description: The list of request attribute values. items: type: string type: array required: - names type: object type: array selector: description: The request attribute to exclude from inspection. See [Exception selector values](https://techdocs.akamai.com/application-security/reference/exception-selector-values). enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string valueWildcard: default: false description: Whether the provided header `value` is a wildcard. type: boolean wildcard: default: false description: Whether the provided header `name` is a wildcard. type: boolean required: - namesValues - selector type: object type: array specificHeaderCookieParamXmlOrJsonNames: description: Describes the advanced exception fields that allow you to conditionally exclude requests from inspection. This is only available for attack groups and when the advanced exception feature is enabled. items: additionalProperties: false properties: criteria: description: A list of criteria to limit the scope of this exception. items: additionalProperties: false description: The hostname and path criteria to limit the scope of exception. properties: hostnames: description: The list of excepted hostnames. items: type: string type: array names: description: The list of excepted names. items: type: string type: array paths: description: The list of excepted paths. items: type: string type: array values: description: The list of excepted values. items: type: string type: array required: - paths - names - values type: object x-akamai: file-path: schemas/criteria.yaml type: array names: description: The list of request attribute names. items: type: string type: array selector: description: The request attribute to exclude from inspection. See [Exception selector values](https://techdocs.akamai.com/application-security/reference/exception-selector-values). enum: - ARGS_NAMES - ARGS - REQUEST_HEADERS_NAMES - REQUEST_HEADERS - REQUEST_COOKIES_NAMES - REQUEST_COOKIES - JSON_NAMES - JSON_PAIRS - XML_PAIRS - REQUEST_PROTOCOL - REQUEST_METHOD - REQUEST_URI - QUERY_STRING - REQUEST_FILENAME - REQUEST_PATH_SEGMENT - REQUEST_BODY - REQBODY_PROCESSOR_ERROR - FILES_NAMES type: string wildcard: default: false description: Whether the provided header `name` is a wildcard. type: boolean required: - selector type: object type: array type: object x-akamai: file-path: schemas/advanced-exception.yaml conditions: description: The conditions in a rule. items: additionalProperties: false description: Describes what conditions can be set for an action to occur. properties: caseSensitive: description: Whether to consider the case-sensitivity of the provided query parameter `value`. This only applies to the `uriQueryMatch` condition `type`. type: boolean clientLists: description: The clientLists that trigger the condition. This only applies to the `clientListMatch` condition `type`. items: type: string minItems: 0 type: array extensions: description: The file extensions that trigger the condition. This only applies to the `extensionMatch` condition `type`. items: type: string type: array filenames: description: The filenames that trigger the condition. This only applies to the `filenameMatch` condition `type`. items: type: string type: array header: description: The HTTP header that triggers the condition. This only applies to the `requestHeaderMatch` condition `type`. type: string hosts: description: The hostnames that trigger the condition. This only applies to the `hostMatch` condition `type`. items: type: string type: array ips: description: The IPs that trigger the condition. This only applies to the `ipMatch` condition `type`. items: type: string type: array methods: description: The HTTP request methods that trigger the condition. The possible values are `GET`, `POST`, `HEAD`, `PUT`, `DELETE`, `OPTIONS`, `TRACE`, `CONNECT` and `PATCH`. This only applies to the `requestMethodMatch` condition `type`. items: enum: - GET - POST - HEAD - PUT - DELETE - OPTIONS - TRACE - CONNECT - PATCH type: string type: array name: description: The query parameter name that triggers the condition. This only applies to the `uriQueryMatch` condition `type`. type: string nameCase: description: Whether to consider the case-sensitivity of the provided query parameter `name`. This only applies to the `uriQueryMatch` condition `type`. type: boolean paths: description: The paths that trigger the condition. This only applies to the `pathMatch` condition `type`. items: type: string type: array positiveMatch: description: Whether the condition should trigger on a match (`true`) or a lack of match (`false`). type: boolean type: description: The condition type to match on. See [Export condition type values](https://techdocs.akamai.com/application-security/reference/etval). enum: - hostMatch - pathMatch - filenameMatch - extensionMatch - uriQueryMatch - ipMatch - requestMethodMatch - requestHeaderMatch - clientListMatch type: string useHeaders: description: Whether the condition should include `X-Forwarded-For` (XFF) header. This applies to the `ipMatch` and `clientListMatch` condition `type`. type: boolean value: description: The query parameter value if the condition `type` is `uriQueryMatch` and header value if the condition `type` is `requestHeaderMatch`. This only applies when the condition `type` is `uriQueryMatch` or `requestHeaderMatch`. type: string valueCase: description: Whether to consider the case-sensitivity of the provided header `value`. This only applies to the `requestHeaderMatch` condition `type`. type: boolean valueWildcard: description: Whether the provided header `value` is a wildcard. This only applies to the `requestHeaderMatch` condition `type`. type: boolean wildcard: description: Whether the provided query parameter `value` is a wildcard. This only applies to the `uriQueryMatch` condition `type`. type: boolean required: - type - positiveMatch type: object x-akamai: file-path: schemas/condition.yaml type: array exception: additionalProperties: false description: Describes the exception fields that allow you to conditionally exclude requests from inspection. properties: anyHeaderCookieOrParam: description: The list of request attributes to treat as rule or attack group exceptions. The possible values are `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, and `REQUEST_HEADERS` for a request header. Use this option if you can't get an exhaustive list of elements to exclude or the list is too large. You can exclude several attributes. items: enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string type: array headerCookieOrParamValues: description: The list of excepted values in headers, cookies, or query parameters. items: type: string type: array specificHeaderCookieOrParamNameValue: additionalProperties: false description: Contains details about the excepted name-value pair in a request. properties: name: description: The name of the request attribute. type: string selector: description: The request attribute that includes the excepted name-value pair. Either `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, or `REQUEST_HEADERS` for a request header. enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string value: description: The value of the request attribute. type: string required: - name - selector - value type: object specificHeaderCookieOrParamNames: additionalProperties: false description: Contains details about the excepted request attribute name. properties: names: description: The list of request attribute names. items: type: string type: array selector: description: The request attribute that includes the excepted name. Either `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, or `REQUEST_HEADERS` for a request header. enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string required: - names - selector type: object specificHeaderCookieOrParamPrefix: additionalProperties: false description: Contains details about the excepted request attribute name prefix. properties: prefix: description: The request attribute name prefix. type: string selector: description: The request attribute that includes the excepted name prefix. Either `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, or `REQUEST_HEADERS` for a request header. enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string required: - prefix - selector type: object specificHeaderCookieParamXmlOrJsonNames: description: Contains details about the excepted request attribute names. This is only available for attack groups and when advanced exception is not enabled. items: additionalProperties: false properties: names: description: Lists request attribute names, required with several `selector` options. With `wildcard` enabled, `*` represents a sequence and `?` represents any single character. For example, `*` matches any name, and `*session` matches a subset. items: type: string type: array selector: description: 'The request attribute to exclude from inspection. The following selectors require a set of `names`: `ARGS_NAMES`, `ARGS`, `REQUEST_HEADERS_NAMES`, `REQUEST_HEADERS`, `REQUEST_COOKIES_NAMES`, `REQUEST_COOKIES`, `JSON_NAMES`, `JSON_PAIRS`, and `XML_PAIRS`. See [Exception selector values](https://techdocs.akamai.com/application-security/reference/exception-selector-values).' enum: - ARGS_NAMES - ARGS - REQUEST_HEADERS_NAMES - REQUEST_HEADERS - REQUEST_COOKIES_NAMES - REQUEST_COOKIES - JSON_NAMES - JSON_PAIRS - XML_PAIRS - REQUEST_PROTOCOL - REQUEST_METHOD - REQUEST_URI - QUERY_STRING - REQUEST_FILENAME - REQUEST_PATH_SEGMENT - REQUEST_BODY - REQBODY_PROCESSOR_ERROR - FILES_NAMES type: string wildcard: default: false description: Whether you can specify wildcards to flexibly match `names`, either `*` for any set of characters, or `?` for any single character. type: boolean required: - selector type: object type: array type: object x-akamai: file-path: schemas/exception.yaml type: object ruleId: description: Uniquely identifies a rule. type: integer required: - ruleId - action type: object minItems: 0 type: array type: object x-akamai: file-path: schemas/waf-policy-ruleset-patch.yaml required: true responses: '200': content: application/json: example: adaptiveIntelligence: threatIntelEnabled: true attackGroups: - action: alert conditionException: {} group: POLICY - action: alert conditionException: {} group: WAT - action: deny conditionException: advancedExceptions: conditionOperator: AND conditions: - extensions: - test12 positiveMatch: true type: extensionMatch - filenames: - test13 positiveMatch: true type: filenameMatch - hosts: - test.hostname.com positiveMatch: true type: hostMatch - ips: - 192.0.2.225 positiveMatch: true type: ipMatch useHeaders: true - caseSensitive: true name: test14 nameCase: true positiveMatch: true type: uriQueryMatch value: test15 wildcard: true - header: Accept positiveMatch: true type: requestHeaderMatch value: test16 valueCase: true valueWildcard: true - methods: - GET positiveMatch: true type: requestMethodMatch - paths: - /test16 positiveMatch: true type: pathMatch - clientLists: - 97813_IPLIST positiveMatch: true type: clientListMatch useHeaders: true headerCookieOrParamValues: - valueWildcard: true values: - test11 specificHeaderCookieParamXmlOrJsonNames: - names: - test3 selector: REQUEST_HEADERS_NAMES wildcard: true - names: - test4 selector: REQUEST_HEADERS wildcard: true - names: - test5 selector: REQUEST_COOKIES_NAMES wildcard: true - names: - test6 selector: REQUEST_COOKIES wildcard: true - names: - test1 selector: ARGS_NAMES wildcard: true - names: - test2 selector: ARGS wildcard: true - names: - test7 selector: JSON_NAMES wildcard: true - names: - test8 selector: JSON_PAIRS wildcard: true - names: - test9 selector: XML_PAIRS wildcard: true - selector: REQUEST_PROTOCOL wildcard: true - selector: REQUEST_METHOD wildcard: true - selector: REQUEST_URI wildcard: true - selector: QUERY_STRING wildcard: true - selector: REQUEST_FILENAME wildcard: true - selector: REQUEST_PATH_SEGMENT wildcard: true - selector: REQUEST_BODY wildcard: true - selector: REQBODY_PROCESSOR_ERROR wildcard: true - selector: FILES_NAMES wildcard: true group: PROTOCOL - action: alert conditionException: {} group: SQL - action: alert conditionException: {} group: XSS - action: alert conditionException: {} group: LFI - action: alert conditionException: {} group: RFI - action: alert conditionException: {} group: PLATFORM - action: none conditionException: {} group: OUTBOUND - action: none conditionException: {} group: CMD ruleSetInfo: ruleSetVersion: 1 rules: - action: alert conditionException: advancedExceptions: conditionOperator: AND conditions: - extensions: - test12 positiveMatch: true type: extensionMatch - filenames: - test13 positiveMatch: true type: filenameMatch - hosts: - test.hostname.com positiveMatch: true type: hostMatch - ips: - 192.0.2.242 positiveMatch: true type: ipMatch useHeaders: true - caseSensitive: true name: test14 nameCase: true positiveMatch: true type: uriQueryMatch value: test15 wildcard: true - header: Accept positiveMatch: true type: requestHeaderMatch value: test16 valueCase: true valueWildcard: true - methods: - GET positiveMatch: true type: requestMethodMatch - paths: - /test16 positiveMatch: true type: pathMatch - clientLists: - 97813_IPLIST positiveMatch: true type: clientListMatch useHeaders: true headerCookieOrParamValues: - valueWildcard: true values: - test11 specificHeaderCookieParamXmlOrJsonNames: - names: - test3 selector: REQUEST_HEADERS_NAMES wildcard: true - names: - test4 selector: REQUEST_HEADERS wildcard: true - names: - test5 selector: REQUEST_COOKIES_NAMES wildcard: true - names: - test6 selector: REQUEST_COOKIES wildcard: true - names: - test1 selector: ARGS_NAMES wildcard: true - names: - test2 selector: ARGS wildcard: true - names: - test7 selector: JSON_NAMES wildcard: true - names: - test8 selector: JSON_PAIRS wildcard: true - names: - test9 selector: XML_PAIRS wildcard: true - selector: REQUEST_PROTOCOL wildcard: true - selector: REQUEST_METHOD wildcard: true - selector: REQUEST_URI wildcard: true - selector: QUERY_STRING wildcard: true - selector: REQUEST_FILENAME wildcard: true - selector: REQUEST_PATH_SEGMENT wildcard: true - selector: REQUEST_BODY wildcard: true - selector: REQBODY_PROCESSOR_ERROR wildcard: true - selector: FILES_NAMES wildcard: true ruleId: 950002 ruleName: CMD Injection Attack Detected (OS Commands 4) - action: alert conditionException: {} ruleId: 950006 ruleName: CMD Injection Attack Detected (OS Commands 5) - action: alert conditionException: {} ruleId: 950007 ruleName: SQL Injection Attack (Blind Testing) - action: none conditionException: {} ruleId: 950011 ruleName: Server-Side Include (SSI) Attack - action: alert conditionException: {} ruleId: 950118 ruleName: Remote File Inclusion Attack (Common PHP RFI Attacks) - action: alert conditionException: {} ruleId: 950203 ruleName: Local File Inclusion (LFI) Attack (Directory Traversal and Obfuscation Attempts) - action: alert conditionException: {} ruleId: 950204 ruleName: Local File Inclusion (LFI) Attack (Directory Traversal and Obfuscation Attempts) - action: alert conditionException: {} ruleId: 950216 ruleName: Unicode Full/Half Width Abuse Attack Attempt - action: alert conditionException: {} ruleId: 950220 ruleName: Possible URL Redirector Abuse (Off-Domain URL) - action: alert conditionException: {} ruleId: 950902 ruleName: SQL Injection Attack (Tautology Probes 1) - action: alert conditionException: {} ruleId: 951910 ruleName: HTTP Response Splitting Attack (Header Injection) - action: alert conditionException: {} ruleId: 958003 ruleName: Cross-site Scripting (XSS) Attack (Fromcharcode Detected) - action: alert conditionException: {} ruleId: 958008 ruleName: Cross-site Scripting (XSS) Attack (HTML INPUT IMAGE Tag) - action: alert conditionException: {} ruleId: 958023 ruleName: Cross-site Scripting (XSS) Attack (Javascript URL Protocol Handler with "lowsrc" Attribute) - action: alert conditionException: {} ruleId: 958034 ruleName: Cross-site Scripting (XSS) Attack (Style Attribute with 'expression' Keyword) - action: alert conditionException: {} ruleId: 958051 ruleName: Cross-site Scripting (XSS) Attack (Script Tag) - action: alert conditionException: {} ruleId: 3000065 ruleName: Apache Struts Remote Command Execution (Deserialization Attack) - action: alert conditionException: {} ruleId: 3000072 ruleName: Deserialization Attack Detected - action: alert conditionException: {} ruleId: 3000080 ruleName: Cross-site Scripting (XSS) Attack (Attribute Injection 1) - action: alert conditionException: {} ruleId: 3000081 ruleName: Cross-site Scripting (XSS) Attack (Attribute Injection 2) - action: alert conditionException: {} ruleId: 3000100 ruleName: SQL Injection Attack (SmartDetect) - action: alert conditionException: {} ruleId: 3000101 ruleName: SQL Injection Attack (Common SQL Database Probes) - action: alert conditionException: {} ruleId: 3000102 ruleName: SQL Injection Attack (Null Byte Detected) - action: alert conditionException: {} ruleId: 3000103 ruleName: SQL Injection Attack (NoSQL Injection) - action: alert conditionException: {} ruleId: 3000104 ruleName: SQL Injection Attack (NoSQL Injection) - action: alert conditionException: {} ruleId: 3000105 ruleName: NOSQL Operator Injection Detected - action: alert conditionException: {} ruleId: 3000108 ruleName: Pandora / DirtJumper DDoS Detection - HTTP GET Attacks - action: alert conditionException: {} ruleId: 3000109 ruleName: Ruby on Rails YAML Injection Attack - action: alert conditionException: {} ruleId: 3000110 ruleName: Cross-site Scripting (XSS) Attack (SmartDetect) - action: alert conditionException: {} ruleId: 3000111 ruleName: Cross-site Scripting (XSS) Attack (Common PoC Probes 1) - action: alert conditionException: {} ruleId: 3000112 ruleName: Cross-site Scripting (XSS) Attack (Common PoC Probes 2) - action: alert conditionException: {} ruleId: 3000113 ruleName: Cross-site Scripting (XSS) Attack (Javascript Mixed Case Obfuscation) - action: none conditionException: {} ruleId: 99999900 ruleName: DDoSia Toolkit DETECTED schema: additionalProperties: false description: Includes security policy rule set information such as the version, threat intelligence settings, and rule and attack group details with name, action, and condition exceptions. properties: adaptiveIntelligence: additionalProperties: false description: Settings for adaptive threat intelligence. properties: threatIntelEnabled: description: Enables adaptive threat intelligence. type: boolean required: - threatIntelEnabled type: object attackGroups: description: The security policy's attack groups with their actions and condition exceptions. items: additionalProperties: false properties: action: description: The action set for the attack group, either `alert`, `deny`, or `none`. Use `deny_custom_{custom_deny_id}` syntax to apply a custom action instead of Akamai's default. pattern: ^(deny|alert|none|deny_custom_\d+)$ type: string conditionException: additionalProperties: false description: An attack group's conditions and exceptions. minProperties: 0 properties: advancedExceptions: additionalProperties: false description: Describes the advanced exception fields that allow you to conditionally exclude requests from inspection. This is only available for attack groups and when the advanced exception feature is enabled. properties: conditionOperator: description: Use `OR` to match any condition, or `AND` to match on all conditions. enum: - OR - AND type: string conditions: description: The list of match conditions. items: additionalProperties: false description: Describes what conditions can be set for an action to occur. properties: caseSensitive: description: Whether to consider the case-sensitivity of the provided query parameter `value`. This only applies to the `uriQueryMatch` condition `type`. type: boolean clientLists: description: The clientLists that trigger the condition. This only applies to the `clientListMatch` condition `type`. items: type: string minItems: 0 type: array extensions: description: The file extensions that trigger the condition. This only applies to the `extensionMatch` condition `type`. items: type: string type: array filenames: description: The filenames that trigger the condition. This only applies to the `filenameMatch` condition `type`. items: type: string type: array header: description: The HTTP header that triggers the condition. This only applies to the `requestHeaderMatch` condition `type`. type: string hosts: description: The hostnames that trigger the condition. This only applies to the `hostMatch` condition `type`. items: type: string type: array ips: description: The IPs that trigger the condition. This only applies to the `ipMatch` condition `type`. items: type: string type: array methods: description: The HTTP request methods that trigger the condition. The possible values are `GET`, `POST`, `HEAD`, `PUT`, `DELETE`, `OPTIONS`, `TRACE`, `CONNECT` and `PATCH`. This only applies to the `requestMethodMatch` condition `type`. items: enum: - GET - POST - HEAD - PUT - DELETE - OPTIONS - TRACE - CONNECT - PATCH type: string type: array name: description: The query parameter name that triggers the condition. This only applies to the `uriQueryMatch` condition `type`. type: string nameCase: description: Whether to consider the case-sensitivity of the provided query parameter `name`. This only applies to the `uriQueryMatch` condition `type`. type: boolean paths: description: The paths that trigger the condition. This only applies to the `pathMatch` condition `type`. items: type: string type: array positiveMatch: description: Whether the condition should trigger on a match (`true`) or a lack of match (`false`). type: boolean type: description: The condition type to match on. See [Export condition type values](https://techdocs.akamai.com/application-security/reference/etval). enum: - hostMatch - pathMatch - filenameMatch - extensionMatch - uriQueryMatch - ipMatch - requestMethodMatch - requestHeaderMatch - clientListMatch type: string useHeaders: description: Whether the condition should include `X-Forwarded-For` (XFF) header. This applies to the `ipMatch` and `clientListMatch` condition `type`. type: boolean value: description: The query parameter value if the condition `type` is `uriQueryMatch` and header value if the condition `type` is `requestHeaderMatch`. This only applies when the condition `type` is `uriQueryMatch` or `requestHeaderMatch`. type: string valueCase: description: Whether to consider the case-sensitivity of the provided header `value`. This only applies to the `requestHeaderMatch` condition `type`. type: boolean valueWildcard: description: Whether the provided header `value` is a wildcard. This only applies to the `requestHeaderMatch` condition `type`. type: boolean wildcard: description: Whether the provided query parameter `value` is a wildcard. This only applies to the `uriQueryMatch` condition `type`. type: boolean required: - type - positiveMatch type: object x-akamai: file-path: schemas/condition.yaml type: array headerCookieOrParamValues: description: The list of excepted values in headers, cookies, or query parameters. items: additionalProperties: false properties: criteria: description: A list of criteria to limit the scope of this exception. items: additionalProperties: false description: The hostname and path criteria to limit the scope of exception. properties: hostnames: description: The list of excepted hostnames. items: type: string type: array names: description: The list of excepted names. items: type: string type: array paths: description: The list of excepted paths. items: type: string type: array values: description: The list of excepted values. items: type: string type: array required: - paths - names - values type: object x-akamai: file-path: schemas/criteria.yaml type: array valueWildcard: default: false description: Whether the provided header `name` is a wildcard. type: boolean values: description: The list of request attribute names. items: type: string type: array required: - values type: object type: array specificHeaderCookieOrParamNameValue: description: Contains details about the excepted name-value pairs in a request. items: additionalProperties: false properties: criteria: description: A list of criteria to limit the scope of this exception. items: additionalProperties: false description: The hostname and path criteria to limit the scope of exception. properties: hostnames: description: The list of excepted hostnames. items: type: string type: array names: description: The list of excepted names. items: type: string type: array paths: description: The list of excepted paths. items: type: string type: array values: description: The list of excepted values. items: type: string type: array required: - paths - names - values type: object x-akamai: file-path: schemas/criteria.yaml type: array namesValues: description: A list of name-value pairs to except. items: additionalProperties: false properties: names: description: The list of request attribute names. items: type: string type: array values: description: The list of request attribute values. items: type: string type: array required: - names type: object type: array selector: description: The request attribute to exclude from inspection. See [Exception selector values](https://techdocs.akamai.com/application-security/reference/exception-selector-values). enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string valueWildcard: default: false description: Whether the provided header `value` is a wildcard. type: boolean wildcard: default: false description: Whether the provided header `name` is a wildcard. type: boolean required: - namesValues - selector type: object type: array specificHeaderCookieParamXmlOrJsonNames: description: Describes the advanced exception fields that allow you to conditionally exclude requests from inspection. This is only available for attack groups and when the advanced exception feature is enabled. items: additionalProperties: false properties: criteria: description: A list of criteria to limit the scope of this exception. items: additionalProperties: false description: The hostname and path criteria to limit the scope of exception. properties: hostnames: description: The list of excepted hostnames. items: type: string type: array names: description: The list of excepted names. items: type: string type: array paths: description: The list of excepted paths. items: type: string type: array values: description: The list of excepted values. items: type: string type: array required: - paths - names - values type: object x-akamai: file-path: schemas/criteria.yaml type: array names: description: The list of request attribute names. items: type: string type: array selector: description: The request attribute to exclude from inspection. See [Exception selector values](https://techdocs.akamai.com/application-security/reference/exception-selector-values). enum: - ARGS_NAMES - ARGS - REQUEST_HEADERS_NAMES - REQUEST_HEADERS - REQUEST_COOKIES_NAMES - REQUEST_COOKIES - JSON_NAMES - JSON_PAIRS - XML_PAIRS - REQUEST_PROTOCOL - REQUEST_METHOD - REQUEST_URI - QUERY_STRING - REQUEST_FILENAME - REQUEST_PATH_SEGMENT - REQUEST_BODY - REQBODY_PROCESSOR_ERROR - FILES_NAMES type: string wildcard: default: false description: Whether the provided header `name` is a wildcard. type: boolean required: - selector type: object type: array type: object x-akamai: file-path: schemas/advanced-exception.yaml conditions: description: The attack group's conditions. When met, rules _aren't_ applied to the traffic. items: additionalProperties: false description: Describes what conditions can be set for an action to occur. properties: caseSensitive: description: Whether to consider the case-sensitivity of the provided query parameter `value`. This only applies to the `uriQueryMatch` condition `type`. type: boolean clientLists: description: The clientLists that trigger the condition. This only applies to the `clientListMatch` condition `type`. items: type: string minItems: 0 type: array extensions: description: The file extensions that trigger the condition. This only applies to the `extensionMatch` condition `type`. items: type: string type: array filenames: description: The filenames that trigger the condition. This only applies to the `filenameMatch` condition `type`. items: type: string type: array header: description: The HTTP header that triggers the condition. This only applies to the `requestHeaderMatch` condition `type`. type: string hosts: description: The hostnames that trigger the condition. This only applies to the `hostMatch` condition `type`. items: type: string type: array ips: description: The IPs that trigger the condition. This only applies to the `ipMatch` condition `type`. items: type: string type: array methods: description: The HTTP request methods that trigger the condition. The possible values are `GET`, `POST`, `HEAD`, `PUT`, `DELETE`, `OPTIONS`, `TRACE`, `CONNECT` and `PATCH`. This only applies to the `requestMethodMatch` condition `type`. items: enum: - GET - POST - HEAD - PUT - DELETE - OPTIONS - TRACE - CONNECT - PATCH type: string type: array name: description: The query parameter name that triggers the condition. This only applies to the `uriQueryMatch` condition `type`. type: string nameCase: description: Whether to consider the case-sensitivity of the provided query parameter `name`. This only applies to the `uriQueryMatch` condition `type`. type: boolean paths: description: The paths that trigger the condition. This only applies to the `pathMatch` condition `type`. items: type: string type: array positiveMatch: description: Whether the condition should trigger on a match (`true`) or a lack of match (`false`). type: boolean type: description: The condition type to match on. See [Export condition type values](https://techdocs.akamai.com/application-security/reference/etval). enum: - hostMatch - pathMatch - filenameMatch - extensionMatch - uriQueryMatch - ipMatch - requestMethodMatch - requestHeaderMatch - clientListMatch type: string useHeaders: description: Whether the condition should include `X-Forwarded-For` (XFF) header. This applies to the `ipMatch` and `clientListMatch` condition `type`. type: boolean value: description: The query parameter value if the condition `type` is `uriQueryMatch` and header value if the condition `type` is `requestHeaderMatch`. This only applies when the condition `type` is `uriQueryMatch` or `requestHeaderMatch`. type: string valueCase: description: Whether to consider the case-sensitivity of the provided header `value`. This only applies to the `requestHeaderMatch` condition `type`. type: boolean valueWildcard: description: Whether the provided header `value` is a wildcard. This only applies to the `requestHeaderMatch` condition `type`. type: boolean wildcard: description: Whether the provided query parameter `value` is a wildcard. This only applies to the `uriQueryMatch` condition `type`. type: boolean required: - type - positiveMatch type: object x-akamai: file-path: schemas/condition.yaml type: array exception: additionalProperties: false description: Describes the exception fields that allow you to conditionally exclude requests from inspection. properties: anyHeaderCookieOrParam: description: The list of request attributes to treat as rule or attack group exceptions. The possible values are `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, and `REQUEST_HEADERS` for a request header. Use this option if you can't get an exhaustive list of elements to exclude or the list is too large. You can exclude several attributes. items: enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string type: array headerCookieOrParamValues: description: The list of excepted values in headers, cookies, or query parameters. items: type: string type: array specificHeaderCookieOrParamNameValue: additionalProperties: false description: Contains details about the excepted name-value pair in a request. properties: name: description: The name of the request attribute. type: string selector: description: The request attribute that includes the excepted name-value pair. Either `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, or `REQUEST_HEADERS` for a request header. enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string value: description: The value of the request attribute. type: string required: - name - selector - value type: object specificHeaderCookieOrParamNames: additionalProperties: false description: Contains details about the excepted request attribute name. properties: names: description: The list of request attribute names. items: type: string type: array selector: description: The request attribute that includes the excepted name. Either `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, or `REQUEST_HEADERS` for a request header. enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string required: - names - selector type: object specificHeaderCookieOrParamPrefix: additionalProperties: false description: Contains details about the excepted request attribute name prefix. properties: prefix: description: The request attribute name prefix. type: string selector: description: The request attribute that includes the excepted name prefix. Either `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, or `REQUEST_HEADERS` for a request header. enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string required: - prefix - selector type: object specificHeaderCookieParamXmlOrJsonNames: description: Contains details about the excepted request attribute names. This is only available for attack groups and when advanced exception is not enabled. items: additionalProperties: false properties: names: description: Lists request attribute names, required with several `selector` options. With `wildcard` enabled, `*` represents a sequence and `?` represents any single character. For example, `*` matches any name, and `*session` matches a subset. items: type: string type: array selector: description: 'The request attribute to exclude from inspection. The following selectors require a set of `names`: `ARGS_NAMES`, `ARGS`, `REQUEST_HEADERS_NAMES`, `REQUEST_HEADERS`, `REQUEST_COOKIES_NAMES`, `REQUEST_COOKIES`, `JSON_NAMES`, `JSON_PAIRS`, and `XML_PAIRS`. See [Exception selector values](https://techdocs.akamai.com/application-security/reference/exception-selector-values).' enum: - ARGS_NAMES - ARGS - REQUEST_HEADERS_NAMES - REQUEST_HEADERS - REQUEST_COOKIES_NAMES - REQUEST_COOKIES - JSON_NAMES - JSON_PAIRS - XML_PAIRS - REQUEST_PROTOCOL - REQUEST_METHOD - REQUEST_URI - QUERY_STRING - REQUEST_FILENAME - REQUEST_PATH_SEGMENT - REQUEST_BODY - REQBODY_PROCESSOR_ERROR - FILES_NAMES type: string wildcard: default: false description: Whether you can specify wildcards to flexibly match `names`, either `*` for any set of characters, or `?` for any single character. type: boolean required: - selector type: object type: array type: object x-akamai: file-path: schemas/exception.yaml type: object group: description: The attack group's name. type: string required: - group - action type: object minItems: 0 type: array ruleSetInfo: additionalProperties: false description: Details about the rule set applied to the security policy. properties: ruleSetVersion: description: The version of the rule set. type: number required: - ruleSetVersion type: object rules: description: A web application firewall rule's name, action, and condition exceptions. items: additionalProperties: false properties: action: description: The action of a rule, either `alert`, `deny`, or `none`. Use `deny_custom_{custom_deny_id}` syntax to apply a custom action instead of Akamai's default. pattern: ^(deny|alert|none|deny_custom_\d+)$ type: string conditionException: additionalProperties: false description: the conditions and exceptions of a rule. minProperties: 0 properties: advancedExceptions: additionalProperties: false description: Describes the advanced exception fields that allow you to conditionally exclude requests from inspection. This is only available for attack groups and when the advanced exception feature is enabled. properties: conditionOperator: description: Use `OR` to match any condition, or `AND` to match on all conditions. enum: - OR - AND type: string conditions: description: The list of match conditions. items: additionalProperties: false description: Describes what conditions can be set for an action to occur. properties: caseSensitive: description: Whether to consider the case-sensitivity of the provided query parameter `value`. This only applies to the `uriQueryMatch` condition `type`. type: boolean clientLists: description: The clientLists that trigger the condition. This only applies to the `clientListMatch` condition `type`. items: type: string minItems: 0 type: array extensions: description: The file extensions that trigger the condition. This only applies to the `extensionMatch` condition `type`. items: type: string type: array filenames: description: The filenames that trigger the condition. This only applies to the `filenameMatch` condition `type`. items: type: string type: array header: description: The HTTP header that triggers the condition. This only applies to the `requestHeaderMatch` condition `type`. type: string hosts: description: The hostnames that trigger the condition. This only applies to the `hostMatch` condition `type`. items: type: string type: array ips: description: The IPs that trigger the condition. This only applies to the `ipMatch` condition `type`. items: type: string type: array methods: description: The HTTP request methods that trigger the condition. The possible values are `GET`, `POST`, `HEAD`, `PUT`, `DELETE`, `OPTIONS`, `TRACE`, `CONNECT` and `PATCH`. This only applies to the `requestMethodMatch` condition `type`. items: enum: - GET - POST - HEAD - PUT - DELETE - OPTIONS - TRACE - CONNECT - PATCH type: string type: array name: description: The query parameter name that triggers the condition. This only applies to the `uriQueryMatch` condition `type`. type: string nameCase: description: Whether to consider the case-sensitivity of the provided query parameter `name`. This only applies to the `uriQueryMatch` condition `type`. type: boolean paths: description: The paths that trigger the condition. This only applies to the `pathMatch` condition `type`. items: type: string type: array positiveMatch: description: Whether the condition should trigger on a match (`true`) or a lack of match (`false`). type: boolean type: description: The condition type to match on. See [Export condition type values](https://techdocs.akamai.com/application-security/reference/etval). enum: - hostMatch - pathMatch - filenameMatch - extensionMatch - uriQueryMatch - ipMatch - requestMethodMatch - requestHeaderMatch - clientListMatch type: string useHeaders: description: Whether the condition should include `X-Forwarded-For` (XFF) header. This applies to the `ipMatch` and `clientListMatch` condition `type`. type: boolean value: description: The query parameter value if the condition `type` is `uriQueryMatch` and header value if the condition `type` is `requestHeaderMatch`. This only applies when the condition `type` is `uriQueryMatch` or `requestHeaderMatch`. type: string valueCase: description: Whether to consider the case-sensitivity of the provided header `value`. This only applies to the `requestHeaderMatch` condition `type`. type: boolean valueWildcard: description: Whether the provided header `value` is a wildcard. This only applies to the `requestHeaderMatch` condition `type`. type: boolean wildcard: description: Whether the provided query parameter `value` is a wildcard. This only applies to the `uriQueryMatch` condition `type`. type: boolean required: - type - positiveMatch type: object x-akamai: file-path: schemas/condition.yaml type: array headerCookieOrParamValues: description: The list of excepted values in headers, cookies, or query parameters. items: additionalProperties: false properties: criteria: description: A list of criteria to limit the scope of this exception. items: additionalProperties: false description: The hostname and path criteria to limit the scope of exception. properties: hostnames: description: The list of excepted hostnames. items: type: string type: array names: description: The list of excepted names. items: type: string type: array paths: description: The list of excepted paths. items: type: string type: array values: description: The list of excepted values. items: type: string type: array required: - paths - names - values type: object x-akamai: file-path: schemas/criteria.yaml type: array valueWildcard: default: false description: Whether the provided header `name` is a wildcard. type: boolean values: description: The list of request attribute names. items: type: string type: array required: - values type: object type: array specificHeaderCookieOrParamNameValue: description: Contains details about the excepted name-value pairs in a request. items: additionalProperties: false properties: criteria: description: A list of criteria to limit the scope of this exception. items: additionalProperties: false description: The hostname and path criteria to limit the scope of exception. properties: hostnames: description: The list of excepted hostnames. items: type: string type: array names: description: The list of excepted names. items: type: string type: array paths: description: The list of excepted paths. items: type: string type: array values: description: The list of excepted values. items: type: string type: array required: - paths - names - values type: object x-akamai: file-path: schemas/criteria.yaml type: array namesValues: description: A list of name-value pairs to except. items: additionalProperties: false properties: names: description: The list of request attribute names. items: type: string type: array values: description: The list of request attribute values. items: type: string type: array required: - names type: object type: array selector: description: The request attribute to exclude from inspection. See [Exception selector values](https://techdocs.akamai.com/application-security/reference/exception-selector-values). enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string valueWildcard: default: false description: Whether the provided header `value` is a wildcard. type: boolean wildcard: default: false description: Whether the provided header `name` is a wildcard. type: boolean required: - namesValues - selector type: object type: array specificHeaderCookieParamXmlOrJsonNames: description: Describes the advanced exception fields that allow you to conditionally exclude requests from inspection. This is only available for attack groups and when the advanced exception feature is enabled. items: additionalProperties: false properties: criteria: description: A list of criteria to limit the scope of this exception. items: additionalProperties: false description: The hostname and path criteria to limit the scope of exception. properties: hostnames: description: The list of excepted hostnames. items: type: string type: array names: description: The list of excepted names. items: type: string type: array paths: description: The list of excepted paths. items: type: string type: array values: description: The list of excepted values. items: type: string type: array required: - paths - names - values type: object x-akamai: file-path: schemas/criteria.yaml type: array names: description: The list of request attribute names. items: type: string type: array selector: description: The request attribute to exclude from inspection. See [Exception selector values](https://techdocs.akamai.com/application-security/reference/exception-selector-values). enum: - ARGS_NAMES - ARGS - REQUEST_HEADERS_NAMES - REQUEST_HEADERS - REQUEST_COOKIES_NAMES - REQUEST_COOKIES - JSON_NAMES - JSON_PAIRS - XML_PAIRS - REQUEST_PROTOCOL - REQUEST_METHOD - REQUEST_URI - QUERY_STRING - REQUEST_FILENAME - REQUEST_PATH_SEGMENT - REQUEST_BODY - REQBODY_PROCESSOR_ERROR - FILES_NAMES type: string wildcard: default: false description: Whether the provided header `name` is a wildcard. type: boolean required: - selector type: object type: array type: object x-akamai: file-path: schemas/advanced-exception.yaml conditions: description: The rule's conditions. When met, the action is not applied to the traffic. items: additionalProperties: false description: Describes what conditions can be set for an action to occur. properties: caseSensitive: description: Whether to consider the case-sensitivity of the provided query parameter `value`. This only applies to the `uriQueryMatch` condition `type`. type: boolean clientLists: description: The clientLists that trigger the condition. This only applies to the `clientListMatch` condition `type`. items: type: string minItems: 0 type: array extensions: description: The file extensions that trigger the condition. This only applies to the `extensionMatch` condition `type`. items: type: string type: array filenames: description: The filenames that trigger the condition. This only applies to the `filenameMatch` condition `type`. items: type: string type: array header: description: The HTTP header that triggers the condition. This only applies to the `requestHeaderMatch` condition `type`. type: string hosts: description: The hostnames that trigger the condition. This only applies to the `hostMatch` condition `type`. items: type: string type: array ips: description: The IPs that trigger the condition. This only applies to the `ipMatch` condition `type`. items: type: string type: array methods: description: The HTTP request methods that trigger the condition. The possible values are `GET`, `POST`, `HEAD`, `PUT`, `DELETE`, `OPTIONS`, `TRACE`, `CONNECT` and `PATCH`. This only applies to the `requestMethodMatch` condition `type`. items: enum: - GET - POST - HEAD - PUT - DELETE - OPTIONS - TRACE - CONNECT - PATCH type: string type: array name: description: The query parameter name that triggers the condition. This only applies to the `uriQueryMatch` condition `type`. type: string nameCase: description: Whether to consider the case-sensitivity of the provided query parameter `name`. This only applies to the `uriQueryMatch` condition `type`. type: boolean paths: description: The paths that trigger the condition. This only applies to the `pathMatch` condition `type`. items: type: string type: array positiveMatch: description: Whether the condition should trigger on a match (`true`) or a lack of match (`false`). type: boolean type: description: The condition type to match on. See [Export condition type values](https://techdocs.akamai.com/application-security/reference/etval). enum: - hostMatch - pathMatch - filenameMatch - extensionMatch - uriQueryMatch - ipMatch - requestMethodMatch - requestHeaderMatch - clientListMatch type: string useHeaders: description: Whether the condition should include `X-Forwarded-For` (XFF) header. This applies to the `ipMatch` and `clientListMatch` condition `type`. type: boolean value: description: The query parameter value if the condition `type` is `uriQueryMatch` and header value if the condition `type` is `requestHeaderMatch`. This only applies when the condition `type` is `uriQueryMatch` or `requestHeaderMatch`. type: string valueCase: description: Whether to consider the case-sensitivity of the provided header `value`. This only applies to the `requestHeaderMatch` condition `type`. type: boolean valueWildcard: description: Whether the provided header `value` is a wildcard. This only applies to the `requestHeaderMatch` condition `type`. type: boolean wildcard: description: Whether the provided query parameter `value` is a wildcard. This only applies to the `uriQueryMatch` condition `type`. type: boolean required: - type - positiveMatch type: object x-akamai: file-path: schemas/condition.yaml type: array exception: additionalProperties: false description: Describes the exception fields that allow you to conditionally exclude requests from inspection. properties: anyHeaderCookieOrParam: description: The list of request attributes to treat as rule or attack group exceptions. The possible values are `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, and `REQUEST_HEADERS` for a request header. Use this option if you can't get an exhaustive list of elements to exclude or the list is too large. You can exclude several attributes. items: enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string type: array headerCookieOrParamValues: description: The list of excepted values in headers, cookies, or query parameters. items: type: string type: array specificHeaderCookieOrParamNameValue: additionalProperties: false description: Contains details about the excepted name-value pair in a request. properties: name: description: The name of the request attribute. type: string selector: description: The request attribute that includes the excepted name-value pair. Either `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, or `REQUEST_HEADERS` for a request header. enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string value: description: The value of the request attribute. type: string required: - name - selector - value type: object specificHeaderCookieOrParamNames: additionalProperties: false description: Contains details about the excepted request attribute name. properties: names: description: The list of request attribute names. items: type: string type: array selector: description: The request attribute that includes the excepted name. Either `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, or `REQUEST_HEADERS` for a request header. enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string required: - names - selector type: object specificHeaderCookieOrParamPrefix: additionalProperties: false description: Contains details about the excepted request attribute name prefix. properties: prefix: description: The request attribute name prefix. type: string selector: description: The request attribute that includes the excepted name prefix. Either `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, or `REQUEST_HEADERS` for a request header. enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string required: - prefix - selector type: object specificHeaderCookieParamXmlOrJsonNames: description: Contains details about the excepted request attribute names. This is only available for attack groups and when advanced exception is not enabled. items: additionalProperties: false properties: names: description: Lists request attribute names, required with several `selector` options. With `wildcard` enabled, `*` represents a sequence and `?` represents any single character. For example, `*` matches any name, and `*session` matches a subset. items: type: string type: array selector: description: 'The request attribute to exclude from inspection. The following selectors require a set of `names`: `ARGS_NAMES`, `ARGS`, `REQUEST_HEADERS_NAMES`, `REQUEST_HEADERS`, `REQUEST_COOKIES_NAMES`, `REQUEST_COOKIES`, `JSON_NAMES`, `JSON_PAIRS`, and `XML_PAIRS`. See [Exception selector values](https://techdocs.akamai.com/application-security/reference/exception-selector-values).' enum: - ARGS_NAMES - ARGS - REQUEST_HEADERS_NAMES - REQUEST_HEADERS - REQUEST_COOKIES_NAMES - REQUEST_COOKIES - JSON_NAMES - JSON_PAIRS - XML_PAIRS - REQUEST_PROTOCOL - REQUEST_METHOD - REQUEST_URI - QUERY_STRING - REQUEST_FILENAME - REQUEST_PATH_SEGMENT - REQUEST_BODY - REQBODY_PROCESSOR_ERROR - FILES_NAMES type: string wildcard: default: false description: Whether you can specify wildcards to flexibly match `names`, either `*` for any set of characters, or `?` for any single character. type: boolean required: - selector type: object type: array type: object x-akamai: file-path: schemas/exception.yaml type: object ruleId: description: The unique identifier for the rule. type: integer ruleName: description: The name of the rule. example: CMD Injection Attack Detected (OS Commands 4) type: string required: - ruleId - ruleName - action type: object minItems: 0 type: array type: object x-akamai: file-path: schemas/waf-policy-ruleset.yaml description: Successfully updated security policy ruleset information. '400': content: application/json: example: detail: The request could not be understood by the server due to malformed syntax. instance: https://problems.luna.akamaiapis.net/appsec/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 status: 400 title: Bad Request type: https://problems.luna.akamaiapis.net/appsec/error-types/BAD-REQUEST schema: additionalProperties: true description: Details the errors you can receive. properties: detail: description: The detailed error message. type: string fieldErrors: description: Pointers to fields for which invalid input was provided, whose values are messages detailing the reason this input was invalid for this field. type: object instance: description: The non-referenceable URI that indicates the error instance. example: https://problems.luna.akamaiapis.net/api-definitions/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 type: string status: description: The HTTP status code. example: 404 type: integer title: description: The error title. example: Not Found type: string type: description: The URL for the error type. example: https://problems.luna.akamaiapis.net/api-definitions/error-types/NOT-FOUND type: string required: - title - type - detail - instance - status type: object x-akamai: file-path: schemas/problem-details.yaml description: '[Invalid](https://techdocs.akamai.com/application-security/reference/400). Client error, such as invalid or malformed input.' x-akamai: file-path: errors/400-client-read-errors.yaml '404': content: application/problem+json: example: detail: The requested resource is not found instance: https://problems.luna.akamaiapis.net/appsec/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 status: 404 title: Not Found type: https://problems.luna.akamaiapis.net/appsec/error-types/NOT-FOUND schema: additionalProperties: true description: Details the errors you can receive. properties: detail: description: The detailed error message. type: string fieldErrors: description: Pointers to fields for which invalid input was provided, whose values are messages detailing the reason this input was invalid for this field. type: object instance: description: The non-referenceable URI that indicates the error instance. example: https://problems.luna.akamaiapis.net/api-definitions/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 type: string status: description: The HTTP status code. example: 404 type: integer title: description: The error title. example: Not Found type: string type: description: The URL for the error type. example: https://problems.luna.akamaiapis.net/api-definitions/error-types/NOT-FOUND type: string required: - title - type - detail - instance - status type: object x-akamai: file-path: schemas/problem-details.yaml description: '[Not found](https://techdocs.akamai.com/application-security/reference/404). The security policy doesn''t exist, doesn''t carry application layer controls, or no rule with this ID is available for use in this policy.' x-akamai: file-path: errors/404-client-read-errors.yaml '500': content: application/problem+json: example: detail: Internal Server Error instance: 12ab3c45-789d-01ef-2gh3-ijk4l56m78no status: 500 title: Internal Server Error type: internal_server_error schema: additionalProperties: true description: Details the errors you can receive. properties: detail: description: The detailed error message. type: string fieldErrors: description: Pointers to fields for which invalid input was provided, whose values are messages detailing the reason this input was invalid for this field. type: object instance: description: The non-referenceable URI that indicates the error instance. example: https://problems.luna.akamaiapis.net/api-definitions/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 type: string status: description: The HTTP status code. example: 404 type: integer title: description: The error title. example: Not Found type: string type: description: The URL for the error type. example: https://problems.luna.akamaiapis.net/api-definitions/error-types/NOT-FOUND type: string required: - title - type - detail - instance - status type: object x-akamai: file-path: schemas/problem-details.yaml description: '[Internal server error](https://techdocs.akamai.com/application-security/reference/500). Something went wrong on our side. Try again in a few minutes or contact support if the error persists.' x-akamai: file-path: errors/500-server-errors.yaml summary: Modify a security policy's rule set tags: - 'WAF rules: General settings' x-akamai: labels: - All products externalDocs: description: See documentation for Akamai's API Endpoint Definition API url: https://techdocs.akamai.com/api-definitions/reference x-readme: samples-languages: - curl - python - node