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 Security policy: Conditions and exceptions API' version: v1 servers: - url: https://{hostname}/appsec/v1 tags: - description: 'Manage the attack groups and rules that you''re currently evaluating for your security policies.' name: 'Security policy: Conditions and exceptions' paths: /configs/{configId}/versions/{versionNumber}/security-policies/{policyId}/eval-groups/{attackGroupId}/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 each attack group. example: '{{attackGroupId}}' in: path name: attackGroupId required: true schema: example: CMD type: string x-akamai: file-path: parameters/attack-group-id-path.yaml x-akamai: file-path: paths/policy-eval-group-condition-exception.yaml path-info: /configs/{configId}/versions/{versionNumber}/security-policies/{policyId}/eval-groups/{attackGroupId}/condition-exception get: description: List an attack group's exceptions. _Products:_ All. externalDocs: description: See documentation for this operation in Akamai's Application Security API url: https://techdocs.akamai.com/application-security/reference/get-eval-group-condition-exception operationId: get-eval-group-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: - filenames: - '*.aspx' - '*.js' positiveMatch: true type: filenameMatch - paths: - /catalog positiveMatch: true type: pathMatch - clientLists: - 88330_TESTIP1 positiveMatch: true type: clientListMatch useHeaders: true headerCookieOrParamValues: - valueWildcard: true values: - header1 - cookie1 - param1 specificHeaderCookieOrParamNameValue: - namesValues: - names: - header1 values: - value1 selector: REQUEST_HEADERS wildcard: true - namesValues: - names: - param-name values: - param-value selector: ARGS wildcard: true - namesValues: - names: - json-param1 values: - json-value1 selector: JSON_PAIRS wildcard: true - namesValues: - names: - cookie-name values: - cookie1 selector: REQUEST_COOKIES wildcard: true specificHeaderCookieParamXmlOrJsonNames: - criteria: - hostnames: - www.host.com paths: - /* selector: REQUEST_HEADERS_NAMES wildcard: true - criteria: - hostnames: - ALL names: - header1 paths: - /orders names: - header2 selector: REQUEST_HEADERS wildcard: false - criteria: - hostnames: - ALL paths: - /* selector: ARGS_NAMES wildcard: true - names: - param-name selector: ARGS wildcard: true - names: - '*' selector: JSON_NAMES wildcard: true - names: - json1 selector: JSON_PAIRS wildcard: true - names: - connect.sid selector: REQUEST_COOKIES_NAMES wildcard: false - names: - cookie1 - cookie2 selector: REQUEST_COOKIES wildcard: true - selector: REQUEST_BODY wildcard: true - selector: REQBODY_PROCESSOR_ERROR wildcard: true - selector: FILES_NAMES wildcard: true - selector: REQUEST_PROTOCOL wildcard: true - selector: REQUEST_METHOD wildcard: true - selector: REQUEST_URI wildcard: true - selector: QUERY_STRING wildcard: true - selector: REQUEST_FILENAME wildcard: true - selector: REQUEST_PATH_SEGMENT wildcard: true 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 evaluation attack group 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 Exceptions of an Evaluation Attack Group tags: - 'Security policy: Conditions and exceptions' put: description: Update an evaluation attack group exceptions. _Products:_ All. externalDocs: description: See documentation for this operation in Akamai's Application Security API url: https://techdocs.akamai.com/application-security/reference/put-eval-group-condition-exception operationId: put-eval-group-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: exception: specificHeaderCookieParamXmlOrJsonNames: - names: - '*' selector: REQUEST_HEADERS_NAMES wildcard: true - names: - header2 - header1 selector: REQUEST_HEADERS wildcard: false - names: - connect.sid selector: REQUEST_COOKIES_NAMES wildcard: false - names: - cookie1 - cookie2 selector: REQUEST_COOKIES wildcard: true - names: - test* selector: ARGS_NAMES wildcard: true - names: - param-name selector: ARGS wildcard: true - names: - test* selector: JSON_NAMES wildcard: true - names: - json1 selector: JSON_PAIRS wildcard: true - selector: REQUEST_PROTOCOL wildcard: true - selector: REQUEST_METHOD wildcard: true - selector: REQUEST_URI wildcard: true - selector: QUERY_STRING wildcard: true - selector: REQUEST_FILENAME wildcard: true - selector: REQUEST_PATH_SEGMENT wildcard: true - selector: REQUEST_BODY wildcard: true - selector: REQBODY_PROCESSOR_ERROR wildcard: true - selector: FILES_NAMES wildcard: true 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: exception: specificHeaderCookieParamXmlOrJsonNames: - names: - '*' selector: REQUEST_HEADERS_NAMES wildcard: true - names: - header2 - header1 selector: REQUEST_HEADERS wildcard: false - names: - connect.sid selector: REQUEST_COOKIES_NAMES wildcard: false - names: - cookie1 - cookie2 selector: REQUEST_COOKIES wildcard: true - names: - test* selector: ARGS_NAMES wildcard: true - names: - param-name selector: ARGS wildcard: true - names: - test* selector: JSON_NAMES wildcard: true - names: - json1 selector: JSON_PAIRS wildcard: true - selector: REQUEST_PROTOCOL wildcard: true - selector: REQUEST_METHOD wildcard: true - selector: REQUEST_URI wildcard: true - selector: QUERY_STRING wildcard: true - selector: REQUEST_FILENAME wildcard: true - selector: REQUEST_PATH_SEGMENT wildcard: true - selector: REQUEST_BODY wildcard: true - selector: REQBODY_PROCESSOR_ERROR wildcard: true - selector: FILES_NAMES wildcard: true 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 exceptions of an evaluation attack group. '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 Exceptions of an Evaluation Attack Group tags: - 'Security policy: Conditions and exceptions' /configs/{configId}/versions/{versionNumber}/security-policies/{policyId}/eval-rules/{ruleId}/condition-exception: parameters: - 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 - 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 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 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 x-akamai: file-path: paths/policy-eval-rule-condition-exception.yaml path-info: /configs/{configId}/versions/{versionNumber}/security-policies/{policyId}/eval-rules/{ruleId}/condition-exception get: description: List the conditions and exceptions for a rule you want to evaluate. This operation returns the same object type as other condition and exception operations. Keep in mind that the response for this operation applies to the rules you're evaluating even though the concept of conditions and exceptions is the same for all condition exception endpoints. _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-condition-exception operationId: get-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 eval conditions and exceptions. properties: conditions: description: The conditions list of a rule or attack group. items: additionalProperties: false description: Describes what conditions can be set for an action to occur. properties: caseSensitive: description: Whether to consider the case-sensitivity of the provided query parameter `value`. This only applies to the `uriQueryMatch` condition `type`. type: boolean clientLists: description: The clientLists that trigger the condition. This only applies to the `clientListMatch` condition `type`. items: type: string minItems: 0 type: array extensions: description: The file extensions that trigger the condition. This only applies to the `extensionMatch` condition `type`. items: type: string type: array filenames: description: The filenames that trigger the condition. This only applies to the `filenameMatch` condition `type`. items: type: string type: array header: description: The HTTP header that triggers the condition. This only applies to the `requestHeaderMatch` condition `type`. type: string hosts: description: The hostnames that trigger the condition. This only applies to the `hostMatch` condition `type`. items: type: string type: array ips: description: The IPs that trigger the condition. This only applies to the `ipMatch` condition `type`. items: type: string type: array methods: description: The HTTP request methods that trigger the condition. The possible values are `GET`, `POST`, `HEAD`, `PUT`, `DELETE`, `OPTIONS`, `TRACE`, `CONNECT` and `PATCH`. This only applies to the `requestMethodMatch` condition `type`. items: enum: - GET - POST - HEAD - PUT - DELETE - OPTIONS - TRACE - CONNECT - PATCH type: string type: array name: description: The query parameter name that triggers the condition. This only applies to the `uriQueryMatch` condition `type`. type: string nameCase: description: Whether to consider the case-sensitivity of the provided query parameter `name`. This only applies to the `uriQueryMatch` condition `type`. type: boolean paths: description: The paths that trigger the condition. This only applies to the `pathMatch` condition `type`. items: type: string type: array positiveMatch: description: Whether the condition should trigger on a match (`true`) or a lack of match (`false`). type: boolean type: description: The condition type to match on. See [Export condition type values](https://techdocs.akamai.com/application-security/reference/etval). enum: - hostMatch - pathMatch - filenameMatch - extensionMatch - uriQueryMatch - ipMatch - requestMethodMatch - requestHeaderMatch - clientListMatch type: string useHeaders: description: Whether the condition should include `X-Forwarded-For` (XFF) header. This applies to the `ipMatch` and `clientListMatch` condition `type`. type: boolean value: description: The query parameter value if the condition `type` is `uriQueryMatch` and header value if the condition `type` is `requestHeaderMatch`. This only applies when the condition `type` is `uriQueryMatch` or `requestHeaderMatch`. type: string valueCase: description: Whether to consider the case-sensitivity of the provided header `value`. This only applies to the `requestHeaderMatch` condition `type`. type: boolean valueWildcard: description: Whether the provided header `value` is a wildcard. This only applies to the `requestHeaderMatch` condition `type`. type: boolean wildcard: description: Whether the provided query parameter `value` is a wildcard. This only applies to the `uriQueryMatch` condition `type`. type: boolean required: - type - positiveMatch type: object x-akamai: file-path: schemas/condition.yaml type: array exception: additionalProperties: false description: Describes the exception 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/eval-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 for an Evaluation Rule tags: - 'Security policy: Conditions and exceptions' put: description: Update an evaluation rule's conditions and exceptions. When the conditions are met, the rule's actions are ignored and not applied to that specific traffic. The rule action you update with this operation is for a rule you are evaluating and not a rule currently in use for your site or app. _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-condition-exception operationId: put-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: The PUT Request JSON for eval 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 or attack group. items: additionalProperties: false description: Describes what conditions can be set for an action to occur. properties: caseSensitive: description: Whether to consider the case-sensitivity of the provided query parameter `value`. This only applies to the `uriQueryMatch` condition `type`. type: boolean clientLists: description: The clientLists that trigger the condition. This only applies to the `clientListMatch` condition `type`. items: type: string minItems: 0 type: array extensions: description: The file extensions that trigger the condition. This only applies to the `extensionMatch` condition `type`. items: type: string type: array filenames: description: The filenames that trigger the condition. This only applies to the `filenameMatch` condition `type`. items: type: string type: array header: description: The HTTP header that triggers the condition. This only applies to the `requestHeaderMatch` condition `type`. type: string hosts: description: The hostnames that trigger the condition. This only applies to the `hostMatch` condition `type`. items: type: string type: array ips: description: The IPs that trigger the condition. This only applies to the `ipMatch` condition `type`. items: type: string type: array methods: description: The HTTP request methods that trigger the condition. The possible values are `GET`, `POST`, `HEAD`, `PUT`, `DELETE`, `OPTIONS`, `TRACE`, `CONNECT` and `PATCH`. This only applies to the `requestMethodMatch` condition `type`. items: enum: - GET - POST - HEAD - PUT - DELETE - OPTIONS - TRACE - CONNECT - PATCH type: string type: array name: description: The query parameter name that triggers the condition. This only applies to the `uriQueryMatch` condition `type`. type: string nameCase: description: Whether to consider the case-sensitivity of the provided query parameter `name`. This only applies to the `uriQueryMatch` condition `type`. type: boolean paths: description: The paths that trigger the condition. This only applies to the `pathMatch` condition `type`. items: type: string type: array positiveMatch: description: Whether the condition should trigger on a match (`true`) or a lack of match (`false`). type: boolean type: description: The condition type to match on. See [Export condition type values](https://techdocs.akamai.com/application-security/reference/etval). enum: - hostMatch - pathMatch - filenameMatch - extensionMatch - uriQueryMatch - ipMatch - requestMethodMatch - requestHeaderMatch - clientListMatch type: string useHeaders: description: Whether the condition should include `X-Forwarded-For` (XFF) header. This applies to the `ipMatch` and `clientListMatch` condition `type`. type: boolean value: description: The query parameter value if the condition `type` is `uriQueryMatch` and header value if the condition `type` is `requestHeaderMatch`. This only applies when the condition `type` is `uriQueryMatch` or `requestHeaderMatch`. type: string valueCase: description: Whether to consider the case-sensitivity of the provided header `value`. This only applies to the `requestHeaderMatch` condition `type`. type: boolean valueWildcard: description: Whether the provided header `value` is a wildcard. This only applies to the `requestHeaderMatch` condition `type`. type: boolean wildcard: description: Whether the provided query parameter `value` is a wildcard. This only applies to the `uriQueryMatch` condition `type`. type: boolean required: - type - positiveMatch type: object x-akamai: file-path: schemas/condition.yaml type: array exception: additionalProperties: false description: Describes the exception 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 required: - conditions - exception type: object x-akamai: file-path: schemas/eval-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 eval 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 or attack group. items: additionalProperties: false description: Describes what conditions can be set for an action to occur. properties: caseSensitive: description: Whether to consider the case-sensitivity of the provided query parameter `value`. This only applies to the `uriQueryMatch` condition `type`. type: boolean clientLists: description: The clientLists that trigger the condition. This only applies to the `clientListMatch` condition `type`. items: type: string minItems: 0 type: array extensions: description: The file extensions that trigger the condition. This only applies to the `extensionMatch` condition `type`. items: type: string type: array filenames: description: The filenames that trigger the condition. This only applies to the `filenameMatch` condition `type`. items: type: string type: array header: description: The HTTP header that triggers the condition. This only applies to the `requestHeaderMatch` condition `type`. type: string hosts: description: The hostnames that trigger the condition. This only applies to the `hostMatch` condition `type`. items: type: string type: array ips: description: The IPs that trigger the condition. This only applies to the `ipMatch` condition `type`. items: type: string type: array methods: description: The HTTP request methods that trigger the condition. The possible values are `GET`, `POST`, `HEAD`, `PUT`, `DELETE`, `OPTIONS`, `TRACE`, `CONNECT` and `PATCH`. This only applies to the `requestMethodMatch` condition `type`. items: enum: - GET - POST - HEAD - PUT - DELETE - OPTIONS - TRACE - CONNECT - PATCH type: string type: array name: description: The query parameter name that triggers the condition. This only applies to the `uriQueryMatch` condition `type`. type: string nameCase: description: Whether to consider the case-sensitivity of the provided query parameter `name`. This only applies to the `uriQueryMatch` condition `type`. type: boolean paths: description: The paths that trigger the condition. This only applies to the `pathMatch` condition `type`. items: type: string type: array positiveMatch: description: Whether the condition should trigger on a match (`true`) or a lack of match (`false`). type: boolean type: description: The condition type to match on. See [Export condition type values](https://techdocs.akamai.com/application-security/reference/etval). enum: - hostMatch - pathMatch - filenameMatch - extensionMatch - uriQueryMatch - ipMatch - requestMethodMatch - requestHeaderMatch - clientListMatch type: string useHeaders: description: Whether the condition should include `X-Forwarded-For` (XFF) header. This applies to the `ipMatch` and `clientListMatch` condition `type`. type: boolean value: description: The query parameter value if the condition `type` is `uriQueryMatch` and header value if the condition `type` is `requestHeaderMatch`. This only applies when the condition `type` is `uriQueryMatch` or `requestHeaderMatch`. type: string valueCase: description: Whether to consider the case-sensitivity of the provided header `value`. This only applies to the `requestHeaderMatch` condition `type`. type: boolean valueWildcard: description: Whether the provided header `value` is a wildcard. This only applies to the `requestHeaderMatch` condition `type`. type: boolean wildcard: description: Whether the provided query parameter `value` is a wildcard. This only applies to the `uriQueryMatch` condition `type`. type: boolean required: - type - positiveMatch type: object x-akamai: file-path: schemas/condition.yaml type: array exception: additionalProperties: false description: Describes the exception 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 required: - conditions - exception type: object x-akamai: file-path: schemas/eval-condition-exception-put-200.yaml description: Successfully updated the conditions and exceptions of the 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 for an Evaluation Rule tags: - 'Security policy: Conditions and exceptions' 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