openapi: 3.0.0 info: description: 'Manage your configurations for Kona Site Defender, Web Application Protector, and Client Reputation. ' license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0.html title: 'Akamai: Application Security Activation history WAF rules: General settings API' version: v1 servers: - url: https://{hostname}/appsec/v1 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. example: '{{configId}}' 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. example: '{{versionNumber}}' 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. example: '{{policyId}}' 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: 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. _Products:_ Kona Site Defender, App & API Protector with the Advanced Security module. 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). example: '{{accountSwitchKey}}' 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 members 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: additionalProperties: description: Fields that provide additional details about the problem. type: string 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: additionalProperties: description: Fields that provide additional details about the problem. type: string 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 named 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: additionalProperties: description: Fields that provide additional details about the problem. type: string 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, and contact support if the error persists.' x-akamai: file-path: errors/500-server-errors.yaml summary: Akamai API Security List Rules tags: - 'WAF rules: General settings' put: description: '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. _Products:_ Kona Site Defender, App & API Protector with the Advanced Security module, Adaptive Security Engine. 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). example: '{{accountSwitchKey}}' in: query name: accountSwitchKey required: false schema: example: 1-5C0YLB:1-8BYUX type: string requestBody: content: application/json: example: upgrade: true schema: type: string x-akamai: file-path: schemas/rules-put.yaml required: true responses: '200': content: application/json: example: current: KRS 1.0 (Apr 20, 2020) eval: disabled 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. type: boolean 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: additionalProperties: description: Fields that provide additional details about the problem. type: string 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: additionalProperties: description: Fields that provide additional details about the problem. type: string 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: additionalProperties: description: Fields that provide additional details about the problem. type: string 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 named 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: additionalProperties: description: Fields that provide additional details about the problem. type: string 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, and contact support if the error persists.' x-akamai: file-path: errors/500-server-errors.yaml summary: Akamai API Security Upgrade KRS Ruleset tags: - 'WAF rules: General settings' /configs/{configId}/versions/{versionNumber}/security-policies/{policyId}/rules/threat-intel: parameters: - description: A unique identifier for each configuration. example: '{{configId}}' 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. example: '{{versionNumber}}' 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. example: '{{policyId}}' 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}/rules/threat-intel get: description: __Beta__ 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. _Products:_ All. 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). example: '{{accountSwitchKey}}' 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: action: 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: additionalProperties: description: Fields that provide additional details about the problem. type: string 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: additionalProperties: description: Fields that provide additional details about the problem. type: string 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 named 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: additionalProperties: description: Fields that provide additional details about the problem. type: string 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, and contact support if the error persists.' x-akamai: file-path: errors/500-server-errors.yaml summary: Akamai API Security Get Adaptive Intelligence Settings tags: - 'WAF rules: General settings' x-akamai: status: BETA put: description: __Beta__ 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. _Products:_ All. 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). example: '{{accountSwitchKey}}' 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: action: 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' example: '{{action}}' 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: action: 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: additionalProperties: description: Fields that provide additional details about the problem. type: string 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: additionalProperties: description: Fields that provide additional details about the problem. type: string 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 named 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: additionalProperties: description: Fields that provide additional details about the problem. type: string 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, and contact support if the error persists.' x-akamai: file-path: errors/500-server-errors.yaml summary: Akamai API Security Modify Adaptive Intelligence Settings tags: - 'WAF rules: General settings' x-akamai: status: BETA /configs/{configId}/versions/{versionNumber}/security-policies/{policyId}/rules/upgrade-details: parameters: - description: A unique identifier for each configuration. example: '{{configId}}' 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. example: '{{versionNumber}}' 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. example: '{{policyId}}' 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: 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. _Products:_ Kona Site Defender, App & API Protector with the Advanced Security module. 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). example: '{{accountSwitchKey}}' in: query name: accountSwitchKey required: false schema: example: 1-5C0YLB:1-8BYUX type: string responses: '200': content: application/json: example: EvalToEvalUpdates: deletedAttackGroups: - group: SQL groupName: SQL Injection newAttackGroups: - group: CMD groupName: Command Injection - group: XSS groupName: Cross Site Scripting (XSS) newRules: - id: 3000090 title: 'Cross-site Scripting (XSS) Attack: Attribute Injection' KRSToEvalUpdates: deletedAttackGroups: - group: SQL groupName: SQL Injection 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 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 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) current: KRS 1.0 (Apr 20, 2020) evaluating: KRS 1.0 (Mar 15, 2020) 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 members 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 members 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 members 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 members 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 members 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 members 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 members 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 members 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 members 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 members 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 members 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 members 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 members 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 members 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 members 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 members 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 members 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 members 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: additionalProperties: description: Fields that provide additional details about the problem. type: string 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: additionalProperties: description: Fields that provide additional details about the problem. type: string 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 named 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: additionalProperties: description: Fields that provide additional details about the problem. type: string 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, and contact support if the error persists.' x-akamai: file-path: errors/500-server-errors.yaml summary: Akamai API Security Get Upgrade Details tags: - 'WAF rules: General settings' /configs/{configId}/versions/{versionNumber}/security-policies/{policyId}/rules/{ruleId}: parameters: - description: A unique identifier for each configuration. example: '{{configId}}' 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. example: '{{versionNumber}}' 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. example: '{{policyId}}' 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. example: '{{ruleId}}' 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: 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. _Products:_ Kona Site Defender, App & API Protector with the Advanced Security module. 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). example: '{{accountSwitchKey}}' 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: additionalProperties: description: Fields that provide additional details about the problem. type: string 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: additionalProperties: description: Fields that provide additional details about the problem. type: string 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 named 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: additionalProperties: description: Fields that provide additional details about the problem. type: string 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, and contact support if the error persists.' x-akamai: file-path: errors/500-server-errors.yaml summary: Akamai API Security Get the Action for a Rule tags: - 'WAF rules: General settings' put: description: 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. _Products:_ Kona Site Defender, App & API Protector with the Advanced Security module. 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). example: '{{accountSwitchKey}}' 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 example: '{{action}}' 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: additionalProperties: description: Fields that provide additional details about the problem. type: string 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: additionalProperties: description: Fields that provide additional details about the problem. type: string 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: additionalProperties: description: Fields that provide additional details about the problem. type: string 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 named 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: additionalProperties: description: Fields that provide additional details about the problem. type: string 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, and contact support if the error persists.' x-akamai: file-path: errors/500-server-errors.yaml summary: Akamai API Security Modify the Action for a Rule tags: - 'WAF rules: General settings' /configs/{configId}/versions/{versionNumber}/security-policies/{policyId}/rules/{ruleId}/condition-exception: parameters: - description: A unique identifier for each configuration. example: '{{configId}}' 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. example: '{{versionNumber}}' 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. example: '{{policyId}}' 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. example: '{{ruleId}}' 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: List a KRS rule's conditions and exceptions. _Products:_ Kona Site Defender, App & API Protector with the Advanced Security module. 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). example: '{{accountSwitchKey}}' 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 specificHeaderCookieOrParamNames: - names: - test selector: REQUEST_HEADERS - names: - test selector: REQUEST_COOKIES - names: - test selector: ARGS - names: - test selector: JSON_PAIRS - names: - test selector: XML_PAIRS schema: additionalProperties: false description: The GET Response JSON for conditions and exceptions. properties: advancedExceptions: additionalProperties: false description: Describes the advanced exception members 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 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 members 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 members 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: additionalProperties: description: Fields that provide additional details about the problem. type: string 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: additionalProperties: description: Fields that provide additional details about the problem. type: string 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 named 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: additionalProperties: description: Fields that provide additional details about the problem. type: string 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, and contact support if the error persists.' x-akamai: file-path: errors/500-server-errors.yaml summary: Akamai API Security Get the Conditions and Exceptions of a Rule tags: - 'WAF rules: General settings' put: description: 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. _Products:_ Kona Site Defender, App & API Protector with the Advanced Security module. 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). example: '{{accountSwitchKey}}' 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 specificHeaderCookieOrParamNames: - names: - test selector: REQUEST_HEADERS - names: - test selector: REQUEST_COOKIES - names: - test selector: ARGS - names: - test selector: JSON_PAIRS - names: - test selector: XML_PAIRS 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 members 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 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 members 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 members 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 specificHeaderCookieOrParamNames: - names: - test selector: REQUEST_HEADERS - names: - test selector: REQUEST_COOKIES - names: - test selector: ARGS - names: - test selector: JSON_PAIRS - names: - test selector: XML_PAIRS schema: additionalProperties: false description: The PUT Response JSON for conditions and exceptions. properties: advancedExceptions: additionalProperties: false description: Describes the advanced exception members 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 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 members 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 members 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: additionalProperties: description: Fields that provide additional details about the problem. type: string 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: additionalProperties: description: Fields that provide additional details about the problem. type: string 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: additionalProperties: description: Fields that provide additional details about the problem. type: string 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 named 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: additionalProperties: description: Fields that provide additional details about the problem. type: string 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, and contact support if the error persists.' x-akamai: file-path: errors/500-server-errors.yaml summary: Akamai API Security Modify the Conditions and Exceptions of a Rule tags: - 'WAF rules: General settings' externalDocs: description: See documentation for Akamai's Application Security API url: https://techdocs.akamai.com/application-security/reference x-readme: samples-languages: - curl - python - node